DPDK patches and discussions
 help / color / mirror / Atom feed
From: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com>
To: dev@dpdk.org
Cc: Kishore Padmanabha <kishore.padmanabha@broadcom.com>,
	Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com>,
	Michael Baucom <michael.baucom@broadcom.com>,
	Ajit Khaparde <ajit.khaparde@broadcom.com>
Subject: [PATCH v4 43/47] net/bnxt: tf_ulp: update template files
Date: Fri,  4 Oct 2024 23:23:34 +0530	[thread overview]
Message-ID: <20241004175338.3156160-44-sriharsha.basavapatna@broadcom.com> (raw)
In-Reply-To: <20241004175338.3156160-1-sriharsha.basavapatna@broadcom.com>

From: Kishore Padmanabha <kishore.padmanabha@broadcom.com>

This patch updates template files for the following list
of changes, that are being added in the subsequent patches.

- enable support for truflow feature configuration
- add support for port table write operation
- support generic template for socket direct
- add support for truflow promiscuous mode
- set metadata for profile tcam entry
- support the group miss action

Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com>
Signed-off-by: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com>
Reviewed-by: Michael Baucom <michael.baucom@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
 .../generic_templates/ulp_template_db_enum.h  |    74 +-
 .../generic_templates/ulp_template_db_tbl.c   |   151 +
 .../ulp_template_db_thor2_class.c             |   266 +-
 .../ulp_template_db_thor_class.c              | 53844 ++++++++++------
 .../ulp_template_db_wh_plus_class.c           |    84 +-
 5 files changed, 33938 insertions(+), 20481 deletions(-)

diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_enum.h b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_enum.h
index 445c64134f..7ce5cc9a48 100644
--- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_enum.h
+++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_enum.h
@@ -6,10 +6,10 @@
 #ifndef ULP_TEMPLATE_DB_H_
 #define ULP_TEMPLATE_DB_H_
 
-#define BNXT_ULP_REGFILE_MAX_SZ 99
+#define BNXT_ULP_REGFILE_MAX_SZ 102
 #define BNXT_ULP_MAX_NUM_DEVICES 5
 #define BNXT_ULP_LOG2_MAX_NUM_DEV 2.32192809488736
-#define BNXT_ULP_GEN_TBL_MAX_SZ 56
+#define BNXT_ULP_GEN_TBL_MAX_SZ 60
 #define BNXT_ULP_ALLOCATOR_TBL_MAX_SZ 2
 #define BNXT_ULP_CLASS_MATCH_LIST_MAX_SZ 163
 #define BNXT_ULP_ACT_MATCH_LIST_MAX_SZ 21
@@ -23,24 +23,24 @@
 #define BNXT_ULP_APP_ID_CONFIG 0
 #define BNXT_ULP_GLB_FIELD_TBL_SIZE 129
 #define BNXT_ULP_GLB_SIG_TBL_SIZE 1
-#define ULP_WH_PLUS_CLASS_TMPL_LIST_SIZE 5
-#define ULP_WH_PLUS_CLASS_TBL_LIST_SIZE 95
+#define ULP_WH_PLUS_CLASS_TMPL_LIST_SIZE 8
+#define ULP_WH_PLUS_CLASS_TBL_LIST_SIZE 98
 #define ULP_WH_PLUS_CLASS_KEY_INFO_LIST_SIZE 683
 #define ULP_WH_PLUS_CLASS_KEY_EXT_LIST_SIZE 0
 #define ULP_WH_PLUS_CLASS_IDENT_LIST_SIZE 29
 #define ULP_WH_PLUS_CLASS_RESULT_FIELD_LIST_SIZE 657
 #define ULP_WH_PLUS_CLASS_COND_LIST_SIZE 50
 #define ULP_WH_PLUS_CLASS_COND_OPER_LIST_SIZE 0
-#define ULP_THOR_CLASS_TMPL_LIST_SIZE 5
-#define ULP_THOR_CLASS_TBL_LIST_SIZE 175
-#define ULP_THOR_CLASS_KEY_INFO_LIST_SIZE 717
-#define ULP_THOR_CLASS_KEY_EXT_LIST_SIZE 628
-#define ULP_THOR_CLASS_IDENT_LIST_SIZE 52
-#define ULP_THOR_CLASS_RESULT_FIELD_LIST_SIZE 1280
-#define ULP_THOR_CLASS_COND_LIST_SIZE 3847
+#define ULP_THOR_CLASS_TMPL_LIST_SIZE 8
+#define ULP_THOR_CLASS_TBL_LIST_SIZE 214
+#define ULP_THOR_CLASS_KEY_INFO_LIST_SIZE 936
+#define ULP_THOR_CLASS_KEY_EXT_LIST_SIZE 794
+#define ULP_THOR_CLASS_IDENT_LIST_SIZE 67
+#define ULP_THOR_CLASS_RESULT_FIELD_LIST_SIZE 1320
+#define ULP_THOR_CLASS_COND_LIST_SIZE 4945
 #define ULP_THOR_CLASS_COND_OPER_LIST_SIZE 15
-#define ULP_THOR2_CLASS_TMPL_LIST_SIZE 5
-#define ULP_THOR2_CLASS_TBL_LIST_SIZE 181
+#define ULP_THOR2_CLASS_TMPL_LIST_SIZE 8
+#define ULP_THOR2_CLASS_TBL_LIST_SIZE 182
 #define ULP_THOR2_CLASS_KEY_INFO_LIST_SIZE 737
 #define ULP_THOR2_CLASS_KEY_EXT_LIST_SIZE 660
 #define ULP_THOR2_CLASS_IDENT_LIST_SIZE 61
@@ -319,7 +319,8 @@ enum bnxt_ulp_cf_idx {
 	BNXT_ULP_CF_IDX_GROUP_ID = 106,
 	BNXT_ULP_CF_IDX_TUNNEL_PORT = 107,
 	BNXT_ULP_CF_IDX_OUTER_EM_ONLY = 108,
-	BNXT_ULP_CF_IDX_LAST = 109
+	BNXT_ULP_CF_IDX_SOCKET_DIRECT_SVIF = 109,
+	BNXT_ULP_CF_IDX_LAST = 110
 };
 
 enum bnxt_ulp_cond_list_opc {
@@ -540,7 +541,8 @@ enum bnxt_ulp_func_opc {
 	BNXT_ULP_FUNC_OPC_ADD = 24,
 	BNXT_ULP_FUNC_OPC_SUB = 25,
 	BNXT_ULP_FUNC_OPC_COND_LIST = 26,
-	BNXT_ULP_FUNC_OPC_LAST = 27
+	BNXT_ULP_FUNC_OPC_PORT_TABLE = 27,
+	BNXT_ULP_FUNC_OPC_LAST = 28
 };
 
 enum bnxt_ulp_func_src {
@@ -757,11 +759,12 @@ enum bnxt_ulp_port_table {
 	BNXT_ULP_PORT_TABLE_PHY_PORT_SPIF = 14,
 	BNXT_ULP_PORT_TABLE_PHY_PORT_PARIF = 15,
 	BNXT_ULP_PORT_TABLE_PHY_PORT_VPORT = 16,
-	BNXT_ULP_PORT_TABLE_PORT_IS_PF = 17,
-	BNXT_ULP_PORT_TABLE_VF_FUNC_METADATA = 18,
-	BNXT_ULP_PORT_TABLE_VF_FUNC_FID = 19,
-	BNXT_ULP_PORT_TABLE_TABLE_SCOPE = 20,
-	BNXT_ULP_PORT_TABLE_LAST = 21
+	BNXT_ULP_PORT_TABLE_PHY_PORT_MIRROR_ID = 17,
+	BNXT_ULP_PORT_TABLE_PORT_IS_PF = 18,
+	BNXT_ULP_PORT_TABLE_VF_FUNC_METADATA = 19,
+	BNXT_ULP_PORT_TABLE_VF_FUNC_FID = 20,
+	BNXT_ULP_PORT_TABLE_TABLE_SCOPE = 21,
+	BNXT_ULP_PORT_TABLE_LAST = 22
 };
 
 enum bnxt_ulp_pri_opc {
@@ -882,7 +885,10 @@ enum bnxt_ulp_rf_idx {
 	BNXT_ULP_RF_IDX_OUTER_LOOP = 96,
 	BNXT_ULP_RF_IDX_INNER_LOOP = 97,
 	BNXT_ULP_RF_IDX_OUTER_ADD = 98,
-	BNXT_ULP_RF_IDX_LAST = 99
+	BNXT_ULP_RF_IDX_RID_1 = 99,
+	BNXT_ULP_RF_IDX_GROUP_MISS_ACT_PTR = 100,
+	BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET = 101,
+	BNXT_ULP_RF_IDX_LAST = 102
 };
 
 enum bnxt_ulp_tcam_tbl_opc {
@@ -928,7 +934,8 @@ enum bnxt_ulp_fdb_resource_flags {
 enum bnxt_ulp_feature_bit {
 	BNXT_ULP_FEATURE_BIT_PARENT_DMAC = 0x00000001,
 	BNXT_ULP_FEATURE_BIT_PORT_DMAC = 0x00000002,
-	BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW = 0x00000004
+	BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW = 0x00000004,
+	BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT = 0x00000008
 };
 
 enum bnxt_ulp_flow_dir_bitmask {
@@ -992,6 +999,8 @@ enum bnxt_ulp_resource_sub_type {
 	BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_FLOW_CHAIN_L2_CNTXT = 25,
 	BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_TUNNEL_GPARSE_CACHE = 26,
 	BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MULTI_FLOW_TUNNEL_CACHE = 27,
+	BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROF_FUNC_CACHE = 28,
+	BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GROUP_MISS_ACTION_CACHE = 29,
 	BNXT_ULP_RESOURCE_SUB_TYPE_ALLOCATOR_TABLE_JUMP_INDEX = 0,
 	BNXT_ULP_RESOURCE_SUB_TYPE_VNIC_TABLE_RSS = 0,
 	BNXT_ULP_RESOURCE_SUB_TYPE_VNIC_TABLE_QUEUE = 1,
@@ -1196,6 +1205,8 @@ enum ulp_wp_sym {
 	ULP_WP_SYM_METADATA_OP_NORMAL = 0,
 	ULP_WP_SYM_METADATA_OP_L2_HASH = 0,
 	ULP_WP_SYM_METADATA_OP_L4_HASH = 0,
+	ULP_WP_SYM_DIR_INGRESS = 1,
+	ULP_WP_SYM_DIR_EGRESS = 2,
 	ULP_WP_SYM_FWD_OP_BYPASS_CFA = 0,
 	ULP_WP_SYM_FWD_OP_BYPASS_CFA_ROCE = 0,
 	ULP_WP_SYM_FWD_OP_BYPASS_LKUP = 0,
@@ -1211,6 +1222,7 @@ enum ulp_wp_sym {
 	ULP_WP_SYM_L2_CTXT_PRI_PORT = 0,
 	ULP_WP_SYM_L2_CTXT_PRI_APP = 0,
 	ULP_WP_SYM_PROF_TCAM_PRI_CATCHALL = 0,
+	ULP_WP_SYM_PROF_TCAM_PRI_GRPCATCHALL = 0,
 	ULP_WP_SYM_PROF_TCAM_PRI_APP = 0,
 	ULP_WP_SYM_PROF_TCAM_PRI_L4 = 0,
 	ULP_WP_SYM_PROF_TCAM_PRI_L3 = 0,
@@ -1496,6 +1508,8 @@ enum ulp_thor_sym {
 	ULP_THOR_SYM_METADATA_OP_NORMAL = 0,
 	ULP_THOR_SYM_METADATA_OP_L2_HASH = 1,
 	ULP_THOR_SYM_METADATA_OP_L4_HASH = 2,
+	ULP_THOR_SYM_DIR_INGRESS = 1,
+	ULP_THOR_SYM_DIR_EGRESS = 2,
 	ULP_THOR_SYM_FWD_OP_BYPASS_CFA = 0,
 	ULP_THOR_SYM_FWD_OP_BYPASS_CFA_ROCE = 1,
 	ULP_THOR_SYM_FWD_OP_BYPASS_LKUP = 2,
@@ -1510,11 +1524,12 @@ enum ulp_thor_sym {
 	ULP_THOR_SYM_L2_CTXT_PRI_MC_BC = 0,
 	ULP_THOR_SYM_L2_CTXT_PRI_PORT = 0,
 	ULP_THOR_SYM_L2_CTXT_PRI_APP = 0,
-	ULP_THOR_SYM_PROF_TCAM_PRI_CATCHALL = 0,
+	ULP_THOR_SYM_PROF_TCAM_PRI_CATCHALL = 5,
+	ULP_THOR_SYM_PROF_TCAM_PRI_GRPCATCHALL = 4,
 	ULP_THOR_SYM_PROF_TCAM_PRI_APP = 0,
 	ULP_THOR_SYM_PROF_TCAM_PRI_L4 = 0,
-	ULP_THOR_SYM_PROF_TCAM_PRI_L3 = 0,
-	ULP_THOR_SYM_PROF_TCAM_PRI_L2 = 0,
+	ULP_THOR_SYM_PROF_TCAM_PRI_L3 = 1,
+	ULP_THOR_SYM_PROF_TCAM_PRI_L2 = 2,
 	ULP_THOR_SYM_PKT_TYPE_IGNORE = 0,
 	ULP_THOR_SYM_PKT_TYPE_L2 = 0,
 	ULP_THOR_SYM_PKT_TYPE_0_IGNORE = 0,
@@ -1796,6 +1811,8 @@ enum ulp_thor2_sym {
 	ULP_THOR2_SYM_METADATA_OP_NORMAL = 0,
 	ULP_THOR2_SYM_METADATA_OP_L2_HASH = 1,
 	ULP_THOR2_SYM_METADATA_OP_L4_HASH = 2,
+	ULP_THOR2_SYM_DIR_INGRESS = 1,
+	ULP_THOR2_SYM_DIR_EGRESS = 2,
 	ULP_THOR2_SYM_FWD_OP_BYPASS_CFA = 0,
 	ULP_THOR2_SYM_FWD_OP_BYPASS_CFA_ROCE = 1,
 	ULP_THOR2_SYM_FWD_OP_BYPASS_LKUP = 2,
@@ -1811,6 +1828,7 @@ enum ulp_thor2_sym {
 	ULP_THOR2_SYM_L2_CTXT_PRI_PORT = 70,
 	ULP_THOR2_SYM_L2_CTXT_PRI_APP = 140,
 	ULP_THOR2_SYM_PROF_TCAM_PRI_CATCHALL = 1,
+	ULP_THOR2_SYM_PROF_TCAM_PRI_GRPCATCHALL = 1,
 	ULP_THOR2_SYM_PROF_TCAM_PRI_APP = 10,
 	ULP_THOR2_SYM_PROF_TCAM_PRI_L4 = 10,
 	ULP_THOR2_SYM_PROF_TCAM_PRI_L3 = 8,
@@ -2097,5 +2115,11 @@ enum bnxt_ulp_df_tpl {
 	BNXT_ULP_DF_TPL_DEFAULT_VFR = 4
 };
 
+enum bnxt_ulp_template_id {
+	BNXT_ULP_TEMPLATE_PROMISCUOUS_ENABLE = 5,
+	BNXT_ULP_TEMPLATE_PROMISCUOUS_DISABLE = 6,
+	BNXT_ULP_TEMPLATE_GROUP_MISS_ACTION = 7
+};
+
 #endif
 
diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_tbl.c b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_tbl.c
index 3c6d331e03..2ab423eb36 100644
--- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_tbl.c
+++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_tbl.c
@@ -680,6 +680,54 @@ const struct bnxt_ulp_generic_tbl_params ulp_wh_plus_generic_tbl_params[] = {
 	.num_buckets = 0,
 	.hash_tbl_entries = 0,
 	.result_byte_order = BNXT_ULP_BYTE_ORDER_LE,
+	},
+	[BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROF_FUNC_CACHE << 1 |
+		BNXT_ULP_DIRECTION_INGRESS] = {
+	.name = "INGRESS GENERIC_TABLE_PROF_FUNC_CACHE",
+	.gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_SIMPLE_LIST,
+	.result_num_entries = 0,
+	.result_num_bytes = 0,
+	.key_num_bytes = 0,
+	.partial_key_num_bytes = 0,
+	.num_buckets = 0,
+	.hash_tbl_entries = 0,
+	.result_byte_order = BNXT_ULP_BYTE_ORDER_LE,
+	},
+	[BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROF_FUNC_CACHE << 1 |
+		BNXT_ULP_DIRECTION_EGRESS] = {
+	.name = "EGRESS GENERIC_TABLE_PROF_FUNC_CACHE",
+	.gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_SIMPLE_LIST,
+	.result_num_entries = 0,
+	.result_num_bytes = 0,
+	.key_num_bytes = 0,
+	.partial_key_num_bytes = 0,
+	.num_buckets = 0,
+	.hash_tbl_entries = 0,
+	.result_byte_order = BNXT_ULP_BYTE_ORDER_LE,
+	},
+	[BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GROUP_MISS_ACTION_CACHE << 1 |
+		BNXT_ULP_DIRECTION_INGRESS] = {
+	.name = "INGRESS GENERIC_TABLE_GROUP_MISS_ACTION_CACHE",
+	.gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_HASH_LIST,
+	.result_num_entries = 0,
+	.result_num_bytes = 0,
+	.key_num_bytes = 0,
+	.partial_key_num_bytes = 0,
+	.num_buckets = 0,
+	.hash_tbl_entries = 0,
+	.result_byte_order = BNXT_ULP_BYTE_ORDER_LE,
+	},
+	[BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GROUP_MISS_ACTION_CACHE << 1 |
+		BNXT_ULP_DIRECTION_EGRESS] = {
+	.name = "EGRESS GENERIC_TABLE_GROUP_MISS_ACTION_CACHE",
+	.gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_HASH_LIST,
+	.result_num_entries = 0,
+	.result_num_bytes = 0,
+	.key_num_bytes = 0,
+	.partial_key_num_bytes = 0,
+	.num_buckets = 0,
+	.hash_tbl_entries = 0,
+	.result_byte_order = BNXT_ULP_BYTE_ORDER_LE,
 	}
 };
 
@@ -1355,6 +1403,54 @@ const struct bnxt_ulp_generic_tbl_params ulp_thor_generic_tbl_params[] = {
 	.num_buckets = 4,
 	.hash_tbl_entries = 512,
 	.result_byte_order = BNXT_ULP_BYTE_ORDER_LE
+	},
+	[BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROF_FUNC_CACHE << 1 |
+		BNXT_ULP_DIRECTION_INGRESS] = {
+	.name = "INGRESS GENERIC_TABLE_PROF_FUNC_CACHE",
+	.gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_SIMPLE_LIST,
+	.result_num_entries = 8,
+	.result_num_bytes = 5,
+	.key_num_bytes = 1,
+	.partial_key_num_bytes = 0,
+	.num_buckets = 0,
+	.hash_tbl_entries = 0,
+	.result_byte_order = BNXT_ULP_BYTE_ORDER_LE
+	},
+	[BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROF_FUNC_CACHE << 1 |
+		BNXT_ULP_DIRECTION_EGRESS] = {
+	.name = "EGRESS GENERIC_TABLE_PROF_FUNC_CACHE",
+	.gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_SIMPLE_LIST,
+	.result_num_entries = 0,
+	.result_num_bytes = 0,
+	.key_num_bytes = 0,
+	.partial_key_num_bytes = 0,
+	.num_buckets = 0,
+	.hash_tbl_entries = 0,
+	.result_byte_order = BNXT_ULP_BYTE_ORDER_LE,
+	},
+	[BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GROUP_MISS_ACTION_CACHE << 1 |
+		BNXT_ULP_DIRECTION_INGRESS] = {
+	.name = "INGRESS GENERIC_TABLE_GROUP_MISS_ACTION_CACHE",
+	.gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_HASH_LIST,
+	.result_num_entries = 128,
+	.result_num_bytes = 6,
+	.key_num_bytes = 6,
+	.partial_key_num_bytes = 0,
+	.num_buckets = 4,
+	.hash_tbl_entries = 512,
+	.result_byte_order = BNXT_ULP_BYTE_ORDER_LE
+	},
+	[BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GROUP_MISS_ACTION_CACHE << 1 |
+		BNXT_ULP_DIRECTION_EGRESS] = {
+	.name = "EGRESS GENERIC_TABLE_GROUP_MISS_ACTION_CACHE",
+	.gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_HASH_LIST,
+	.result_num_entries = 128,
+	.result_num_bytes = 6,
+	.key_num_bytes = 6,
+	.partial_key_num_bytes = 0,
+	.num_buckets = 4,
+	.hash_tbl_entries = 512,
+	.result_byte_order = BNXT_ULP_BYTE_ORDER_LE
 	}
 };
 
@@ -2030,6 +2126,54 @@ const struct bnxt_ulp_generic_tbl_params ulp_thor2_generic_tbl_params[] = {
 	.num_buckets = 4,
 	.hash_tbl_entries = 512,
 	.result_byte_order = BNXT_ULP_BYTE_ORDER_LE
+	},
+	[BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROF_FUNC_CACHE << 1 |
+		BNXT_ULP_DIRECTION_INGRESS] = {
+	.name = "INGRESS GENERIC_TABLE_PROF_FUNC_CACHE",
+	.gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_SIMPLE_LIST,
+	.result_num_entries = 0,
+	.result_num_bytes = 0,
+	.key_num_bytes = 0,
+	.partial_key_num_bytes = 0,
+	.num_buckets = 0,
+	.hash_tbl_entries = 0,
+	.result_byte_order = BNXT_ULP_BYTE_ORDER_LE,
+	},
+	[BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROF_FUNC_CACHE << 1 |
+		BNXT_ULP_DIRECTION_EGRESS] = {
+	.name = "EGRESS GENERIC_TABLE_PROF_FUNC_CACHE",
+	.gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_SIMPLE_LIST,
+	.result_num_entries = 0,
+	.result_num_bytes = 0,
+	.key_num_bytes = 0,
+	.partial_key_num_bytes = 0,
+	.num_buckets = 0,
+	.hash_tbl_entries = 0,
+	.result_byte_order = BNXT_ULP_BYTE_ORDER_LE,
+	},
+	[BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GROUP_MISS_ACTION_CACHE << 1 |
+		BNXT_ULP_DIRECTION_INGRESS] = {
+	.name = "INGRESS GENERIC_TABLE_GROUP_MISS_ACTION_CACHE",
+	.gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_HASH_LIST,
+	.result_num_entries = 0,
+	.result_num_bytes = 0,
+	.key_num_bytes = 0,
+	.partial_key_num_bytes = 0,
+	.num_buckets = 0,
+	.hash_tbl_entries = 0,
+	.result_byte_order = BNXT_ULP_BYTE_ORDER_LE,
+	},
+	[BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GROUP_MISS_ACTION_CACHE << 1 |
+		BNXT_ULP_DIRECTION_EGRESS] = {
+	.name = "EGRESS GENERIC_TABLE_GROUP_MISS_ACTION_CACHE",
+	.gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_HASH_LIST,
+	.result_num_entries = 0,
+	.result_num_bytes = 0,
+	.key_num_bytes = 0,
+	.partial_key_num_bytes = 0,
+	.num_buckets = 0,
+	.hash_tbl_entries = 0,
+	.result_byte_order = BNXT_ULP_BYTE_ORDER_LE,
 	}
 };
 
@@ -2365,6 +2509,10 @@ struct bnxt_ulp_app_capabilities_info ulp_app_cap_info_list[] = {
 	.vxlan_port              = 0,
 	.vxlan_ip_port           = 0,
 	.num_key_recipes_per_dir = 256,
+	.feature_bits            = BNXT_ULP_FEATURE_BIT_PORT_DMAC |
+			BNXT_ULP_FEATURE_BIT_PARENT_DMAC |
+			BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW |
+			BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT,
 	.default_class_bits      = 0,
 	.default_act_bits        = BNXT_ULP_ACT_BIT_GENERIC
 	},
@@ -2388,6 +2536,9 @@ struct bnxt_ulp_app_capabilities_info ulp_app_cap_info_list[] = {
 	.em_tx_key_max_sz        = 112,
 	.pbl_page_sz_in_bytes    = 4096,
 	.num_key_recipes_per_dir = 256,
+	.feature_bits            = BNXT_ULP_FEATURE_BIT_PORT_DMAC |
+			BNXT_ULP_FEATURE_BIT_PARENT_DMAC |
+			BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW,
 	.default_class_bits      = 0,
 	.default_act_bits        = BNXT_ULP_ACT_BIT_GENERIC
 	}
diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor2_class.c b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor2_class.c
index 6e163e61a5..d7098617f9 100644
--- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor2_class.c
+++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor2_class.c
@@ -13,7 +13,7 @@ struct bnxt_ulp_mapper_tmpl_info ulp_thor2_class_tmpl_list[] = {
 	/* class_tid: 1, ingress */
 	[1] = {
 	.device_name = BNXT_ULP_DEVICE_ID_THOR2,
-	.num_tbls = 77,
+	.num_tbls = 76,
 	.start_tbl_idx = 0,
 	.reject_info = {
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
@@ -23,8 +23,8 @@ struct bnxt_ulp_mapper_tmpl_info ulp_thor2_class_tmpl_list[] = {
 	/* class_tid: 2, egress */
 	[2] = {
 	.device_name = BNXT_ULP_DEVICE_ID_THOR2,
-	.num_tbls = 50,
-	.start_tbl_idx = 77,
+	.num_tbls = 49,
+	.start_tbl_idx = 76,
 	.reject_info = {
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
 		.cond_start_idx = 2109,
@@ -34,7 +34,7 @@ struct bnxt_ulp_mapper_tmpl_info ulp_thor2_class_tmpl_list[] = {
 	[3] = {
 	.device_name = BNXT_ULP_DEVICE_ID_THOR2,
 	.num_tbls = 35,
-	.start_tbl_idx = 127,
+	.start_tbl_idx = 125,
 	.reject_info = {
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
 		.cond_start_idx = 4177,
@@ -44,11 +44,41 @@ struct bnxt_ulp_mapper_tmpl_info ulp_thor2_class_tmpl_list[] = {
 	[4] = {
 	.device_name = BNXT_ULP_DEVICE_ID_THOR2,
 	.num_tbls = 19,
-	.start_tbl_idx = 162,
+	.start_tbl_idx = 160,
 	.reject_info = {
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
 		.cond_start_idx = 4181,
 		.cond_nums = 0 }
+	},
+	/* class_tid: 5, ingress */
+	[5] = {
+	.device_name = BNXT_ULP_DEVICE_ID_THOR2,
+	.num_tbls = 1,
+	.start_tbl_idx = 179,
+	.reject_info = {
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
+		.cond_start_idx = 4183,
+		.cond_nums = 0 }
+	},
+	/* class_tid: 6, ingress */
+	[6] = {
+	.device_name = BNXT_ULP_DEVICE_ID_THOR2,
+	.num_tbls = 1,
+	.start_tbl_idx = 180,
+	.reject_info = {
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
+		.cond_start_idx = 4183,
+		.cond_nums = 0 }
+	},
+	/* class_tid: 7, ingress */
+	[7] = {
+	.device_name = BNXT_ULP_DEVICE_ID_THOR2,
+	.num_tbls = 1,
+	.start_tbl_idx = 181,
+	.reject_info = {
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
+		.cond_start_idx = 4183,
+		.cond_nums = 0 }
 	}
 };
 
@@ -1001,12 +1031,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.direction = TF_DIR_RX,
 	.execute_info = {
 		.cond_true_goto  = 1,
-		.cond_false_goto = 13,
+		.cond_false_goto = 12,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
 		.cond_start_idx = 141,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
-	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
+	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
+	.fdb_operand = BNXT_ULP_RF_IDX_RID
 	},
 	{ /* class_tid: 1, , table: hdr_overlap_cache.overlap_check */
 	.description = "hdr_overlap_cache.overlap_check",
@@ -1023,7 +1054,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
-	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.key_start_idx = 99,
 	.blob_key_bit_size = 12,
 	.key_bit_size = 12,
@@ -1046,7 +1077,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
-	.fdb_operand = BNXT_ULP_RF_IDX_RID
+	.fdb_operand = BNXT_ULP_RF_IDX_RID_1
 	},
 	{ /* class_tid: 1, , table: profile_tcam.allocate_wc_profile */
 	.description = "profile_tcam.allocate_wc_profile",
@@ -1063,7 +1094,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
-	.fdb_operand = BNXT_ULP_RF_IDX_RID,
+	.fdb_operand = BNXT_ULP_RF_IDX_RID_1,
 	.pri_opcode  = BNXT_ULP_PRI_OPC_APP_PRI_OR_CONST,
 	.pri_operand = ULP_THOR2_SYM_PROF_TCAM_PRI_APP,
 	.track_type = CFA_TRACK_TYPE_SID,
@@ -1085,7 +1116,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.tbl_operand = BNXT_ULP_RF_IDX_WC_KEY_ID_0,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
-	.fdb_operand = BNXT_ULP_RF_IDX_RID,
+	.fdb_operand = BNXT_ULP_RF_IDX_RID_1,
 	.track_type = CFA_TRACK_TYPE_SID,
 	.result_start_idx = 60,
 	.result_bit_size = 256,
@@ -1106,7 +1137,8 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
-	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
+	.fdb_operand = BNXT_ULP_RF_IDX_RID,
 	.key_start_idx = 102,
 	.blob_key_bit_size = 12,
 	.key_bit_size = 12,
@@ -1118,20 +1150,6 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.result_bit_size = 48,
 	.result_num_fields = 3
 	},
-	{ /* class_tid: 1, , table: control.proto_header_rid_alloc */
-	.description = "control.proto_header_rid_alloc",
-	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
-	.direction = TF_DIR_RX,
-	.execute_info = {
-		.cond_true_goto  = 1,
-		.cond_false_goto = 1,
-		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 485,
-		.cond_nums = 0 },
-	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
-	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
-	.fdb_operand = BNXT_ULP_RF_IDX_RID
-	},
 	{ /* class_tid: 1, , table: fkb_select.em_gen_template_alloc */
 	.description = "fkb_select.em_gen_template_alloc",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -1563,7 +1581,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
 	.direction = TF_DIR_RX,
 	.execute_info = {
-		.cond_true_goto  = -30,
+		.cond_true_goto  = -29,
 		.cond_false_goto = 0,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
 		.cond_start_idx = 2109,
@@ -1984,12 +2002,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.direction = TF_DIR_TX,
 	.execute_info = {
 		.cond_true_goto  = 1,
-		.cond_false_goto = 13,
+		.cond_false_goto = 12,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
 		.cond_start_idx = 2202,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
-	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
+	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
+	.fdb_operand = BNXT_ULP_RF_IDX_RID
 	},
 	{ /* class_tid: 2, , table: hdr_overlap_cache.overlap_check */
 	.description = "hdr_overlap_cache.overlap_check",
@@ -2006,7 +2025,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
-	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.key_start_idx = 273,
 	.blob_key_bit_size = 12,
 	.key_bit_size = 12,
@@ -2029,7 +2048,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
-	.fdb_operand = BNXT_ULP_RF_IDX_RID
+	.fdb_operand = BNXT_ULP_RF_IDX_RID_1
 	},
 	{ /* class_tid: 2, , table: profile_tcam.allocate_wc_profile */
 	.description = "profile_tcam.allocate_wc_profile",
@@ -2046,7 +2065,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
-	.fdb_operand = BNXT_ULP_RF_IDX_RID,
+	.fdb_operand = BNXT_ULP_RF_IDX_RID_1,
 	.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
 	.pri_operand = 0,
 	.track_type = CFA_TRACK_TYPE_SID,
@@ -2068,7 +2087,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.tbl_operand = BNXT_ULP_RF_IDX_WC_KEY_ID_0,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
-	.fdb_operand = BNXT_ULP_RF_IDX_RID,
+	.fdb_operand = BNXT_ULP_RF_IDX_RID_1,
 	.track_type = CFA_TRACK_TYPE_SID,
 	.result_start_idx = 662,
 	.result_bit_size = 256,
@@ -2089,7 +2108,8 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
-	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
+	.fdb_operand = BNXT_ULP_RF_IDX_RID,
 	.key_start_idx = 276,
 	.blob_key_bit_size = 12,
 	.key_bit_size = 12,
@@ -2101,20 +2121,6 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.result_bit_size = 48,
 	.result_num_fields = 3
 	},
-	{ /* class_tid: 2, , table: control.proto_header_rid_alloc */
-	.description = "control.proto_header_rid_alloc",
-	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
-	.direction = TF_DIR_TX,
-	.execute_info = {
-		.cond_true_goto  = 1,
-		.cond_false_goto = 1,
-		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2549,
-		.cond_nums = 0 },
-	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
-	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
-	.fdb_operand = BNXT_ULP_RF_IDX_RID
-	},
 	{ /* class_tid: 2, , table: fkb_select.em_gen_template_alloc */
 	.description = "fkb_select.em_gen_template_alloc",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -2547,7 +2553,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
 	.direction = TF_DIR_TX,
 	.execute_info = {
-		.cond_true_goto  = -29,
+		.cond_true_goto  = -28,
 		.cond_false_goto = 0,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
 		.cond_start_idx = 4177,
@@ -3793,6 +3799,48 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.func_opr2 = BNXT_ULP_CF_IDX_DEV_PORT_ID,
 		.func_dst_opr = BNXT_ULP_RF_IDX_CC },
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_AND_SET_VFR_FLAG
+	},
+	{ /* class_tid: 5, , table: control.reject */
+	.description = "control.reject",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+	.direction = TF_DIR_RX,
+	.true_message = "Reject: Thor2 not supporting promiscuous template",
+	.execute_info = {
+		.cond_true_goto  = 1023,
+		.cond_false_goto = 0,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+		.cond_start_idx = 4183,
+		.cond_nums = 0 },
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
+	},
+	{ /* class_tid: 6, , table: control.reject */
+	.description = "control.reject",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+	.direction = TF_DIR_RX,
+	.true_message = "Reject: Thor2 not supporting promiscuous template",
+	.execute_info = {
+		.cond_true_goto  = 1023,
+		.cond_false_goto = 0,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+		.cond_start_idx = 4183,
+		.cond_nums = 0 },
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
+	},
+	{ /* class_tid: 7, , table: control.reject */
+	.description = "control.reject",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+	.direction = TF_DIR_RX,
+	.true_message = "Reject: Thor2 not supporting group miss action template",
+	.execute_info = {
+		.cond_true_goto  = 1023,
+		.cond_false_goto = 0,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+		.cond_start_idx = 4183,
+		.cond_nums = 0 },
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
 	}
 };
 
@@ -23894,9 +23942,10 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 			139 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_CHAIN_META_TYPE},
+		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -23965,9 +24014,10 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 			142 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_CHAIN_META_TYPE},
+		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -24037,9 +24087,10 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 			483 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_CHAIN_META_TYPE},
+		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -25407,12 +25458,12 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.description = "metadata",
 		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-		(ULP_THOR2_SYM_CHAIN_META_VAL_MASK >> 24) & 0xff,
-		(ULP_THOR2_SYM_CHAIN_META_VAL_MASK >> 16) & 0xff,
-		(ULP_THOR2_SYM_CHAIN_META_VAL_MASK >> 8) & 0xff,
-		ULP_THOR2_SYM_CHAIN_META_VAL_MASK & 0xff}
+			0xff,
+			0xff,
+			0xff,
+			0xff}
 		},
 	.field_info_spec = {
 		.description = "metadata",
@@ -25428,7 +25479,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opr2 = {
 		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
 		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_CONST
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
@@ -26760,9 +26811,10 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 			1277 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_CHAIN_META_TYPE},
+		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -26845,9 +26897,10 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 			1282 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_CHAIN_META_TYPE},
+		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -28068,9 +28121,10 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 			2094 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_CHAIN_META_TYPE},
+		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -28803,9 +28857,10 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 			2200 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_CHAIN_META_TYPE},
+		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -28874,9 +28929,10 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 			2203 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_CHAIN_META_TYPE},
+		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -28946,9 +29002,10 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 			2547 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_CHAIN_META_TYPE},
+		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -30335,12 +30392,12 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.description = "metadata",
 		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-		(0xf0000000 >> 24) & 0xff,
-		(0xf0000000 >> 16) & 0xff,
-		(0xf0000000 >> 8) & 0xff,
-		0xf0000000 & 0xff}
+			0xff,
+			0xff,
+			0xff,
+			0xff}
 		},
 	.field_info_spec = {
 		.description = "metadata",
@@ -30356,7 +30413,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opr2 = {
 		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
 		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_CONST
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
@@ -31688,9 +31745,10 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 			3345 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_CHAIN_META_TYPE},
+		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -31773,9 +31831,10 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 			3350 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_CHAIN_META_TYPE},
+		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -32996,9 +33055,10 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 			4162 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_CHAIN_META_TYPE},
+		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -50274,8 +50334,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
-	(BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
-	BNXT_ULP_RF_IDX_RID & 0xff}
+	(BNXT_ULP_RF_IDX_RID_1 >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_RID_1 & 0xff}
 	},
 	{
 	.description = "wc_profile_id",
@@ -54932,8 +54992,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
-	(BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
-	BNXT_ULP_RF_IDX_RID & 0xff}
+	(BNXT_ULP_RF_IDX_RID_1 >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_RID_1 & 0xff}
 	},
 	{
 	.description = "wc_profile_id",
@@ -60504,7 +60564,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = {
 	{
 	.description = "l2_cntxt_id",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
-	.ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
+	.ident_type = CFA_RSUBTYPE_IDENT_L2CTX,
 	.regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
 	.ident_bit_size = 11,
 	.ident_bit_pos = 109
@@ -60534,7 +60594,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = {
 	{
 	.description = "l2_cntxt_id",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
-	.ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
+	.ident_type = CFA_RSUBTYPE_IDENT_L2CTX,
 	.regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
 	.ident_bit_size = 11,
 	.ident_bit_pos = 109
@@ -60550,7 +60610,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = {
 	{
 	.description = "l2_cntxt_id",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
-	.ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
+	.ident_type = CFA_RSUBTYPE_IDENT_L2CTX,
 	.regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
 	.ident_bit_size = 11,
 	.ident_bit_pos = 109
@@ -60615,7 +60675,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = {
 	{
 	.description = "wc_profile_id",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
-	.ident_type = TF_IDENT_TYPE_WC_PROF,
+	.ident_type = CFA_RSUBTYPE_IDENT_WC_PROF,
 	.regfile_idx = BNXT_ULP_RF_IDX_WC_PROFILE_ID_0,
 	.ident_bit_size = 8,
 	.ident_bit_pos = 12
@@ -60624,7 +60684,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = {
 	{
 	.description = "em_profile_id",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
-	.ident_type = TF_IDENT_TYPE_EM_PROF,
+	.ident_type = CFA_RSUBTYPE_IDENT_EM_PROF,
 	.regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
 	.ident_bit_size = 8,
 	.ident_bit_pos = 33
@@ -60730,7 +60790,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = {
 	{
 	.description = "wc_profile_id",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
-	.ident_type = TF_IDENT_TYPE_WC_PROF,
+	.ident_type = CFA_RSUBTYPE_IDENT_WC_PROF,
 	.regfile_idx = BNXT_ULP_RF_IDX_WC_PROFILE_ID_0,
 	.ident_bit_size = 8,
 	.ident_bit_pos = 12
@@ -60739,7 +60799,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = {
 	{
 	.description = "em_profile_id",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
-	.ident_type = TF_IDENT_TYPE_EM_PROF,
+	.ident_type = CFA_RSUBTYPE_IDENT_EM_PROF,
 	.regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
 	.ident_bit_size = 8,
 	.ident_bit_pos = 33
@@ -60768,7 +60828,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = {
 	{
 	.description = "prof_func_id",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
-	.ident_type = TF_IDENT_TYPE_PROF_FUNC,
+	.ident_type = CFA_RSUBTYPE_IDENT_PROF_FUNC,
 	.regfile_idx = BNXT_ULP_RF_IDX_PROF_FUNC_ID_0,
 	.ident_bit_size = 0,
 	.ident_bit_pos = 0
@@ -60784,7 +60844,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = {
 	{
 	.description = "l2_cntxt_id",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
-	.ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
+	.ident_type = CFA_RSUBTYPE_IDENT_L2CTX,
 	.regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
 	.ident_bit_size = 11,
 	.ident_bit_pos = 109
@@ -60793,7 +60853,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = {
 	{
 	.description = "prof_func_id",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
-	.ident_type = TF_IDENT_TYPE_PROF_FUNC,
+	.ident_type = CFA_RSUBTYPE_IDENT_PROF_FUNC,
 	.regfile_idx = BNXT_ULP_RF_IDX_PROF_FUNC_ID_0,
 	.ident_bit_size = 8,
 	.ident_bit_pos = 100
@@ -60801,7 +60861,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = {
 	{
 	.description = "l2_cntxt_id",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
-	.ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
+	.ident_type = CFA_RSUBTYPE_IDENT_L2CTX,
 	.regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
 	.ident_bit_size = 11,
 	.ident_bit_pos = 109
@@ -60817,7 +60877,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = {
 	{
 	.description = "l2_cntxt_id",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
-	.ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
+	.ident_type = CFA_RSUBTYPE_IDENT_L2CTX,
 	.regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
 	.ident_bit_size = 11,
 	.ident_bit_pos = 109
@@ -60845,7 +60905,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = {
 	{
 	.description = "prof_func_id",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
-	.ident_type = TF_IDENT_TYPE_PROF_FUNC,
+	.ident_type = CFA_RSUBTYPE_IDENT_PROF_FUNC,
 	.regfile_idx = BNXT_ULP_RF_IDX_PROF_FUNC_ID_0,
 	.ident_bit_size = 0,
 	.ident_bit_pos = 0
@@ -60861,7 +60921,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = {
 	{
 	.description = "l2_cntxt_id",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
-	.ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
+	.ident_type = CFA_RSUBTYPE_IDENT_L2CTX,
 	.regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
 	.ident_bit_size = 11,
 	.ident_bit_pos = 109
diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor_class.c b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor_class.c
index 222ff0a961..2fe0dd24db 100644
--- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor_class.c
+++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor_class.c
@@ -13,7 +13,7 @@ struct bnxt_ulp_mapper_tmpl_info ulp_thor_class_tmpl_list[] = {
 	/* class_tid: 1, ingress */
 	[1] = {
 	.device_name = BNXT_ULP_DEVICE_ID_THOR,
-	.num_tbls = 72,
+	.num_tbls = 78,
 	.start_tbl_idx = 0,
 	.reject_info = {
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
@@ -23,31 +23,61 @@ struct bnxt_ulp_mapper_tmpl_info ulp_thor_class_tmpl_list[] = {
 	/* class_tid: 2, egress */
 	[2] = {
 	.device_name = BNXT_ULP_DEVICE_ID_THOR,
-	.num_tbls = 46,
-	.start_tbl_idx = 72,
+	.num_tbls = 48,
+	.start_tbl_idx = 78,
 	.reject_info = {
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
-		.cond_start_idx = 1943,
+		.cond_start_idx = 2488,
 		.cond_nums = 0 }
 	},
 	/* class_tid: 3, ingress */
 	[3] = {
 	.device_name = BNXT_ULP_DEVICE_ID_THOR,
 	.num_tbls = 22,
-	.start_tbl_idx = 118,
+	.start_tbl_idx = 126,
 	.reject_info = {
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
-		.cond_start_idx = 3836,
+		.cond_start_idx = 4915,
 		.cond_nums = 0 }
 	},
 	/* class_tid: 4, egress */
 	[4] = {
 	.device_name = BNXT_ULP_DEVICE_ID_THOR,
 	.num_tbls = 35,
-	.start_tbl_idx = 140,
+	.start_tbl_idx = 148,
 	.reject_info = {
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
-		.cond_start_idx = 3843,
+		.cond_start_idx = 4922,
+		.cond_nums = 0 }
+	},
+	/* class_tid: 5, ingress */
+	[5] = {
+	.device_name = BNXT_ULP_DEVICE_ID_THOR,
+	.num_tbls = 7,
+	.start_tbl_idx = 183,
+	.reject_info = {
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
+		.cond_start_idx = 4926,
+		.cond_nums = 0 }
+	},
+	/* class_tid: 6, ingress */
+	[6] = {
+	.device_name = BNXT_ULP_DEVICE_ID_THOR,
+	.num_tbls = 3,
+	.start_tbl_idx = 190,
+	.reject_info = {
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
+		.cond_start_idx = 4936,
+		.cond_nums = 0 }
+	},
+	/* class_tid: 7, ingress */
+	[7] = {
+	.device_name = BNXT_ULP_DEVICE_ID_THOR,
+	.num_tbls = 21,
+	.start_tbl_idx = 193,
+	.reject_info = {
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
+		.cond_start_idx = 4938,
 		.cond_nums = 0 }
 	}
 };
@@ -229,11 +259,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.result_bit_size = 80,
 	.result_num_fields = 3
 	},
-	{ /* class_tid: 1, , table: l2_cntxt_tcam_cache.rd */
-	.description = "l2_cntxt_tcam_cache.rd",
+	{ /* class_tid: 1, , table: prof_func_cache.ing_rd */
+	.description = "prof_func_cache.ing_rd",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
 	.resource_sub_type =
-		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROF_FUNC_CACHE,
 	.direction = TF_DIR_RX,
 	.execute_info = {
 		.cond_true_goto  = 1,
@@ -246,11 +276,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.key_start_idx = 3,
-	.blob_key_bit_size = 11,
-	.key_bit_size = 11,
+	.blob_key_bit_size = 8,
+	.key_bit_size = 8,
 	.key_num_fields = 1,
 	.ident_start_idx = 4,
-	.ident_nums = 3
+	.ident_nums = 1
 	},
 	{ /* class_tid: 1, , table: control.check_f1_f2_flow */
 	.description = "control.check_f1_f2_flow",
@@ -285,7 +315,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.blob_key_bit_size = 19,
 	.key_bit_size = 19,
 	.key_num_fields = 2,
-	.ident_start_idx = 7,
+	.ident_start_idx = 5,
 	.ident_nums = 1
 	},
 	{ /* class_tid: 1, , table: control.tunnel_cache_check */
@@ -321,7 +351,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
 	.pri_operand = 0,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.ident_start_idx = 8,
+	.ident_start_idx = 6,
 	.ident_nums = 1
 	},
 	{ /* class_tid: 1, , table: tunnel_cache.f1_f2_wr */
@@ -353,7 +383,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
 	.direction = TF_DIR_RX,
 	.execute_info = {
-		.cond_true_goto  = 27,
+		.cond_true_goto  = 31,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
 		.cond_start_idx = 30,
@@ -380,6 +410,43 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.func_opr1 = 2,
 		.func_dst_opr = BNXT_ULP_RF_IDX_O_DMAC }
 	},
+	{ /* class_tid: 1, , table: l2_cntxt_tcam_cache.rd */
+	.description = "l2_cntxt_tcam_cache.rd",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 2,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 35,
+		.cond_nums = 1 },
+	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
+	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+	.key_start_idx = 8,
+	.blob_key_bit_size = 11,
+	.key_bit_size = 11,
+	.key_num_fields = 1,
+	.ident_start_idx = 7,
+	.ident_nums = 2
+	},
+	{ /* class_tid: 1, , table: control.prof_func_miss */
+	.description = "control.prof_func_miss",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+	.direction = TF_DIR_RX,
+	.true_message = "reject the flow since there is no dmac for the flow and port is in non-promisc mode.",
+	.execute_info = {
+		.cond_true_goto  = 1023,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 36,
+		.cond_nums = 1 },
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
+	},
 	{ /* class_tid: 1, , table: control.check_tunnel_recycle */
 	.description = "control.check_tunnel_recycle",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
@@ -402,7 +469,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1023,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 38,
+		.cond_start_idx = 40,
 		.cond_nums = 2 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -417,13 +484,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 40,
+		.cond_start_idx = 42,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 8,
+	.key_start_idx = 9,
 	.blob_key_bit_size = 447,
 	.key_bit_size = 447,
 	.key_num_fields = 9,
@@ -438,7 +505,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 5,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 64,
+		.cond_start_idx = 66,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -454,7 +521,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 65,
+		.cond_start_idx = 67,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_ALLOC_TBL_OPC_ALLOC,
 	.tbl_operand = BNXT_ULP_RF_IDX_JUMP_META_IDX,
@@ -473,7 +540,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 65,
+		.cond_start_idx = 67,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -494,7 +561,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 65,
+		.cond_start_idx = 67,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -515,13 +582,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 65,
+		.cond_start_idx = 67,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 17,
+	.key_start_idx = 18,
 	.blob_key_bit_size = 447,
 	.key_bit_size = 447,
 	.key_num_fields = 9,
@@ -537,7 +604,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 7,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 93,
+		.cond_start_idx = 95,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -554,9 +621,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.direction = TF_DIR_RX,
 	.execute_info = {
 		.cond_true_goto  = 1,
-		.cond_false_goto = 10,
+		.cond_false_goto = 11,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 93,
+		.cond_start_idx = 95,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -571,13 +638,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 94,
+		.cond_start_idx = 96,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 26,
+	.key_start_idx = 27,
 	.blob_key_bit_size = 32,
 	.key_bit_size = 32,
 	.key_num_fields = 1,
@@ -592,7 +659,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 4,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 94,
+		.cond_start_idx = 96,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -608,7 +675,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 95,
+		.cond_start_idx = 97,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_ALLOC_TBL_OPC_ALLOC,
 	.tbl_operand = BNXT_ULP_RF_IDX_JUMP_META_IDX,
@@ -627,7 +694,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 95,
+		.cond_start_idx = 97,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -650,13 +717,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 95,
+		.cond_start_idx = 97,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 27,
+	.key_start_idx = 28,
 	.blob_key_bit_size = 32,
 	.key_bit_size = 32,
 	.key_num_fields = 1,
@@ -672,15 +739,15 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.direction = TF_DIR_RX,
 	.execute_info = {
 		.cond_true_goto  = 1,
-		.cond_false_goto = 4,
+		.cond_false_goto = 5,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
-		.cond_start_idx = 95,
+		.cond_start_idx = 97,
 		.cond_nums = 2 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 28,
+	.key_start_idx = 29,
 	.blob_key_bit_size = 11,
 	.key_bit_size = 11,
 	.key_num_fields = 1,
@@ -693,9 +760,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.direction = TF_DIR_RX,
 	.execute_info = {
 		.cond_true_goto  = 1,
-		.cond_false_goto = 3,
+		.cond_false_goto = 4,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 97,
+		.cond_start_idx = 101,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -710,7 +777,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 98,
+		.cond_start_idx = 102,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
@@ -720,7 +787,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
 	.pri_operand = 0,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.key_start_idx = 29,
+	.key_start_idx = 30,
 	.blob_key_bit_size = 213,
 	.key_bit_size = 213,
 	.key_num_fields = 21,
@@ -730,6 +797,35 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.ident_start_idx = 12,
 	.ident_nums = 1
 	},
+	{ /* class_tid: 1, , table: l2_cntxt_tcam.chain_entry_dup */
+	.description = "l2_cntxt_tcam.chain_entry_dup",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
+	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 104,
+		.cond_nums = 1 },
+	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
+	.tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
+	.fdb_operand = BNXT_ULP_RF_IDX_RID,
+	.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
+	.pri_operand = 0,
+	.track_type = CFA_TRACK_TYPE_SID,
+	.key_start_idx = 51,
+	.blob_key_bit_size = 213,
+	.key_bit_size = 213,
+	.key_num_fields = 21,
+	.result_start_idx = 19,
+	.result_bit_size = 43,
+	.result_num_fields = 6,
+	.ident_start_idx = 13,
+	.ident_nums = 0
+	},
 	{ /* class_tid: 1, , table: flow_chain_l2_cntxt.write */
 	.description = "flow_chain_l2_cntxt.write",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
@@ -740,17 +836,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 100,
+		.cond_start_idx = 107,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 50,
+	.key_start_idx = 72,
 	.blob_key_bit_size = 11,
 	.key_bit_size = 11,
 	.key_num_fields = 1,
-	.result_start_idx = 19,
+	.result_start_idx = 25,
 	.result_bit_size = 42,
 	.result_num_fields = 2
 	},
@@ -762,15 +858,15 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.direction = TF_DIR_RX,
 	.execute_info = {
 		.cond_true_goto  = 1,
-		.cond_false_goto = 5,
+		.cond_false_goto = 6,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 100,
+		.cond_start_idx = 109,
 		.cond_nums = 2 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 51,
+	.key_start_idx = 73,
 	.blob_key_bit_size = 110,
 	.key_bit_size = 110,
 	.key_num_fields = 8,
@@ -783,9 +879,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.direction = TF_DIR_RX,
 	.execute_info = {
 		.cond_true_goto  = 1,
-		.cond_false_goto = 4,
+		.cond_false_goto = 5,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 105,
+		.cond_start_idx = 116,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -800,7 +896,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 106,
+		.cond_start_idx = 117,
 		.cond_nums = 2 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_IDENT,
 	.tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
@@ -822,7 +918,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 108,
+		.cond_start_idx = 119,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
@@ -832,11 +928,40 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
 	.pri_operand = 0,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.key_start_idx = 59,
+	.key_start_idx = 81,
+	.blob_key_bit_size = 213,
+	.key_bit_size = 213,
+	.key_num_fields = 21,
+	.result_start_idx = 27,
+	.result_bit_size = 43,
+	.result_num_fields = 6,
+	.ident_start_idx = 15,
+	.ident_nums = 0
+	},
+	{ /* class_tid: 1, , table: l2_cntxt_tcam.ingress_entry_dup */
+	.description = "l2_cntxt_tcam.ingress_entry_dup",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
+	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 121,
+		.cond_nums = 1 },
+	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
+	.tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
+	.fdb_operand = BNXT_ULP_RF_IDX_RID,
+	.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
+	.pri_operand = 0,
+	.track_type = CFA_TRACK_TYPE_SID,
+	.key_start_idx = 102,
 	.blob_key_bit_size = 213,
 	.key_bit_size = 213,
 	.key_num_fields = 21,
-	.result_start_idx = 21,
+	.result_start_idx = 33,
 	.result_bit_size = 43,
 	.result_num_fields = 6,
 	.ident_start_idx = 15,
@@ -852,18 +977,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 110,
+		.cond_start_idx = 124,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 80,
+	.key_start_idx = 123,
 	.blob_key_bit_size = 110,
 	.key_bit_size = 110,
 	.key_num_fields = 8,
-	.result_start_idx = 27,
-	.result_bit_size = 70,
+	.result_start_idx = 39,
+	.result_bit_size = 69,
 	.result_num_fields = 5
 	},
 	{ /* class_tid: 1, , table: control.check_f1_flow */
@@ -874,7 +999,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 0,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 113,
+		.cond_start_idx = 129,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -915,7 +1040,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 128,
+		.cond_start_idx = 144,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -936,13 +1061,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 139,
+		.cond_start_idx = 155,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 88,
+	.key_start_idx = 131,
 	.blob_key_bit_size = 75,
 	.key_bit_size = 75,
 	.key_num_fields = 3,
@@ -955,12 +1080,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.direction = TF_DIR_RX,
 	.execute_info = {
 		.cond_true_goto  = 1,
-		.cond_false_goto = 13,
+		.cond_false_goto = 15,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 141,
+		.cond_start_idx = 157,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
-	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
+	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
+	.fdb_operand = BNXT_ULP_RF_IDX_RID
 	},
 	{ /* class_tid: 1, , table: hdr_overlap_cache.overlap_check */
 	.description = "hdr_overlap_cache.overlap_check",
@@ -972,17 +1098,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 142,
+		.cond_start_idx = 158,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
-	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
-	.key_start_idx = 91,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+	.key_start_idx = 134,
 	.blob_key_bit_size = 11,
 	.key_bit_size = 11,
 	.key_num_fields = 2,
-	.partial_key_start_idx = 93,
+	.partial_key_start_idx = 136,
 	.partial_key_num_fields = 1,
 	.partial_key_bit_size = 64,
 	.ident_start_idx = 22,
@@ -994,13 +1120,57 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.direction = TF_DIR_RX,
 	.execute_info = {
 		.cond_true_goto  = 1,
-		.cond_false_goto = 4,
+		.cond_false_goto = 7,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 144,
+		.cond_start_idx = 160,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
-	.fdb_operand = BNXT_ULP_RF_IDX_RID
+	.fdb_operand = BNXT_ULP_RF_IDX_RID_1
+	},
+	{ /* class_tid: 1, , table: group_miss_action_cache.rd */
+	.description = "group_miss_action_cache.rd",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GROUP_MISS_ACTION_CACHE,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 2,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 161,
+		.cond_nums = 1 },
+	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
+	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+	.key_start_idx = 137,
+	.blob_key_bit_size = 43,
+	.key_bit_size = 43,
+	.key_num_fields = 2,
+	.ident_start_idx = 24,
+	.ident_nums = 1
+	},
+	{ /* class_tid: 1, , table: control.ing_catch_all */
+	.description = "control.ing_catch_all",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+		.cond_start_idx = 163,
+		.cond_nums = 0 },
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
+	.func_info = {
+		.func_opc = BNXT_ULP_FUNC_OPC_EQ,
+		.func_oper_size = 8,
+		.func_src1 = BNXT_ULP_FUNC_SRC_REGFILE,
+		.func_opr1 = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS,
+		.func_src2 = BNXT_ULP_FUNC_SRC_CONST,
+		.func_opr2 = 0,
+		.func_dst_opr = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }
 	},
 	{ /* class_tid: 1, , table: profile_tcam.allocate_wc_profile */
 	.description = "profile_tcam.allocate_wc_profile",
@@ -1011,17 +1181,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 145,
+		.cond_start_idx = 163,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_IDENT,
 	.tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
-	.fdb_operand = BNXT_ULP_RF_IDX_RID,
-	.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
-	.pri_operand = 0,
+	.fdb_operand = BNXT_ULP_RF_IDX_RID_1,
+	.pri_opcode  = BNXT_ULP_PRI_OPC_APP_PRI_OR_CONST,
+	.pri_operand = ULP_THOR_SYM_PROF_TCAM_PRI_APP,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.ident_start_idx = 24,
+	.ident_start_idx = 25,
 	.ident_nums = 1
 	},
 	{ /* class_tid: 1, , table: fkb_select.wc_gen_template */
@@ -1033,18 +1203,47 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 145,
+		.cond_start_idx = 163,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_WC_KEY_ID_0,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
-	.fdb_operand = BNXT_ULP_RF_IDX_RID,
+	.fdb_operand = BNXT_ULP_RF_IDX_RID_1,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.result_start_idx = 32,
+	.result_start_idx = 44,
 	.result_bit_size = 106,
 	.result_num_fields = 106
 	},
+	{ /* class_tid: 1, , table: wm.ingress_generic_template_grp_catch_all */
+	.description = "wm.ingress_generic_template_grp_catch_all",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
+	.resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 419,
+		.cond_nums = 1 },
+	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
+	.tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
+	.fdb_operand = BNXT_ULP_RF_IDX_RID,
+	.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
+	.pri_operand = 1,
+	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
+	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
+	.track_type = CFA_TRACK_TYPE_SID,
+	.key_start_idx = 139,
+	.blob_key_bit_size = 0,
+	.key_bit_size = 0,
+	.key_num_fields = 33,
+	.result_start_idx = 150,
+	.result_bit_size = 38,
+	.result_num_fields = 5
+	},
 	{ /* class_tid: 1, , table: hdr_overlap_cache.overlap_wr */
 	.description = "hdr_overlap_cache.overlap_wr",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
@@ -1055,37 +1254,24 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 400,
+		.cond_start_idx = 940,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
-	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 94,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
+	.fdb_operand = BNXT_ULP_RF_IDX_RID,
+	.key_start_idx = 172,
 	.blob_key_bit_size = 11,
 	.key_bit_size = 11,
 	.key_num_fields = 2,
-	.partial_key_start_idx = 96,
+	.partial_key_start_idx = 174,
 	.partial_key_num_fields = 1,
 	.partial_key_bit_size = 64,
-	.result_start_idx = 138,
+	.result_start_idx = 155,
 	.result_bit_size = 48,
 	.result_num_fields = 3
 	},
-	{ /* class_tid: 1, , table: control.proto_header_rid_alloc */
-	.description = "control.proto_header_rid_alloc",
-	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
-	.direction = TF_DIR_RX,
-	.execute_info = {
-		.cond_true_goto  = 1,
-		.cond_false_goto = 1,
-		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 402,
-		.cond_nums = 0 },
-	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
-	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
-	.fdb_operand = BNXT_ULP_RF_IDX_RID
-	},
 	{ /* class_tid: 1, , table: fkb_select.em_gen_template_alloc */
 	.description = "fkb_select.em_gen_template_alloc",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -1095,7 +1281,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 402,
+		.cond_start_idx = 942,
 		.cond_nums = 1 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_EM_KEY_ID_0,
@@ -1103,7 +1289,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.result_start_idx = 141,
+	.result_start_idx = 158,
 	.result_bit_size = 106,
 	.result_num_fields = 106
 	},
@@ -1117,14 +1303,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 403,
+		.cond_start_idx = 943,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_ALLOC_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
-	.result_start_idx = 247,
+	.result_start_idx = 264,
 	.result_bit_size = 0,
 	.result_num_fields = 0
 	},
@@ -1136,7 +1322,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 403,
+		.cond_start_idx = 943,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -1144,7 +1330,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.func_opc = BNXT_ULP_FUNC_OPC_COND_LIST,
 		.func_oper_size = 8,
 		.func_src1 = BNXT_ULP_FUNC_SRC_KEY_EXT_LIST,
-		.func_opr1 = 48,
+		.func_opr1 = 128,
 		.func_dst_opr = BNXT_ULP_RF_IDX_PROF_TCAM_PRIORITY }
 	},
 	{ /* class_tid: 1, , table: profile_tcam.gen_template */
@@ -1156,7 +1342,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 419,
+		.cond_start_idx = 959,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
@@ -1168,14 +1354,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.key_start_idx = 97,
+	.key_start_idx = 175,
 	.blob_key_bit_size = 94,
 	.key_bit_size = 94,
 	.key_num_fields = 43,
-	.result_start_idx = 247,
+	.result_start_idx = 264,
 	.result_bit_size = 33,
 	.result_num_fields = 8,
-	.ident_start_idx = 25,
+	.ident_start_idx = 26,
 	.ident_nums = 1
 	},
 	{ /* class_tid: 1, , table: wm_key_recipe.0 */
@@ -1188,18 +1374,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 664,
+		.cond_start_idx = 1206,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_WC_RECIPE_ID,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
-	.key_start_idx = 140,
+	.key_start_idx = 218,
 	.blob_key_bit_size = 0,
 	.key_bit_size = 0,
 	.key_num_fields = 33,
-	.result_start_idx = 255,
+	.result_start_idx = 272,
 	.result_bit_size = 0,
 	.result_num_fields = 0
 	},
@@ -1213,17 +1399,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 1182,
+		.cond_start_idx = 1727,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 173,
+	.key_start_idx = 251,
 	.blob_key_bit_size = 75,
 	.key_bit_size = 75,
 	.key_num_fields = 3,
-	.result_start_idx = 255,
+	.result_start_idx = 272,
 	.result_bit_size = 106,
 	.result_num_fields = 8
 	},
@@ -1237,17 +1423,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 9,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 1184,
+		.cond_start_idx = 1729,
 		.cond_nums = 3 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 176,
+	.key_start_idx = 254,
 	.blob_key_bit_size = 77,
 	.key_bit_size = 77,
 	.key_num_fields = 4,
-	.ident_start_idx = 26,
+	.ident_start_idx = 27,
 	.ident_nums = 1
 	},
 	{ /* class_tid: 1, , table: control.em_flow_conflict_cache_miss */
@@ -1258,7 +1444,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 4,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 1189,
+		.cond_start_idx = 1734,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -1273,14 +1459,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 1190,
+		.cond_start_idx = 1735,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_EM_KEY_ID_0,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.result_start_idx = 263,
+	.result_start_idx = 280,
 	.result_bit_size = 106,
 	.result_num_fields = 106
 	},
@@ -1294,17 +1480,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 1437,
+		.cond_start_idx = 1982,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
-	.key_start_idx = 180,
+	.key_start_idx = 258,
 	.blob_key_bit_size = 0,
 	.key_bit_size = 0,
 	.key_num_fields = 33,
-	.result_start_idx = 369,
+	.result_start_idx = 386,
 	.result_bit_size = 0,
 	.result_num_fields = 0
 	},
@@ -1318,17 +1504,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 3,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 1931,
+		.cond_start_idx = 2476,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 213,
+	.key_start_idx = 291,
 	.blob_key_bit_size = 77,
 	.key_bit_size = 77,
 	.key_num_fields = 4,
-	.result_start_idx = 369,
+	.result_start_idx = 386,
 	.result_bit_size = 96,
 	.result_num_fields = 2
 	},
@@ -1340,7 +1526,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 4,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 1933,
+		.cond_start_idx = 2478,
 		.cond_nums = 2 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -1360,7 +1546,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 5,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 1935,
+		.cond_start_idx = 2480,
 		.cond_nums = 2 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -1374,7 +1560,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 2,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 1937,
+		.cond_start_idx = 2482,
 		.cond_nums = 4 },
 	.tbl_opcode = BNXT_ULP_EM_TBL_OPC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL,
@@ -1382,7 +1568,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.key_recipe_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
-	.result_start_idx = 371,
+	.result_start_idx = 388,
 	.result_bit_size = 0,
 	.result_num_fields = 6
 	},
@@ -1394,7 +1580,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 2,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 1941,
+		.cond_start_idx = 2486,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -1408,7 +1594,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 1942,
+		.cond_start_idx = 2487,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
@@ -1419,7 +1605,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.result_start_idx = 377,
+	.result_start_idx = 394,
 	.result_bit_size = 38,
 	.result_num_fields = 5
 	},
@@ -1431,7 +1617,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 0,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 1942,
+		.cond_start_idx = 2487,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -1444,7 +1630,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 1943,
+		.cond_start_idx = 2488,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -1460,10 +1646,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
 	.direction = TF_DIR_RX,
 	.execute_info = {
-		.cond_true_goto  = -27,
+		.cond_true_goto  = -29,
 		.cond_false_goto = 0,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 1943,
+		.cond_start_idx = 2488,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -1484,17 +1670,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 1943,
+		.cond_start_idx = 2488,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 217,
+	.key_start_idx = 295,
 	.blob_key_bit_size = 11,
 	.key_bit_size = 11,
 	.key_num_fields = 1,
-	.ident_start_idx = 27,
+	.ident_start_idx = 28,
 	.ident_nums = 2
 	},
 	{ /* class_tid: 2, , table: control.l2_only_check */
@@ -1547,7 +1733,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1023,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 1965,
+		.cond_start_idx = 2510,
 		.cond_nums = 2 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -1562,17 +1748,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 1967,
+		.cond_start_idx = 2512,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 218,
+	.key_start_idx = 296,
 	.blob_key_bit_size = 447,
 	.key_bit_size = 447,
 	.key_num_fields = 9,
-	.ident_start_idx = 29,
+	.ident_start_idx = 30,
 	.ident_nums = 1
 	},
 	{ /* class_tid: 2, , table: control.multi_flow_cache_check */
@@ -1583,7 +1769,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 5,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 1995,
+		.cond_start_idx = 2540,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -1599,14 +1785,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 1996,
+		.cond_start_idx = 2541,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_ALLOC_TBL_OPC_ALLOC,
 	.tbl_operand = BNXT_ULP_RF_IDX_JUMP_META_IDX,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
-	.result_start_idx = 382,
+	.result_start_idx = 399,
 	.result_bit_size = 0,
 	.result_num_fields = 0
 	},
@@ -1618,7 +1804,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 1996,
+		.cond_start_idx = 2541,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -1639,7 +1825,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 1996,
+		.cond_start_idx = 2541,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -1660,17 +1846,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 1996,
+		.cond_start_idx = 2541,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 227,
+	.key_start_idx = 305,
 	.blob_key_bit_size = 447,
 	.key_bit_size = 447,
 	.key_num_fields = 9,
-	.result_start_idx = 382,
+	.result_start_idx = 399,
 	.result_bit_size = 48,
 	.result_num_fields = 2
 	},
@@ -1682,7 +1868,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2024,
+		.cond_start_idx = 2569,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -1701,7 +1887,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2024,
+		.cond_start_idx = 2569,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -1709,7 +1895,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.func_opc = BNXT_ULP_FUNC_OPC_COND_LIST,
 		.func_oper_size = 8,
 		.func_src1 = BNXT_ULP_FUNC_SRC_KEY_EXT_LIST,
-		.func_opr1 = 316,
+		.func_opr1 = 398,
 		.func_dst_opr = BNXT_ULP_RF_IDX_TERM_FLOW }
 	},
 	{ /* class_tid: 2, , table: control.group_id_check */
@@ -1720,7 +1906,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 6,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 2032,
+		.cond_start_idx = 2577,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -1735,17 +1921,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2033,
+		.cond_start_idx = 2578,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 236,
+	.key_start_idx = 314,
 	.blob_key_bit_size = 32,
 	.key_bit_size = 32,
 	.key_num_fields = 1,
-	.ident_start_idx = 30,
+	.ident_start_idx = 31,
 	.ident_nums = 1
 	},
 	{ /* class_tid: 2, , table: control.flow_chain_group_id */
@@ -1756,7 +1942,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 4,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 2033,
+		.cond_start_idx = 2578,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -1772,14 +1958,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2034,
+		.cond_start_idx = 2579,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_ALLOC_TBL_OPC_ALLOC,
 	.tbl_operand = BNXT_ULP_RF_IDX_JUMP_META_IDX,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
-	.result_start_idx = 384,
+	.result_start_idx = 401,
 	.result_bit_size = 0,
 	.result_num_fields = 0
 	},
@@ -1791,7 +1977,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2034,
+		.cond_start_idx = 2579,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -1814,17 +2000,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2034,
+		.cond_start_idx = 2579,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 237,
+	.key_start_idx = 315,
 	.blob_key_bit_size = 32,
 	.key_bit_size = 32,
 	.key_num_fields = 1,
-	.result_start_idx = 384,
+	.result_start_idx = 401,
 	.result_bit_size = 48,
 	.result_num_fields = 2
 	},
@@ -1838,17 +2024,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2034,
+		.cond_start_idx = 2579,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 238,
+	.key_start_idx = 316,
 	.blob_key_bit_size = 75,
 	.key_bit_size = 75,
 	.key_num_fields = 3,
-	.ident_start_idx = 31,
+	.ident_start_idx = 32,
 	.ident_nums = 7
 	},
 	{ /* class_tid: 2, , table: control.proto_header_cache_miss */
@@ -1857,12 +2043,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.direction = TF_DIR_TX,
 	.execute_info = {
 		.cond_true_goto  = 1,
-		.cond_false_goto = 13,
+		.cond_false_goto = 15,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 2036,
+		.cond_start_idx = 2581,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
-	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
+	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
+	.fdb_operand = BNXT_ULP_RF_IDX_RID
 	},
 	{ /* class_tid: 2, , table: hdr_overlap_cache.overlap_check */
 	.description = "hdr_overlap_cache.overlap_check",
@@ -1874,20 +2061,20 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2037,
+		.cond_start_idx = 2582,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
-	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
-	.key_start_idx = 241,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+	.key_start_idx = 319,
 	.blob_key_bit_size = 11,
 	.key_bit_size = 11,
 	.key_num_fields = 2,
-	.partial_key_start_idx = 243,
+	.partial_key_start_idx = 321,
 	.partial_key_num_fields = 1,
 	.partial_key_bit_size = 64,
-	.ident_start_idx = 38,
+	.ident_start_idx = 39,
 	.ident_nums = 2
 	},
 	{ /* class_tid: 2, , table: control.overlap_miss */
@@ -1896,13 +2083,57 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.direction = TF_DIR_TX,
 	.execute_info = {
 		.cond_true_goto  = 1,
-		.cond_false_goto = 4,
+		.cond_false_goto = 7,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 2039,
+		.cond_start_idx = 2584,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
-	.fdb_operand = BNXT_ULP_RF_IDX_RID
+	.fdb_operand = BNXT_ULP_RF_IDX_RID_1
+	},
+	{ /* class_tid: 2, , table: group_miss_action_cache.rd */
+	.description = "group_miss_action_cache.rd",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GROUP_MISS_ACTION_CACHE,
+	.direction = TF_DIR_TX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 2,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 2585,
+		.cond_nums = 1 },
+	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
+	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+	.key_start_idx = 322,
+	.blob_key_bit_size = 43,
+	.key_bit_size = 43,
+	.key_num_fields = 2,
+	.ident_start_idx = 41,
+	.ident_nums = 1
+	},
+	{ /* class_tid: 2, , table: control.egr_catch_all */
+	.description = "control.egr_catch_all",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+	.direction = TF_DIR_TX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+		.cond_start_idx = 2587,
+		.cond_nums = 0 },
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
+	.func_info = {
+		.func_opc = BNXT_ULP_FUNC_OPC_EQ,
+		.func_oper_size = 8,
+		.func_src1 = BNXT_ULP_FUNC_SRC_REGFILE,
+		.func_opr1 = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS,
+		.func_src2 = BNXT_ULP_FUNC_SRC_CONST,
+		.func_opr2 = 0,
+		.func_dst_opr = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }
 	},
 	{ /* class_tid: 2, , table: profile_tcam.allocate_wc_profile */
 	.description = "profile_tcam.allocate_wc_profile",
@@ -1913,17 +2144,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2040,
+		.cond_start_idx = 2587,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_IDENT,
 	.tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
-	.fdb_operand = BNXT_ULP_RF_IDX_RID,
+	.fdb_operand = BNXT_ULP_RF_IDX_RID_1,
 	.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
 	.pri_operand = 0,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.ident_start_idx = 40,
+	.ident_start_idx = 42,
 	.ident_nums = 1
 	},
 	{ /* class_tid: 2, , table: fkb_select.wc_gen_template */
@@ -1935,18 +2166,47 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2040,
+		.cond_start_idx = 2587,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_WC_KEY_ID_0,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
-	.fdb_operand = BNXT_ULP_RF_IDX_RID,
+	.fdb_operand = BNXT_ULP_RF_IDX_RID_1,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.result_start_idx = 386,
+	.result_start_idx = 403,
 	.result_bit_size = 106,
 	.result_num_fields = 106
 	},
+	{ /* class_tid: 2, , table: wm.egress_generic_template_grp_catch_all */
+	.description = "wm.egress_generic_template_grp_catch_all",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
+	.resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
+	.direction = TF_DIR_TX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 2846,
+		.cond_nums = 1 },
+	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
+	.tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
+	.fdb_operand = BNXT_ULP_RF_IDX_RID,
+	.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
+	.pri_operand = 1,
+	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
+	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
+	.track_type = CFA_TRACK_TYPE_SID,
+	.key_start_idx = 324,
+	.blob_key_bit_size = 0,
+	.key_bit_size = 0,
+	.key_num_fields = 33,
+	.result_start_idx = 509,
+	.result_bit_size = 38,
+	.result_num_fields = 5
+	},
 	{ /* class_tid: 2, , table: hdr_overlap_cache.overlap_wr */
 	.description = "hdr_overlap_cache.overlap_wr",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
@@ -1957,37 +2217,24 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2298,
+		.cond_start_idx = 3373,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
-	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 244,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
+	.fdb_operand = BNXT_ULP_RF_IDX_RID,
+	.key_start_idx = 357,
 	.blob_key_bit_size = 11,
 	.key_bit_size = 11,
 	.key_num_fields = 2,
-	.partial_key_start_idx = 246,
+	.partial_key_start_idx = 359,
 	.partial_key_num_fields = 1,
 	.partial_key_bit_size = 64,
-	.result_start_idx = 492,
+	.result_start_idx = 514,
 	.result_bit_size = 48,
 	.result_num_fields = 3
 	},
-	{ /* class_tid: 2, , table: control.proto_header_rid_alloc */
-	.description = "control.proto_header_rid_alloc",
-	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
-	.direction = TF_DIR_TX,
-	.execute_info = {
-		.cond_true_goto  = 1,
-		.cond_false_goto = 1,
-		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2300,
-		.cond_nums = 0 },
-	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
-	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
-	.fdb_operand = BNXT_ULP_RF_IDX_RID
-	},
 	{ /* class_tid: 2, , table: fkb_select.em_gen_template_alloc */
 	.description = "fkb_select.em_gen_template_alloc",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -1997,7 +2244,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 2300,
+		.cond_start_idx = 3375,
 		.cond_nums = 1 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_EM_KEY_ID_0,
@@ -2005,7 +2252,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.result_start_idx = 495,
+	.result_start_idx = 517,
 	.result_bit_size = 106,
 	.result_num_fields = 106
 	},
@@ -2019,14 +2266,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2301,
+		.cond_start_idx = 3376,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_ALLOC_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
-	.result_start_idx = 601,
+	.result_start_idx = 623,
 	.result_bit_size = 0,
 	.result_num_fields = 0
 	},
@@ -2038,7 +2285,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2301,
+		.cond_start_idx = 3376,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -2046,7 +2293,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.func_opc = BNXT_ULP_FUNC_OPC_COND_LIST,
 		.func_oper_size = 8,
 		.func_src1 = BNXT_ULP_FUNC_SRC_KEY_EXT_LIST,
-		.func_opr1 = 359,
+		.func_opr1 = 523,
 		.func_dst_opr = BNXT_ULP_RF_IDX_PROF_TCAM_PRIORITY }
 	},
 	{ /* class_tid: 2, , table: profile_tcam.gen_template */
@@ -2058,7 +2305,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2317,
+		.cond_start_idx = 3392,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
@@ -2070,14 +2317,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.key_start_idx = 247,
+	.key_start_idx = 360,
 	.blob_key_bit_size = 94,
 	.key_bit_size = 94,
 	.key_num_fields = 43,
-	.result_start_idx = 601,
+	.result_start_idx = 623,
 	.result_bit_size = 33,
 	.result_num_fields = 8,
-	.ident_start_idx = 41,
+	.ident_start_idx = 43,
 	.ident_nums = 1
 	},
 	{ /* class_tid: 2, , table: wm_key_recipe.0 */
@@ -2090,18 +2337,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2560,
+		.cond_start_idx = 3636,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_WC_RECIPE_ID,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
-	.key_start_idx = 290,
+	.key_start_idx = 403,
 	.blob_key_bit_size = 0,
 	.key_bit_size = 0,
 	.key_num_fields = 33,
-	.result_start_idx = 609,
+	.result_start_idx = 631,
 	.result_bit_size = 0,
 	.result_num_fields = 0
 	},
@@ -2115,17 +2362,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3084,
+		.cond_start_idx = 4163,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 323,
+	.key_start_idx = 436,
 	.blob_key_bit_size = 75,
 	.key_bit_size = 75,
 	.key_num_fields = 3,
-	.result_start_idx = 609,
+	.result_start_idx = 631,
 	.result_bit_size = 106,
 	.result_num_fields = 8
 	},
@@ -2139,17 +2386,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 9,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 3086,
+		.cond_start_idx = 4165,
 		.cond_nums = 3 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 326,
+	.key_start_idx = 439,
 	.blob_key_bit_size = 77,
 	.key_bit_size = 77,
 	.key_num_fields = 4,
-	.ident_start_idx = 42,
+	.ident_start_idx = 44,
 	.ident_nums = 1
 	},
 	{ /* class_tid: 2, , table: control.em_flow_conflict_cache_miss */
@@ -2160,7 +2407,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 4,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 3091,
+		.cond_start_idx = 4170,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -2175,14 +2422,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3092,
+		.cond_start_idx = 4171,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_EM_KEY_ID_0,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.result_start_idx = 617,
+	.result_start_idx = 639,
 	.result_bit_size = 106,
 	.result_num_fields = 106
 	},
@@ -2196,17 +2443,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3336,
+		.cond_start_idx = 4415,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
-	.key_start_idx = 330,
+	.key_start_idx = 443,
 	.blob_key_bit_size = 0,
 	.key_bit_size = 0,
 	.key_num_fields = 33,
-	.result_start_idx = 723,
+	.result_start_idx = 745,
 	.result_bit_size = 0,
 	.result_num_fields = 0
 	},
@@ -2220,17 +2467,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 3,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3824,
+		.cond_start_idx = 4903,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 363,
+	.key_start_idx = 476,
 	.blob_key_bit_size = 77,
 	.key_bit_size = 77,
 	.key_num_fields = 4,
-	.result_start_idx = 723,
+	.result_start_idx = 745,
 	.result_bit_size = 96,
 	.result_num_fields = 2
 	},
@@ -2242,7 +2489,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 4,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 3826,
+		.cond_start_idx = 4905,
 		.cond_nums = 2 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -2262,7 +2509,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 5,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 3828,
+		.cond_start_idx = 4907,
 		.cond_nums = 2 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -2276,7 +2523,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 2,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 3830,
+		.cond_start_idx = 4909,
 		.cond_nums = 4 },
 	.tbl_opcode = BNXT_ULP_EM_TBL_OPC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL,
@@ -2284,7 +2531,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.key_recipe_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
-	.result_start_idx = 725,
+	.result_start_idx = 747,
 	.result_bit_size = 0,
 	.result_num_fields = 6
 	},
@@ -2296,7 +2543,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 2,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 3834,
+		.cond_start_idx = 4913,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -2310,7 +2557,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3835,
+		.cond_start_idx = 4914,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
@@ -2321,7 +2568,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.result_start_idx = 731,
+	.result_start_idx = 753,
 	.result_bit_size = 38,
 	.result_num_fields = 5
 	},
@@ -2333,7 +2580,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 0,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 3835,
+		.cond_start_idx = 4914,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -2346,7 +2593,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3836,
+		.cond_start_idx = 4915,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -2362,10 +2609,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
 	.direction = TF_DIR_TX,
 	.execute_info = {
-		.cond_true_goto  = -26,
+		.cond_true_goto  = -28,
 		.cond_false_goto = 0,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3836,
+		.cond_start_idx = 4915,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -2387,7 +2634,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3836,
+		.cond_start_idx = 4915,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR,
@@ -2395,7 +2642,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.result_start_idx = 736,
+	.result_start_idx = 758,
 	.result_bit_size = 128,
 	.result_num_fields = 17
 	},
@@ -2409,111 +2656,78 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3836,
+		.cond_start_idx = 4915,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 367,
+	.key_start_idx = 480,
 	.blob_key_bit_size = 10,
 	.key_bit_size = 10,
 	.key_num_fields = 1,
-	.result_start_idx = 753,
+	.result_start_idx = 775,
 	.result_bit_size = 179,
 	.result_num_fields = 8
 	},
-	{ /* class_tid: 3, , table: l2_cntxt_tcam_cache.ing_rd */
-	.description = "l2_cntxt_tcam_cache.ing_rd",
+	{ /* class_tid: 3, , table: prof_func_cache.ing_rd */
+	.description = "prof_func_cache.ing_rd",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
 	.resource_sub_type =
-		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROF_FUNC_CACHE,
 	.direction = TF_DIR_RX,
 	.execute_info = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3836,
+		.cond_start_idx = 4915,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 368,
-	.blob_key_bit_size = 11,
-	.key_bit_size = 11,
+	.key_start_idx = 481,
+	.blob_key_bit_size = 8,
+	.key_bit_size = 8,
 	.key_num_fields = 1,
-	.ident_start_idx = 43,
-	.ident_nums = 1
+	.ident_start_idx = 45,
+	.ident_nums = 2
 	},
-	{ /* class_tid: 3, , table: control.ing_0 */
-	.description = "control.ing_0",
+	{ /* class_tid: 3, , table: control.prof_func_miss */
+	.description = "control.prof_func_miss",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
 	.direction = TF_DIR_RX,
 	.execute_info = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 4,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 3836,
+		.cond_start_idx = 4915,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID
 	},
-	{ /* class_tid: 3, , table: l2_cntxt_tcam.ing_0 */
-	.description = "l2_cntxt_tcam.ing_0",
+	{ /* class_tid: 3, , table: l2_cntxt_tcam.alloc_prof_func */
+	.description = "l2_cntxt_tcam.alloc_prof_func",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
-	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
+	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
 	.direction = TF_DIR_RX,
 	.execute_info = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3837,
+		.cond_start_idx = 4916,
 		.cond_nums = 0 },
-	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
+	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_IDENT,
 	.tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
 	.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
 	.pri_operand = 0,
-	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
-	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.key_start_idx = 369,
-	.blob_key_bit_size = 213,
-	.key_bit_size = 213,
-	.key_num_fields = 21,
-	.result_start_idx = 761,
-	.result_bit_size = 43,
-	.result_num_fields = 6,
-	.ident_start_idx = 44,
-	.ident_nums = 2
-	},
-	{ /* class_tid: 3, , table: l2_cntxt_tcam_cache.ing_wr */
-	.description = "l2_cntxt_tcam_cache.ing_wr",
-	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
-	.resource_sub_type =
-		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
-	.direction = TF_DIR_RX,
-	.execute_info = {
-		.cond_true_goto  = 1,
-		.cond_false_goto = 1,
-		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3837,
-		.cond_nums = 0 },
-	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
-	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
-	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
-	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 390,
-	.blob_key_bit_size = 11,
-	.key_bit_size = 11,
-	.key_num_fields = 1,
-	.result_start_idx = 767,
-	.result_bit_size = 70,
-	.result_num_fields = 5
+	.ident_start_idx = 47,
+	.ident_nums = 1
 	},
 	{ /* class_tid: 3, , table: profile_tcam.prof_func_catch_all */
 	.description = "profile_tcam.prof_func_catch_all",
@@ -2524,27 +2738,52 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3837,
+		.cond_start_idx = 4916,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
-	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
-	.pri_operand = 5,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
+	.fdb_operand = BNXT_ULP_RF_IDX_RID,
+	.pri_opcode  = BNXT_ULP_PRI_OPC_APP_PRI_OR_CONST,
+	.pri_operand = ULP_THOR_SYM_PROF_TCAM_PRI_CATCHALL,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.key_start_idx = 391,
+	.key_start_idx = 482,
 	.blob_key_bit_size = 94,
 	.key_bit_size = 94,
 	.key_num_fields = 43,
-	.result_start_idx = 772,
+	.result_start_idx = 783,
 	.result_bit_size = 33,
 	.result_num_fields = 8,
-	.ident_start_idx = 46,
+	.ident_start_idx = 48,
 	.ident_nums = 0
 	},
+	{ /* class_tid: 3, , table: prof_func_cache.ing_wr */
+	.description = "prof_func_cache.ing_wr",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROF_FUNC_CACHE,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+		.cond_start_idx = 4916,
+		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
+	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+	.key_start_idx = 525,
+	.blob_key_bit_size = 8,
+	.key_bit_size = 8,
+	.key_num_fields = 1,
+	.result_start_idx = 791,
+	.result_bit_size = 39,
+	.result_num_fields = 2
+	},
 	{ /* class_tid: 3, , table: parif_def_arec_ptr.ing_0 */
 	.description = "parif_def_arec_ptr.ing_0",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
@@ -2554,13 +2793,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3837,
+		.cond_start_idx = 4916,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
 	.tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
-	.result_start_idx = 780,
+	.result_start_idx = 793,
 	.result_bit_size = 32,
 	.result_num_fields = 1
 	},
@@ -2573,13 +2812,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3837,
+		.cond_start_idx = 4916,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
 	.tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
-	.result_start_idx = 781,
+	.result_start_idx = 794,
 	.result_bit_size = 32,
 	.result_num_fields = 1
 	},
@@ -2594,7 +2833,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3837,
+		.cond_start_idx = 4916,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
@@ -2602,7 +2841,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.result_start_idx = 782,
+	.result_start_idx = 795,
 	.result_bit_size = 128,
 	.result_num_fields = 17,
 	.encap_num_fields = 0
@@ -2617,17 +2856,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3837,
+		.cond_start_idx = 4916,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 434,
+	.key_start_idx = 526,
 	.blob_key_bit_size = 10,
 	.key_bit_size = 10,
 	.key_num_fields = 1,
-	.result_start_idx = 799,
+	.result_start_idx = 812,
 	.result_bit_size = 179,
 	.result_num_fields = 8
 	},
@@ -2640,13 +2879,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3837,
+		.cond_start_idx = 4916,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
 	.tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_SVIF,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.result_start_idx = 807,
+	.result_start_idx = 820,
 	.result_bit_size = 64,
 	.result_num_fields = 8
 	},
@@ -2660,17 +2899,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3837,
+		.cond_start_idx = 4916,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 435,
+	.key_start_idx = 527,
 	.blob_key_bit_size = 11,
 	.key_bit_size = 11,
 	.key_num_fields = 1,
-	.ident_start_idx = 46,
+	.ident_start_idx = 48,
 	.ident_nums = 0
 	},
 	{ /* class_tid: 3, , table: control.non_vfr_egr_2 */
@@ -2681,7 +2920,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 4,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 3837,
+		.cond_start_idx = 4916,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -2696,7 +2935,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3838,
+		.cond_start_idx = 4917,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
@@ -2706,14 +2945,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.key_start_idx = 436,
+	.key_start_idx = 528,
 	.blob_key_bit_size = 213,
 	.key_bit_size = 213,
 	.key_num_fields = 21,
-	.result_start_idx = 815,
+	.result_start_idx = 828,
 	.result_bit_size = 43,
 	.result_num_fields = 6,
-	.ident_start_idx = 46,
+	.ident_start_idx = 48,
 	.ident_nums = 2
 	},
 	{ /* class_tid: 3, , table: profile_tcam.non_vfr_prof_func_egr_catch_all */
@@ -2725,25 +2964,25 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3838,
+		.cond_start_idx = 4917,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
-	.pri_operand = 5,
+	.pri_opcode  = BNXT_ULP_PRI_OPC_APP_PRI_OR_CONST,
+	.pri_operand = ULP_THOR_SYM_PROF_TCAM_PRI_CATCHALL,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.key_start_idx = 457,
+	.key_start_idx = 549,
 	.blob_key_bit_size = 94,
 	.key_bit_size = 94,
 	.key_num_fields = 43,
-	.result_start_idx = 821,
+	.result_start_idx = 834,
 	.result_bit_size = 33,
 	.result_num_fields = 8,
-	.ident_start_idx = 48,
+	.ident_start_idx = 50,
 	.ident_nums = 0
 	},
 	{ /* class_tid: 3, , table: l2_cntxt_tcam_cache.non_vfr_egr_wr */
@@ -2756,18 +2995,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3838,
+		.cond_start_idx = 4917,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 500,
+	.key_start_idx = 592,
 	.blob_key_bit_size = 11,
 	.key_bit_size = 11,
 	.key_num_fields = 1,
-	.result_start_idx = 829,
-	.result_bit_size = 70,
+	.result_start_idx = 842,
+	.result_bit_size = 69,
 	.result_num_fields = 5
 	},
 	{ /* class_tid: 3, , table: tunnel_gparse_cache.def_cust_tun_rd */
@@ -2786,11 +3025,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 501,
+	.key_start_idx = 593,
 	.blob_key_bit_size = 8,
 	.key_bit_size = 8,
 	.key_num_fields = 1,
-	.ident_start_idx = 48,
+	.ident_start_idx = 50,
 	.ident_nums = 2
 	},
 	{ /* class_tid: 3, , table: control.default_custom_tunnel */
@@ -2801,7 +3040,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 0,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 3840,
+		.cond_start_idx = 4919,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -2817,12 +3056,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 3841,
+		.cond_start_idx = 4920,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
-	.result_start_idx = 834,
+	.result_start_idx = 847,
 	.result_bit_size = 16,
 	.result_num_fields = 1
 	},
@@ -2836,12 +3075,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 3842,
+		.cond_start_idx = 4921,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
-	.result_start_idx = 835,
+	.result_start_idx = 848,
 	.result_bit_size = 16,
 	.result_num_fields = 1
 	},
@@ -2855,17 +3094,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 0,
 		.cond_false_goto = 0,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3843,
+		.cond_start_idx = 4922,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 502,
+	.key_start_idx = 594,
 	.blob_key_bit_size = 8,
 	.key_bit_size = 8,
 	.key_num_fields = 1,
-	.result_start_idx = 836,
+	.result_start_idx = 849,
 	.result_bit_size = 80,
 	.result_num_fields = 3
 	},
@@ -2880,17 +3119,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3843,
+		.cond_start_idx = 4922,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 503,
+	.key_start_idx = 595,
 	.blob_key_bit_size = 15,
 	.key_bit_size = 15,
 	.key_num_fields = 3,
-	.ident_start_idx = 50,
+	.ident_start_idx = 52,
 	.ident_nums = 0
 	},
 	{ /* class_tid: 4, , table: control.prof_tcam_cache.vfr_glb_act_rec_rd.0 */
@@ -2901,7 +3140,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 6,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 3843,
+		.cond_start_idx = 4922,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -2918,14 +3157,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3844,
+		.cond_start_idx = 4923,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
 	.tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_MODIFY_PTR,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.result_start_idx = 839,
+	.result_start_idx = 852,
 	.result_bit_size = 0,
 	.result_num_fields = 0,
 	.encap_num_fields = 20
@@ -2941,7 +3180,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3844,
+		.cond_start_idx = 4923,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
 	.tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
@@ -2949,7 +3188,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.result_start_idx = 859,
+	.result_start_idx = 872,
 	.result_bit_size = 128,
 	.result_num_fields = 17,
 	.encap_num_fields = 0
@@ -2963,14 +3202,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3844,
+		.cond_start_idx = 4923,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_CONST,
 	.tbl_operand = ULP_THOR_SYM_LOOPBACK_PARIF,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
-	.result_start_idx = 876,
+	.result_start_idx = 889,
 	.result_bit_size = 32,
 	.result_num_fields = 1
 	},
@@ -2983,14 +3222,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3844,
+		.cond_start_idx = 4923,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_CONST,
 	.tbl_operand = ULP_THOR_SYM_LOOPBACK_PARIF,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
-	.result_start_idx = 877,
+	.result_start_idx = 890,
 	.result_bit_size = 32,
 	.result_num_fields = 1
 	},
@@ -3005,17 +3244,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3844,
+		.cond_start_idx = 4923,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 506,
+	.key_start_idx = 598,
 	.blob_key_bit_size = 15,
 	.key_bit_size = 15,
 	.key_num_fields = 3,
-	.result_start_idx = 878,
+	.result_start_idx = 891,
 	.result_bit_size = 138,
 	.result_num_fields = 7
 	},
@@ -3029,17 +3268,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3844,
+		.cond_start_idx = 4923,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 509,
+	.key_start_idx = 601,
 	.blob_key_bit_size = 11,
 	.key_bit_size = 11,
 	.key_num_fields = 1,
-	.ident_start_idx = 50,
+	.ident_start_idx = 52,
 	.ident_nums = 0
 	},
 	{ /* class_tid: 4, , table: control.vf_2_vfr.0 */
@@ -3050,7 +3289,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 5,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 3844,
+		.cond_start_idx = 4923,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -3066,17 +3305,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3845,
+		.cond_start_idx = 4924,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
-	.key_start_idx = 510,
+	.key_start_idx = 602,
 	.blob_key_bit_size = 11,
 	.key_bit_size = 11,
 	.key_num_fields = 1,
-	.ident_start_idx = 50,
+	.ident_start_idx = 52,
 	.ident_nums = 1
 	},
 	{ /* class_tid: 4, , table: l2_cntxt_tcam.vf_egr */
@@ -3088,7 +3327,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3845,
+		.cond_start_idx = 4924,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
@@ -3098,14 +3337,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
 	.pri_operand = 0,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.key_start_idx = 511,
+	.key_start_idx = 603,
 	.blob_key_bit_size = 213,
 	.key_bit_size = 213,
 	.key_num_fields = 21,
-	.result_start_idx = 885,
+	.result_start_idx = 898,
 	.result_bit_size = 43,
 	.result_num_fields = 6,
-	.ident_start_idx = 51,
+	.ident_start_idx = 53,
 	.ident_nums = 1
 	},
 	{ /* class_tid: 4, , table: profile_tcam.prof_func_catch_all */
@@ -3117,26 +3356,26 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3845,
+		.cond_start_idx = 4924,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
-	.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
-	.pri_operand = 5,
+	.pri_opcode  = BNXT_ULP_PRI_OPC_APP_PRI_OR_CONST,
+	.pri_operand = ULP_THOR_SYM_PROF_TCAM_PRI_CATCHALL,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.key_start_idx = 532,
+	.key_start_idx = 624,
 	.blob_key_bit_size = 94,
 	.key_bit_size = 94,
 	.key_num_fields = 43,
-	.result_start_idx = 891,
+	.result_start_idx = 904,
 	.result_bit_size = 33,
 	.result_num_fields = 8,
-	.ident_start_idx = 52,
+	.ident_start_idx = 54,
 	.ident_nums = 0
 	},
 	{ /* class_tid: 4, , table: l2_cntxt_tcam_cache.vf_egr_wr */
@@ -3149,18 +3388,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3845,
+		.cond_start_idx = 4924,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 575,
+	.key_start_idx = 667,
 	.blob_key_bit_size = 11,
 	.key_bit_size = 11,
 	.key_num_fields = 1,
-	.result_start_idx = 899,
-	.result_bit_size = 70,
+	.result_start_idx = 912,
+	.result_bit_size = 69,
 	.result_num_fields = 5
 	},
 	{ /* class_tid: 4, , table: int_full_act_record.vf_2_vfr_ing */
@@ -3174,7 +3413,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3845,
+		.cond_start_idx = 4924,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
@@ -3182,7 +3421,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_AND_SET_VFR_FLAG,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.result_start_idx = 904,
+	.result_start_idx = 917,
 	.result_bit_size = 128,
 	.result_num_fields = 17
 	},
@@ -3197,17 +3436,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3845,
+		.cond_start_idx = 4924,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 576,
+	.key_start_idx = 668,
 	.blob_key_bit_size = 15,
 	.key_bit_size = 15,
 	.key_num_fields = 3,
-	.ident_start_idx = 52,
+	.ident_start_idx = 54,
 	.ident_nums = 0
 	},
 	{ /* class_tid: 4, , table: control.prof_tcam_cache.vfr.0 */
@@ -3218,7 +3457,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 10,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 3845,
+		.cond_start_idx = 4924,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -3235,7 +3474,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3846,
+		.cond_start_idx = 4925,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
 	.tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_DROP_AREC_PTR,
@@ -3243,7 +3482,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.result_start_idx = 921,
+	.result_start_idx = 934,
 	.result_bit_size = 128,
 	.result_num_fields = 17,
 	.encap_num_fields = 0
@@ -3257,7 +3496,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3846,
+		.cond_start_idx = 4925,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
@@ -3269,14 +3508,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.key_start_idx = 579,
+	.key_start_idx = 671,
 	.blob_key_bit_size = 213,
 	.key_bit_size = 213,
 	.key_num_fields = 21,
-	.result_start_idx = 938,
+	.result_start_idx = 951,
 	.result_bit_size = 43,
 	.result_num_fields = 6,
-	.ident_start_idx = 52,
+	.ident_start_idx = 54,
 	.ident_nums = 0
 	},
 	{ /* class_tid: 4, , table: l2_cntxt_tcam.vfr_2_vf_ing.0 */
@@ -3288,7 +3527,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3846,
+		.cond_start_idx = 4925,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
@@ -3300,14 +3539,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.key_start_idx = 600,
+	.key_start_idx = 692,
 	.blob_key_bit_size = 213,
 	.key_bit_size = 213,
 	.key_num_fields = 21,
-	.result_start_idx = 944,
+	.result_start_idx = 957,
 	.result_bit_size = 43,
 	.result_num_fields = 6,
-	.ident_start_idx = 52,
+	.ident_start_idx = 54,
 	.ident_nums = 0
 	},
 	{ /* class_tid: 4, , table: fkb_select.vfr_em */
@@ -3319,14 +3558,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3846,
+		.cond_start_idx = 4925,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
 	.tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_KEY_ID_0,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.result_start_idx = 950,
+	.result_start_idx = 963,
 	.result_bit_size = 106,
 	.result_num_fields = 106
 	},
@@ -3339,14 +3578,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3846,
+		.cond_start_idx = 4925,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
 	.tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_KEY_ID_1,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.result_start_idx = 1056,
+	.result_start_idx = 1069,
 	.result_bit_size = 106,
 	.result_num_fields = 106
 	},
@@ -3359,7 +3598,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3846,
+		.cond_start_idx = 4925,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
@@ -3371,11 +3610,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.key_start_idx = 621,
+	.key_start_idx = 713,
 	.blob_key_bit_size = 94,
 	.key_bit_size = 94,
 	.key_num_fields = 43,
-	.result_start_idx = 1162,
+	.result_start_idx = 1175,
 	.result_bit_size = 33,
 	.result_num_fields = 8
 	},
@@ -3388,7 +3627,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3846,
+		.cond_start_idx = 4925,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
@@ -3400,11 +3639,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.key_start_idx = 664,
+	.key_start_idx = 756,
 	.blob_key_bit_size = 94,
 	.key_bit_size = 94,
 	.key_num_fields = 43,
-	.result_start_idx = 1170,
+	.result_start_idx = 1183,
 	.result_bit_size = 33,
 	.result_num_fields = 8
 	},
@@ -3419,17 +3658,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3846,
+		.cond_start_idx = 4925,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 707,
+	.key_start_idx = 799,
 	.blob_key_bit_size = 15,
 	.key_bit_size = 15,
 	.key_num_fields = 3,
-	.result_start_idx = 1178,
+	.result_start_idx = 1191,
 	.result_bit_size = 138,
 	.result_num_fields = 7
 	},
@@ -3442,13 +3681,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3846,
+		.cond_start_idx = 4925,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
 	.tbl_operand = BNXT_ULP_CF_IDX_VF_FUNC_SVIF,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.result_start_idx = 1185,
+	.result_start_idx = 1198,
 	.result_bit_size = 64,
 	.result_num_fields = 8
 	},
@@ -3461,16 +3700,16 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3846,
+		.cond_start_idx = 4925,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
-	.key_start_idx = 710,
+	.key_start_idx = 802,
 	.blob_key_bit_size = 0,
 	.key_bit_size = 0,
 	.key_num_fields = 3,
-	.result_start_idx = 1193,
+	.result_start_idx = 1206,
 	.result_bit_size = 0,
 	.result_num_fields = 6
 	},
@@ -3485,17 +3724,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3846,
+		.cond_start_idx = 4925,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 713,
+	.key_start_idx = 805,
 	.blob_key_bit_size = 11,
 	.key_bit_size = 11,
 	.key_num_fields = 1,
-	.ident_start_idx = 52,
+	.ident_start_idx = 54,
 	.ident_nums = 0
 	},
 	{ /* class_tid: 4, , table: control.0 */
@@ -3506,7 +3745,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 4,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 3846,
+		.cond_start_idx = 4925,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -3521,14 +3760,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3847,
+		.cond_start_idx = 4926,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
 	.tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_SVIF,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
-	.result_start_idx = 1199,
+	.result_start_idx = 1212,
 	.result_bit_size = 64,
 	.result_num_fields = 8
 	},
@@ -3542,18 +3781,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3847,
+		.cond_start_idx = 4926,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.key_start_idx = 714,
+	.key_start_idx = 806,
 	.blob_key_bit_size = 11,
 	.key_bit_size = 11,
 	.key_num_fields = 1,
-	.result_start_idx = 1207,
-	.result_bit_size = 70,
+	.result_start_idx = 1220,
+	.result_bit_size = 69,
 	.result_num_fields = 5
 	},
 	{ /* class_tid: 4, , table: ilt_tbl.vf_egr */
@@ -3565,13 +3804,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3847,
+		.cond_start_idx = 4926,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
 	.tbl_operand = BNXT_ULP_CF_IDX_VF_FUNC_SVIF,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.result_start_idx = 1212,
+	.result_start_idx = 1225,
 	.result_bit_size = 64,
 	.result_num_fields = 8
 	},
@@ -3586,14 +3825,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3847,
+		.cond_start_idx = 4926,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_MODIFY_PTR,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.result_start_idx = 1220,
+	.result_start_idx = 1233,
 	.result_bit_size = 0,
 	.result_num_fields = 0,
 	.encap_num_fields = 20
@@ -3609,7 +3848,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3847,
+		.cond_start_idx = 4926,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
@@ -3617,7 +3856,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.result_start_idx = 1240,
+	.result_start_idx = 1253,
 	.result_bit_size = 128,
 	.result_num_fields = 17
 	},
@@ -3632,7 +3871,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3847,
+		.cond_start_idx = 4926,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
@@ -3640,7 +3879,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.result_start_idx = 1257,
+	.result_start_idx = 1270,
 	.result_bit_size = 128,
 	.result_num_fields = 17
 	},
@@ -3653,154 +3892,848 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_true_goto  = 0,
 		.cond_false_goto = 0,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3847,
+		.cond_start_idx = 4926,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
-	.key_start_idx = 715,
+	.key_start_idx = 807,
 	.blob_key_bit_size = 0,
 	.key_bit_size = 0,
 	.key_num_fields = 2,
-	.result_start_idx = 1274,
+	.result_start_idx = 1287,
 	.result_bit_size = 0,
 	.result_num_fields = 6
-	}
-};
-
-struct bnxt_ulp_mapper_cond_list_info ulp_thor_class_cond_oper_list[] = {
-	/* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/
-	{
-		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
-		.cond_start_idx = 0,
-		.cond_nums = 3
 	},
-	/* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/
-	{
-		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 3,
-		.cond_nums = 2
+	{ /* class_tid: 5, , table: port_table.ing_rd */
+	.description = "port_table.ing_rd",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PORT_TABLE,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+		.cond_start_idx = 4926,
+		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
+	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+	.key_start_idx = 809,
+	.blob_key_bit_size = 10,
+	.key_bit_size = 10,
+	.key_num_fields = 1,
+	.ident_start_idx = 54,
+	.ident_nums = 1
 	},
-	/* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/
-	{
-		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 5,
-		.cond_nums = 3
+	{ /* class_tid: 5, , table: prof_func_cache.ing_rd */
+	.description = "prof_func_cache.ing_rd",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROF_FUNC_CACHE,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+		.cond_start_idx = 4926,
+		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
+	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+	.key_start_idx = 810,
+	.blob_key_bit_size = 8,
+	.key_bit_size = 8,
+	.key_num_fields = 1,
+	.ident_start_idx = 55,
+	.ident_nums = 1
 	},
-	/* cond_execute: class_tid: 1, cust_tunnel.configure_vxlan_port:17*/
-	{
-		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 17,
-		.cond_nums = 2
+	{ /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_rd */
+	.description = "l2_cntxt_tcam_cache.ing_rd",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+		.cond_start_idx = 4926,
+		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
+	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+	.key_start_idx = 811,
+	.blob_key_bit_size = 11,
+	.key_bit_size = 11,
+	.key_num_fields = 1,
+	.ident_start_idx = 56,
+	.ident_nums = 1
 	},
-	/* cond_execute: class_tid: 1, cust_tunnel.configure_vxlan_ip_port:19*/
-	{
+	{ /* class_tid: 5, , table: control.ing_0 */
+	.description = "control.ing_0",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 0,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 19,
-		.cond_nums = 2
+		.cond_start_idx = 4926,
+		.cond_nums = 1 },
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
+	.fdb_operand = BNXT_ULP_RF_IDX_RID
 	},
-	/* cond_execute: class_tid: 1, control.check_tunnel_recycle:35*/
-	{
+	{ /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_rd_sock */
+	.description = "l2_cntxt_tcam_cache.ing_rd_sock",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 35,
-		.cond_nums = 3
+		.cond_start_idx = 4927,
+		.cond_nums = 1 },
+	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
+	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+	.func_info = {
+		.func_opc = BNXT_ULP_FUNC_OPC_EQ,
+		.func_src1 = BNXT_ULP_FUNC_SRC_COMP_FIELD,
+		.func_opr1 = BNXT_ULP_CF_IDX_PHY_PORT_SVIF,
+		.func_src2 = BNXT_ULP_FUNC_SRC_CONST,
+		.func_opr2 = 1,
+		.func_dst_opr = BNXT_ULP_RF_IDX_CC },
+	.key_start_idx = 812,
+	.blob_key_bit_size = 11,
+	.key_bit_size = 11,
+	.key_num_fields = 1,
+	.ident_start_idx = 57,
+	.ident_nums = 2
 	},
-	/* cond_execute: class_tid: 1, control.l2_only_check:114*/
-	{
-		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 114,
-		.cond_nums = 5
+	{ /* class_tid: 5, , table: l2_cntxt_tcam.ing_0 */
+	.description = "l2_cntxt_tcam.ing_0",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
+	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+		.cond_start_idx = 4928,
+		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
+	.tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
+	.fdb_operand = BNXT_ULP_RF_IDX_RID,
+	.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
+	.pri_operand = 0,
+	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
+	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
+	.track_type = CFA_TRACK_TYPE_SID,
+	.key_start_idx = 813,
+	.blob_key_bit_size = 213,
+	.key_bit_size = 213,
+	.key_num_fields = 21,
+	.result_start_idx = 1293,
+	.result_bit_size = 43,
+	.result_num_fields = 6,
+	.ident_start_idx = 59,
+	.ident_nums = 1
 	},
-	/* cond_execute: class_tid: 1, control.l2_only_check:114*/
-	{
-		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 119,
-		.cond_nums = 5
+	{ /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_wr */
+	.description = "l2_cntxt_tcam_cache.ing_wr",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 0,
+		.cond_false_goto = 0,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+		.cond_start_idx = 4932,
+		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
+	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+	.key_start_idx = 834,
+	.blob_key_bit_size = 11,
+	.key_bit_size = 11,
+	.key_num_fields = 1,
+	.result_start_idx = 1299,
+	.result_bit_size = 69,
+	.result_num_fields = 5
 	},
-	/* cond_execute: class_tid: 1, control.tunnel_ipv6_sip_check:124*/
-	{
-		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 124,
-		.cond_nums = 4
+	{ /* class_tid: 6, , table: l2_cntxt_tcam_cache.ing_rd */
+	.description = "l2_cntxt_tcam_cache.ing_rd",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+		.cond_start_idx = 4936,
+		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
+	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
+	.ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_NOP,
+	.key_start_idx = 835,
+	.blob_key_bit_size = 11,
+	.key_bit_size = 11,
+	.key_num_fields = 1,
+	.ident_start_idx = 60,
+	.ident_nums = 1
 	},
-	/* cond_execute: class_tid: 2, control.l2_only_check:1943*/
-	{
+	{ /* class_tid: 6, , table: control.l2_cache_check */
+	.description = "control.l2_cache_check",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 0,
+		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 1943,
-		.cond_nums = 5
+		.cond_start_idx = 4936,
+		.cond_nums = 1 },
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
 	},
-	/* cond_execute: class_tid: 2, control.l2_only_check:1943*/
-	{
+	{ /* class_tid: 6, , table: control.l2_cache_cnt_check */
+	.description = "control.l2_cache_cnt_check",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+	.direction = TF_DIR_RX,
+	.false_message = "Promisc mode cannot be disabled as there are flows that is using the promisc rule.",
+	.execute_info = {
+		.cond_true_goto  = 0,
+		.cond_false_goto = 1023,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 1948,
-		.cond_nums = 5
+		.cond_start_idx = 4937,
+		.cond_nums = 1 },
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
+	.func_info = {
+		.func_opc = BNXT_ULP_FUNC_OPC_EQ,
+		.func_src1 = BNXT_ULP_FUNC_SRC_REGFILE,
+		.func_opr1 = BNXT_ULP_RF_IDX_REF_CNT,
+		.func_src2 = BNXT_ULP_FUNC_SRC_CONST,
+		.func_opr2 = 1,
+		.func_dst_opr = BNXT_ULP_RF_IDX_CC }
 	},
-	/* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:1953*/
-	{
+	{ /* class_tid: 7, , table: control.direction_check */
+	.description = "control.direction_check",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 11,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 1953,
-		.cond_nums = 5
+		.cond_start_idx = 4938,
+		.cond_nums = 1 },
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
+	.func_info = {
+		.func_opc = BNXT_ULP_FUNC_OPC_EQ,
+		.func_src1 = BNXT_ULP_FUNC_SRC_COMP_FIELD,
+		.func_opr1 = BNXT_ULP_CF_IDX_DIRECTION,
+		.func_src2 = BNXT_ULP_FUNC_SRC_CONST,
+		.func_opr2 = ULP_THOR_SYM_DIR_INGRESS,
+		.func_dst_opr = BNXT_ULP_RF_IDX_CC }
 	},
-	/* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:1953*/
-	{
-		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 1958,
-		.cond_nums = 5
+	{ /* class_tid: 7, , table: flow_chain_cache.group_check */
+	.description = "flow_chain_cache.group_check",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_FLOW_CHAIN_CACHE,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+		.cond_start_idx = 4939,
+		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
+	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+	.key_start_idx = 836,
+	.blob_key_bit_size = 32,
+	.key_bit_size = 32,
+	.key_num_fields = 1,
+	.ident_start_idx = 61,
+	.ident_nums = 1
 	},
-	/* cond_execute: class_tid: 2, control.check_tunnel_recycle:1963*/
-	{
+	{ /* class_tid: 7, , table: control.flow_chain_group_id */
+	.description = "control.flow_chain_group_id",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 4,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 1963,
-		.cond_nums = 2
-	},
-	/* cond_execute: class_tid: 3, tunnel_gparse_cache.def_cust_tun_rd:3838*/
-	{
-		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
-		.cond_start_idx = 3838,
-		.cond_nums = 2
-	}
-};
-
-struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
-	/* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_F1
+		.cond_start_idx = 4939,
+		.cond_nums = 1 },
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
+	.fdb_operand = BNXT_ULP_RF_IDX_RID
 	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_F2
+	{ /* class_tid: 7, , table: jump_index_table.alloc */
+	.description = "jump_index_table.alloc",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_ALLOCATOR_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_ALLOCATOR_TABLE_JUMP_INDEX,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+		.cond_start_idx = 4940,
+		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_ALLOC_TBL_OPC_ALLOC,
+	.tbl_operand = BNXT_ULP_RF_IDX_JUMP_META_IDX,
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
+	.fdb_operand = BNXT_ULP_RF_IDX_RID,
+	.result_start_idx = 1304,
+	.result_bit_size = 0,
+	.result_num_fields = 0
 	},
-	/* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	{ /* class_tid: 7, , table: control.metadata_cal */
+	.description = "control.metadata_cal",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+		.cond_start_idx = 4940,
+		.cond_nums = 0 },
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
+	.func_info = {
+		.func_opc = BNXT_ULP_FUNC_OPC_BIT_OR,
+		.func_oper_size = 16,
+		.func_src1 = BNXT_ULP_FUNC_SRC_REGFILE,
+		.func_opr1 = BNXT_ULP_RF_IDX_JUMP_META_IDX,
+		.func_src2 = BNXT_ULP_FUNC_SRC_CONST,
+		.func_opr2 = ULP_THOR_SYM_CHAIN_META_VAL,
+		.func_dst_opr = BNXT_ULP_RF_IDX_JUMP_META }
 	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	{ /* class_tid: 7, , table: flow_chain_cache.write */
+	.description = "flow_chain_cache.write",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_FLOW_CHAIN_CACHE,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+		.cond_start_idx = 4940,
+		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
+	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+	.key_start_idx = 837,
+	.blob_key_bit_size = 32,
+	.key_bit_size = 32,
+	.key_num_fields = 1,
+	.result_start_idx = 1304,
+	.result_bit_size = 48,
+	.result_num_fields = 2
 	},
-	/* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	{ /* class_tid: 7, , table: group_miss_action_cache.rd_ing */
+	.description = "group_miss_action_cache.rd_ing",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GROUP_MISS_ACTION_CACHE,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+		.cond_start_idx = 4940,
+		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
+	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+	.key_start_idx = 838,
+	.blob_key_bit_size = 43,
+	.key_bit_size = 43,
+	.key_num_fields = 2,
+	.ident_start_idx = 62,
+	.ident_nums = 0
 	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	{ /* class_tid: 7, , table: control.group_miss_action */
+	.description = "control.group_miss_action",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1023,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 4940,
+		.cond_nums = 1 },
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
+	.fdb_operand = BNXT_ULP_RF_IDX_RID
 	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	{ /* class_tid: 7, , table: group_miss_action_cache.write */
+	.description = "group_miss_action_cache.write",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GROUP_MISS_ACTION_CACHE,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+		.cond_start_idx = 4941,
+		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
+	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+	.key_start_idx = 840,
+	.blob_key_bit_size = 43,
+	.key_bit_size = 43,
+	.key_num_fields = 2,
+	.result_start_idx = 1306,
+	.result_bit_size = 48,
+	.result_num_fields = 2
 	},
-	/* cond_execute: class_tid: 1, tunnel_gparse_cache.custom_tunnel_rd:8*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	{ /* class_tid: 7, , table: l2_cntxt_tcam_cache.ing_rd */
+	.description = "l2_cntxt_tcam_cache.ing_rd",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+		.cond_start_idx = 4941,
+		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
+	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+	.key_start_idx = 842,
+	.blob_key_bit_size = 11,
+	.key_bit_size = 11,
+	.key_num_fields = 1,
+	.ident_start_idx = 62,
+	.ident_nums = 2
+	},
+	{ /* class_tid: 7, , table: profile_tcam_bypass.prof_func_group_catch_all */
+	.description = "profile_tcam_bypass.prof_func_group_catch_all",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
+	.resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 0,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+		.cond_start_idx = 4941,
+		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
+	.tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+	.func_info = {
+		.func_opc = BNXT_ULP_FUNC_OPC_EQ,
+		.func_src1 = BNXT_ULP_FUNC_SRC_COMP_FIELD,
+		.func_opr1 = BNXT_ULP_CF_IDX_GROUP_ID,
+		.func_src2 = BNXT_ULP_FUNC_SRC_CONST,
+		.func_opr2 = 0,
+		.func_dst_opr = BNXT_ULP_RF_IDX_CC },
+	.pri_opcode  = BNXT_ULP_PRI_OPC_APP_PRI_OR_CONST,
+	.pri_operand = ULP_THOR_SYM_PROF_TCAM_PRI_GRPCATCHALL,
+	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
+	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
+	.track_type = CFA_TRACK_TYPE_SID,
+	.key_start_idx = 843,
+	.blob_key_bit_size = 94,
+	.key_bit_size = 94,
+	.key_num_fields = 43,
+	.result_start_idx = 1308,
+	.result_bit_size = 33,
+	.result_num_fields = 4,
+	.ident_start_idx = 64,
+	.ident_nums = 0
+	},
+	{ /* class_tid: 7, , table: flow_chain_cache.group_check_egr */
+	.description = "flow_chain_cache.group_check_egr",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_FLOW_CHAIN_CACHE,
+	.direction = TF_DIR_TX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+		.cond_start_idx = 4942,
+		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
+	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+	.key_start_idx = 886,
+	.blob_key_bit_size = 32,
+	.key_bit_size = 32,
+	.key_num_fields = 1,
+	.ident_start_idx = 64,
+	.ident_nums = 1
+	},
+	{ /* class_tid: 7, , table: control.flow_chain_group_id_egr */
+	.description = "control.flow_chain_group_id_egr",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+	.direction = TF_DIR_TX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 4,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 4942,
+		.cond_nums = 1 },
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
+	.fdb_operand = BNXT_ULP_RF_IDX_RID
+	},
+	{ /* class_tid: 7, , table: jump_index_table.alloc_egr */
+	.description = "jump_index_table.alloc_egr",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_ALLOCATOR_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_ALLOCATOR_TABLE_JUMP_INDEX,
+	.direction = TF_DIR_TX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+		.cond_start_idx = 4943,
+		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_ALLOC_TBL_OPC_ALLOC,
+	.tbl_operand = BNXT_ULP_RF_IDX_JUMP_META_IDX,
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
+	.fdb_operand = BNXT_ULP_RF_IDX_RID,
+	.result_start_idx = 1312,
+	.result_bit_size = 0,
+	.result_num_fields = 0
+	},
+	{ /* class_tid: 7, , table: control.metadata_cal_egr */
+	.description = "control.metadata_cal_egr",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+	.direction = TF_DIR_TX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+		.cond_start_idx = 4943,
+		.cond_nums = 0 },
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
+	.func_info = {
+		.func_opc = BNXT_ULP_FUNC_OPC_BIT_OR,
+		.func_oper_size = 16,
+		.func_src1 = BNXT_ULP_FUNC_SRC_REGFILE,
+		.func_opr1 = BNXT_ULP_RF_IDX_JUMP_META_IDX,
+		.func_src2 = BNXT_ULP_FUNC_SRC_CONST,
+		.func_opr2 = ULP_THOR_SYM_CHAIN_META_VAL,
+		.func_dst_opr = BNXT_ULP_RF_IDX_JUMP_META }
+	},
+	{ /* class_tid: 7, , table: flow_chain_cache.write_egr */
+	.description = "flow_chain_cache.write_egr",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_FLOW_CHAIN_CACHE,
+	.direction = TF_DIR_TX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+		.cond_start_idx = 4943,
+		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
+	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+	.key_start_idx = 887,
+	.blob_key_bit_size = 32,
+	.key_bit_size = 32,
+	.key_num_fields = 1,
+	.result_start_idx = 1312,
+	.result_bit_size = 48,
+	.result_num_fields = 2
+	},
+	{ /* class_tid: 7, , table: group_miss_action_cache.rd_egr */
+	.description = "group_miss_action_cache.rd_egr",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GROUP_MISS_ACTION_CACHE,
+	.direction = TF_DIR_TX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+		.cond_start_idx = 4943,
+		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
+	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+	.key_start_idx = 888,
+	.blob_key_bit_size = 43,
+	.key_bit_size = 43,
+	.key_num_fields = 2,
+	.ident_start_idx = 65,
+	.ident_nums = 0
+	},
+	{ /* class_tid: 7, , table: control.group_miss_action_egr */
+	.description = "control.group_miss_action_egr",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+	.direction = TF_DIR_TX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1023,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 4943,
+		.cond_nums = 1 },
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
+	.fdb_operand = BNXT_ULP_RF_IDX_RID
+	},
+	{ /* class_tid: 7, , table: group_miss_action_cache.write_egr */
+	.description = "group_miss_action_cache.write_egr",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GROUP_MISS_ACTION_CACHE,
+	.direction = TF_DIR_TX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+		.cond_start_idx = 4944,
+		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
+	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+	.key_start_idx = 890,
+	.blob_key_bit_size = 43,
+	.key_bit_size = 43,
+	.key_num_fields = 2,
+	.result_start_idx = 1314,
+	.result_bit_size = 48,
+	.result_num_fields = 2
+	},
+	{ /* class_tid: 7, , table: l2_cntxt_tcam_cache.ing_rd_egr */
+	.description = "l2_cntxt_tcam_cache.ing_rd_egr",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
+	.direction = TF_DIR_TX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+		.cond_start_idx = 4944,
+		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
+	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+	.key_start_idx = 892,
+	.blob_key_bit_size = 11,
+	.key_bit_size = 11,
+	.key_num_fields = 1,
+	.ident_start_idx = 65,
+	.ident_nums = 2
+	},
+	{ /* class_tid: 7, , table: profile_tcam_bypass.prof_func_group_catch_all_egr */
+	.description = "profile_tcam_bypass.prof_func_group_catch_all_egr",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
+	.resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
+	.direction = TF_DIR_TX,
+	.execute_info = {
+		.cond_true_goto  = 0,
+		.cond_false_goto = 0,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+		.cond_start_idx = 4944,
+		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
+	.tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+	.func_info = {
+		.func_opc = BNXT_ULP_FUNC_OPC_EQ,
+		.func_src1 = BNXT_ULP_FUNC_SRC_COMP_FIELD,
+		.func_opr1 = BNXT_ULP_CF_IDX_GROUP_ID,
+		.func_src2 = BNXT_ULP_FUNC_SRC_CONST,
+		.func_opr2 = 0,
+		.func_dst_opr = BNXT_ULP_RF_IDX_CC },
+	.pri_opcode  = BNXT_ULP_PRI_OPC_APP_PRI_OR_CONST,
+	.pri_operand = ULP_THOR_SYM_PROF_TCAM_PRI_GRPCATCHALL,
+	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
+	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
+	.track_type = CFA_TRACK_TYPE_SID,
+	.key_start_idx = 893,
+	.blob_key_bit_size = 94,
+	.key_bit_size = 94,
+	.key_num_fields = 43,
+	.result_start_idx = 1316,
+	.result_bit_size = 33,
+	.result_num_fields = 4,
+	.ident_start_idx = 67,
+	.ident_nums = 0
+	}
+};
+
+struct bnxt_ulp_mapper_cond_list_info ulp_thor_class_cond_oper_list[] = {
+	/* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/
+	{
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
+		.cond_start_idx = 0,
+		.cond_nums = 3
+	},
+	/* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/
+	{
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 3,
+		.cond_nums = 2
+	},
+	/* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/
+	{
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 5,
+		.cond_nums = 3
+	},
+	/* cond_execute: class_tid: 1, cust_tunnel.configure_vxlan_port:17*/
+	{
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 17,
+		.cond_nums = 2
+	},
+	/* cond_execute: class_tid: 1, cust_tunnel.configure_vxlan_ip_port:19*/
+	{
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 19,
+		.cond_nums = 2
+	},
+	/* cond_execute: class_tid: 1, control.check_tunnel_recycle:37*/
+	{
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 37,
+		.cond_nums = 3
+	},
+	/* cond_execute: class_tid: 1, control.l2_only_check:130*/
+	{
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 130,
+		.cond_nums = 5
+	},
+	/* cond_execute: class_tid: 1, control.l2_only_check:130*/
+	{
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 135,
+		.cond_nums = 5
+	},
+	/* cond_execute: class_tid: 1, control.tunnel_ipv6_sip_check:140*/
+	{
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 140,
+		.cond_nums = 4
+	},
+	/* cond_execute: class_tid: 2, control.l2_only_check:2488*/
+	{
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 2488,
+		.cond_nums = 5
+	},
+	/* cond_execute: class_tid: 2, control.l2_only_check:2488*/
+	{
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 2493,
+		.cond_nums = 5
+	},
+	/* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2498*/
+	{
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 2498,
+		.cond_nums = 5
+	},
+	/* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2498*/
+	{
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 2503,
+		.cond_nums = 5
+	},
+	/* cond_execute: class_tid: 2, control.check_tunnel_recycle:2508*/
+	{
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 2508,
+		.cond_nums = 2
+	},
+	/* cond_execute: class_tid: 3, tunnel_gparse_cache.def_cust_tun_rd:4917*/
+	{
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
+		.cond_start_idx = 4917,
+		.cond_nums = 2
+	}
+};
+
+struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
+	/* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_F1
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_F2
+	},
+	/* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	},
+	/* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	},
+	/* cond_execute: class_tid: 1, tunnel_gparse_cache.custom_tunnel_rd:8*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
@@ -3921,7 +4854,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_FEATURE_BIT_PARENT_DMAC
 	},
-	/* cond_execute: class_tid: 1, control.check_tunnel_recycle:35*/
+	/* cond_execute: class_tid: 1, l2_cntxt_tcam_cache.rd:35*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_O_DMAC
+	},
+	/* cond_execute: class_tid: 1, control.prof_func_miss:36*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+	},
+	/* cond_execute: class_tid: 1, control.check_tunnel_recycle:37*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
@@ -3934,7 +4877,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_F1
 	},
-	/* cond_execute: class_tid: 1, control.multi_tunnel_check:38*/
+	/* cond_execute: class_tid: 1, control.multi_tunnel_check:40*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
 	.cond_operand = BNXT_ULP_CF_IDX_OUTER_EM_ONLY
@@ -3943,7 +4886,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
 	},
-	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:40*/
+	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:42*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
@@ -3952,7 +4895,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
 	},
-	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:42*/
+	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:44*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
@@ -3961,7 +4904,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
 	},
-	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:44*/
+	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:46*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
@@ -3970,7 +4913,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
 	},
-	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:46*/
+	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:48*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
@@ -3979,7 +4922,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
 	},
-	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:48*/
+	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:50*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
@@ -3988,7 +4931,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
 	},
-	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:50*/
+	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:52*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
@@ -3997,7 +4940,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
 	},
-	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:52*/
+	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:54*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
@@ -4006,7 +4949,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
 	},
-	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:54*/
+	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:56*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
@@ -4015,7 +4958,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
 	},
-	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:56*/
+	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:58*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
@@ -4024,7 +4967,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
 	},
-	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:58*/
+	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:60*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
@@ -4033,7 +4976,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
 	},
-	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:60*/
+	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:62*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
@@ -4042,7 +4985,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
 	},
-	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:62*/
+	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:64*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
@@ -4051,12 +4994,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
 	},
-	/* cond_execute: class_tid: 1, control.multi_flow_cache_check:64*/
+	/* cond_execute: class_tid: 1, control.multi_flow_cache_check:66*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
 	},
-	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:65*/
+	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:67*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
@@ -4065,7 +5008,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
 	},
-	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:67*/
+	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:69*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
@@ -4074,7 +5017,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
 	},
-	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:69*/
+	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:71*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
@@ -4083,7 +5026,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
 	},
-	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:71*/
+	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:73*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
@@ -4092,7 +5035,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
 	},
-	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:73*/
+	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:75*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
@@ -4101,7 +5044,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
 	},
-	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:75*/
+	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:77*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
@@ -4110,7 +5053,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
 	},
-	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:77*/
+	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:79*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
@@ -4119,7 +5062,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
 	},
-	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:79*/
+	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:81*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
@@ -4128,7 +5071,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
 	},
-	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:81*/
+	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:83*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
@@ -4137,7 +5080,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
 	},
-	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:83*/
+	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:85*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
@@ -4146,7 +5089,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
 	},
-	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:85*/
+	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:87*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
@@ -4155,7 +5098,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
 	},
-	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:87*/
+	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:89*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
@@ -4164,7 +5107,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
 	},
-	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:89*/
+	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:91*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
@@ -4173,7 +5116,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
 	},
-	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:91*/
+	/* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:93*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
@@ -4182,17 +5125,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
 	},
-	/* cond_execute: class_tid: 1, control.group_id_check:93*/
+	/* cond_execute: class_tid: 1, control.group_id_check:95*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
 	},
-	/* cond_execute: class_tid: 1, control.flow_chain_group_id:94*/
+	/* cond_execute: class_tid: 1, control.flow_chain_group_id:96*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
 	},
-	/* cond_execute: class_tid: 1, flow_chain_l2_cntxt.chaining_check:95*/
+	/* cond_execute: class_tid: 1, flow_chain_l2_cntxt.chaining_check:97*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
@@ -4201,22 +5144,57 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* cond_execute: class_tid: 1, control.flow_chain_group_l2_cntxt_check:97*/
+	/* field_cond: class_tid: 1, flow_chain_l2_cntxt.chaining_check:99*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT
+	},
+	/* field_cond: class_tid: 1, flow_chain_l2_cntxt.chaining_check:100*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT
+	},
+	/* cond_execute: class_tid: 1, control.flow_chain_group_l2_cntxt_check:101*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
 	},
-	/* field_cond: class_tid: 1, l2_cntxt_tcam.chain_entry:98*/
+	/* field_cond: class_tid: 1, l2_cntxt_tcam.chain_entry:102*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
+	},
+	/* field_cond: class_tid: 1, l2_cntxt_tcam.chain_entry:103*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
+	},
+	/* cond_execute: class_tid: 1, l2_cntxt_tcam.chain_entry_dup:104*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT
+	},
+	/* field_cond: class_tid: 1, l2_cntxt_tcam.chain_entry_dup:105*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
 	},
-	/* field_cond: class_tid: 1, l2_cntxt_tcam.chain_entry:99*/
+	/* field_cond: class_tid: 1, l2_cntxt_tcam.chain_entry_dup:106*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
 	},
-	/* cond_execute: class_tid: 1, mac_addr_cache.rd:100*/
+	/* field_cond: class_tid: 1, flow_chain_l2_cntxt.write:107*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT
+	},
+	/* field_cond: class_tid: 1, flow_chain_l2_cntxt.write:108*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT
+	},
+	/* cond_execute: class_tid: 1, mac_addr_cache.rd:109*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_O_DMAC
@@ -4225,12 +5203,22 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
 	},
-	/* field_cond: class_tid: 1, mac_addr_cache.rd:102*/
+	/* field_cond: class_tid: 1, mac_addr_cache.rd:111*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT
+	},
+	/* field_cond: class_tid: 1, mac_addr_cache.rd:112*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT
+	},
+	/* field_cond: class_tid: 1, mac_addr_cache.rd:113*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
 	},
-	/* field_cond: class_tid: 1, mac_addr_cache.rd:103*/
+	/* field_cond: class_tid: 1, mac_addr_cache.rd:114*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_METADATA
@@ -4239,12 +5227,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* cond_execute: class_tid: 1, control.mac_addr_cache_miss:105*/
+	/* cond_execute: class_tid: 1, control.mac_addr_cache_miss:116*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
 	},
-	/* cond_execute: class_tid: 1, l2_cntxt_tcam.allocate_l2_context:106*/
+	/* cond_execute: class_tid: 1, l2_cntxt_tcam.allocate_l2_context:117*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_F1
@@ -4253,22 +5241,47 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_F2
 	},
-	/* field_cond: class_tid: 1, l2_cntxt_tcam.ingress_entry:108*/
+	/* field_cond: class_tid: 1, l2_cntxt_tcam.ingress_entry:119*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
+	},
+	/* field_cond: class_tid: 1, l2_cntxt_tcam.ingress_entry:120*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
+	},
+	/* cond_execute: class_tid: 1, l2_cntxt_tcam.ingress_entry_dup:121*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT
+	},
+	/* field_cond: class_tid: 1, l2_cntxt_tcam.ingress_entry_dup:122*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
 	},
-	/* field_cond: class_tid: 1, l2_cntxt_tcam.ingress_entry:109*/
+	/* field_cond: class_tid: 1, l2_cntxt_tcam.ingress_entry_dup:123*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
 	},
-	/* field_cond: class_tid: 1, mac_addr_cache.wr:110*/
+	/* field_cond: class_tid: 1, mac_addr_cache.wr:124*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT
+	},
+	/* field_cond: class_tid: 1, mac_addr_cache.wr:125*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT
+	},
+	/* field_cond: class_tid: 1, mac_addr_cache.wr:126*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
 	},
-	/* field_cond: class_tid: 1, mac_addr_cache.wr:111*/
+	/* field_cond: class_tid: 1, mac_addr_cache.wr:127*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_METADATA
@@ -4277,12 +5290,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* cond_execute: class_tid: 1, control.check_f1_flow:113*/
+	/* cond_execute: class_tid: 1, control.check_f1_flow:129*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_F1
 	},
-	/* cond_execute: class_tid: 1, control.l2_only_check:114*/
+	/* cond_execute: class_tid: 1, control.l2_only_check:130*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -4303,7 +5316,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
 	},
-	/* cond_execute: class_tid: 1, control.l2_only_check:114*/
+	/* cond_execute: class_tid: 1, control.l2_only_check:130*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -4324,7 +5337,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE
 	},
-	/* cond_execute: class_tid: 1, control.tunnel_ipv6_sip_check:124*/
+	/* cond_execute: class_tid: 1, control.tunnel_ipv6_sip_check:140*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
@@ -4341,7 +5354,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
 	},
-	/* field_cond: class_tid: 1, control.terminating_flow:128*/
+	/* field_cond: class_tid: 1, control.terminating_flow:144*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -4354,7 +5367,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
-	/* field_cond: class_tid: 1, control.terminating_flow:131*/
+	/* field_cond: class_tid: 1, control.terminating_flow:147*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -4367,7 +5380,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
-	/* field_cond: class_tid: 1, control.terminating_flow:134*/
+	/* field_cond: class_tid: 1, control.terminating_flow:150*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -4376,7 +5389,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
-	/* field_cond: class_tid: 1, control.terminating_flow:136*/
+	/* field_cond: class_tid: 1, control.terminating_flow:152*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -4385,12 +5398,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
-	/* field_cond: class_tid: 1, control.terminating_flow:138*/
+	/* field_cond: class_tid: 1, control.terminating_flow:154*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 1, proto_header_cache.rd:139*/
+	/* field_cond: class_tid: 1, proto_header_cache.rd:155*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
@@ -4399,12 +5412,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* cond_execute: class_tid: 1, control.proto_header_cache_miss:141*/
+	/* cond_execute: class_tid: 1, control.proto_header_cache_miss:157*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
 	},
-	/* field_cond: class_tid: 1, hdr_overlap_cache.overlap_check:142*/
+	/* field_cond: class_tid: 1, hdr_overlap_cache.overlap_check:158*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
@@ -4413,12 +5426,22 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* cond_execute: class_tid: 1, control.overlap_miss:144*/
+	/* cond_execute: class_tid: 1, control.overlap_miss:160*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:145*/
+	/* cond_execute: class_tid: 1, group_miss_action_cache.rd:161*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	/* field_cond: class_tid: 1, group_miss_action_cache.rd:162*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	},
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:163*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -4427,7 +5450,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:147*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:165*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
@@ -4436,12 +5459,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:149*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET
+	},
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:168*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:150*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:169*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -4458,7 +5485,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:154*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:173*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -4475,7 +5502,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:158*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:177*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -4496,7 +5523,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:163*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:182*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -4517,7 +5544,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:168*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:187*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -4538,7 +5565,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:173*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:192*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -4559,7 +5586,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:178*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:197*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -4576,12 +5603,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:182*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:201*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:183*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:202*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -4598,7 +5625,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:187*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:206*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -4615,7 +5642,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:191*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:210*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -4632,7 +5659,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:195*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:214*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -4649,7 +5676,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:199*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:218*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -4666,7 +5693,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:203*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:222*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -4683,7 +5710,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:207*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:226*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -4700,7 +5727,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:211*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:230*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -4717,7 +5744,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:215*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:234*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -4734,7 +5761,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:219*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:238*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -4751,7 +5778,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:223*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:242*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -4768,7 +5795,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:227*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:246*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -4789,7 +5816,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:232*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:251*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -4806,7 +5833,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:236*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:255*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -4819,7 +5846,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:239*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:258*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -4832,7 +5859,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:242*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:261*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -4849,7 +5876,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:246*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:265*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -4862,7 +5889,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:249*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:268*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -4879,7 +5906,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:253*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:272*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -4892,7 +5919,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:256*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:275*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -4913,7 +5940,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:261*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:280*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -4930,7 +5957,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:265*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:284*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -4951,7 +5978,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:270*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:289*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -4972,7 +5999,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:275*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:294*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -4989,7 +6016,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:279*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:298*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -5006,7 +6033,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:283*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:302*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5027,7 +6054,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:288*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:307*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5044,7 +6071,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:292*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:311*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5065,7 +6092,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:297*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:316*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5086,7 +6113,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:302*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:321*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5103,7 +6130,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:306*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:325*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5120,7 +6147,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:310*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:329*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5141,7 +6168,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:315*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:334*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5162,7 +6189,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:320*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:339*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5179,7 +6206,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:324*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:343*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5196,7 +6223,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:328*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:347*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5217,7 +6244,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:333*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:352*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5238,7 +6265,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:338*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:357*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5255,7 +6282,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:342*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:361*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5272,7 +6299,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:346*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:365*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5293,7 +6320,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:351*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:370*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5314,7 +6341,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:356*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:375*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5331,7 +6358,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:360*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:379*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5348,7 +6375,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:364*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:383*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5369,7 +6396,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:369*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:388*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5390,7 +6417,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:374*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:393*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5407,7 +6434,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:378*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:397*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5424,7 +6451,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:382*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:401*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -5433,7 +6460,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:384*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:403*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
@@ -5446,12 +6473,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_ICMP
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:387*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:406*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:388*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:407*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
@@ -5464,7 +6491,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_ICMP
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:391*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:410*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -5473,7 +6500,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:393*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:412*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
@@ -5486,12 +6513,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_ICMP
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:396*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:415*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:397*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:416*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
@@ -5504,1249 +6531,1223 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_ICMP
 	},
-	/* field_cond: class_tid: 1, hdr_overlap_cache.overlap_wr:400*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
-	},
+	/* cond_execute: class_tid: 1, wm.ingress_generic_template_grp_catch_all:419*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET
 	},
-	/* cond_execute: class_tid: 1, fkb_select.em_gen_template_alloc:402*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:420*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_TERM_FLOW
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, control.profile_tcam_priority:403*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:422*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, control.profile_tcam_priority:405*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:424*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
 	},
-	/* field_cond: class_tid: 1, control.profile_tcam_priority:407*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET
 	},
-	/* field_cond: class_tid: 1, control.profile_tcam_priority:409*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:427*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, control.profile_tcam_priority:411*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:430*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
 	},
-	/* field_cond: class_tid: 1, control.profile_tcam_priority:413*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:431*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:432*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, control.profile_tcam_priority:415*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
-	/* field_cond: class_tid: 1, control.profile_tcam_priority:417*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:436*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:419*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:421*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:440*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:423*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:425*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:444*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:427*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:429*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:448*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:431*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
-	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:433*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:435*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:453*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:437*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
-	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:439*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:441*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:458*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:443*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:445*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
+	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:463*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:447*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:449*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:468*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:451*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
-	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:453*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:455*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:473*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:457*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:459*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:461*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:478*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:463*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:465*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:483*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:467*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:469*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:488*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:471*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:473*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:492*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:475*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:477*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:496*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:479*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:481*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:500*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
+	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:501*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:483*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:485*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:505*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
+	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:506*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:487*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:489*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:510*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:491*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:493*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:514*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:495*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:497*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:518*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:499*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:501*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:522*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:503*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:505*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:526*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:507*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:509*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:530*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:511*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:513*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:534*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:515*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:517*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:538*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:519*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:521*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:542*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:523*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:525*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:546*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:527*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:529*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:550*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:531*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:533*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:554*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:535*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:537*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:558*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:539*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:542*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:562*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
+	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:566*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:545*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:548*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:570*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:551*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:552*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:574*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:553*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:555*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:578*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:557*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:559*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:582*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:561*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:563*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:586*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:565*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	},
+	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:567*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:591*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:569*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:571*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:595*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_GRE
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:573*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_UPAR1
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:575*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_UPAR2
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
+	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:600*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:577*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:579*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:604*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:581*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:583*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:607*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_GRE
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:585*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:610*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_UPAR1
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:587*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_UPAR2
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:589*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:613*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:590*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:591*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI
+	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:616*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:592*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:594*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC
+	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:620*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:596*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:623*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:598*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:600*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC
+	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:627*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:602*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:630*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:604*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:606*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC
+	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:634*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:608*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:637*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:610*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:612*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC
+	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:641*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:614*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:644*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:616*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
-	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:618*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:620*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:621*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:649*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:623*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:625*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:653*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:626*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:628*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:630*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:658*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
-	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:632*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:634*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:662*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:636*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
-	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:638*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:640*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:667*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:642*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:644*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:646*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:672*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:648*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:650*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:676*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:653*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:680*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:656*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:657*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:685*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:658*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:660*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_F2
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:662*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:690*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:664*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:666*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:694*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:668*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:670*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:698*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:672*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:673*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:674*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:703*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -6755,12 +7756,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
+	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:707*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:678*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -6768,19 +7773,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:682*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:712*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -6789,12 +7794,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:686*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:716*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -6802,37 +7807,29 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:690*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:720*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:695*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:723*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -6840,41 +7837,29 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:700*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:727*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:705*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:730*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -6882,41 +7867,29 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:710*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:734*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:715*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:737*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -6924,45 +7897,29 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:720*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:741*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:725*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:744*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -6970,19 +7927,15 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:730*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:748*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -6991,12 +7944,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:734*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:751*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -7004,38 +7957,29 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:738*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:755*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:742*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:743*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:758*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -7043,38 +7987,29 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:747*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:748*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:762*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:752*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:765*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -7082,19 +8017,15 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:756*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:769*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -7105,10 +8036,10 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:760*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:772*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -7116,33 +8047,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:764*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:768*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:776*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -7150,19 +8064,15 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:772*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:780*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -7173,13 +8083,9 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:776*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
-	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:783*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -7190,10 +8096,10 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:780*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:786*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -7201,16 +8107,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:784*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:790*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -7218,19 +8124,15 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:788*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:794*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -7239,15 +8141,11 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:792*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:797*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -7256,12 +8154,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:796*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:800*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -7269,16 +8167,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:800*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:803*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -7286,33 +8180,30 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:806*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:804*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:808*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:808*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:810*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -7320,16 +8211,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:812*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:814*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -7337,50 +8228,42 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:816*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:818*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:820*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:821*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:824*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:824*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -7388,75 +8271,60 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:828*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:827*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
-	},
-	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:830*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:833*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:832*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:837*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:834*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
-	},
-	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:842*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:838*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -7464,65 +8332,56 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:846*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:842*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:849*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:845*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:852*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:848*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:855*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:858*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:852*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -7533,56 +8392,56 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:862*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:856*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:865*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:859*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:869*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:862*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:872*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:866*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -7593,56 +8452,56 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:876*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:870*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:879*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:873*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:883*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:876*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:886*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:880*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -7653,72 +8512,48 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:891*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:884*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:895*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:887*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:900*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:890*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:904*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:892*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -7729,17 +8564,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:909*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:896*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -7750,51 +8581,48 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:914*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:900*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:918*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:903*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:906*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:922*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:908*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -7805,17 +8633,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:927*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:912*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -7826,55 +8650,48 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:932*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:916*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:936*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:919*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:922*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:940*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:924*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -7885,132 +8702,124 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:945*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:928*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:949*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:932*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:954*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
 	},
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:935*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:958*/
+	/* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:938*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
+	/* field_cond: class_tid: 1, hdr_overlap_cache.overlap_wr:940*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	/* cond_execute: class_tid: 1, fkb_select.em_gen_template_alloc:942*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_TERM_FLOW
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:962*/
+	/* field_cond: class_tid: 1, control.profile_tcam_priority:943*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
+	/* field_cond: class_tid: 1, control.profile_tcam_priority:945*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:965*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
+	/* field_cond: class_tid: 1, control.profile_tcam_priority:947*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:969*/
+	/* field_cond: class_tid: 1, control.profile_tcam_priority:949*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
+	/* field_cond: class_tid: 1, control.profile_tcam_priority:951*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:972*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
+	/* field_cond: class_tid: 1, control.profile_tcam_priority:953*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8019,298 +8828,241 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:976*/
+	/* field_cond: class_tid: 1, control.profile_tcam_priority:955*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
+	/* field_cond: class_tid: 1, control.profile_tcam_priority:957*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:979*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:959*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:983*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:961*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:986*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:963*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:990*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:965*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:993*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:967*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:997*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:969*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1000*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:971*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1004*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:973*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:975*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1007*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:977*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1011*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:979*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:981*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1014*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:983*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:985*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1018*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:987*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1022*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:989*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1025*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:991*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:993*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1028*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:995*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:997*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1032*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:999*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1036*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1001*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1039*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1003*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1005*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1042*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1007*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8319,29 +9071,25 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1045*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
-	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1009*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1048*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1011*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1050*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1013*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8350,145 +9098,124 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1052*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
-	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1015*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1017*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1056*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1019*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1060*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1021*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1063*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1023*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1025*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1066*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1027*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1069*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1029*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1072*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1031*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1074*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1033*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1076*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1035*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1037*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1080*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1039*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1084*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1041*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8497,28 +9224,25 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1043*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1087*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1045*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1090*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1047*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8527,15 +9251,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1094*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
-	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1049*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8544,11 +9260,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1098*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1051*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8557,11 +9269,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1101*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1053*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8570,15 +9278,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1104*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
-	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1055*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8587,15 +9287,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1108*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
-	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1057*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8604,11 +9296,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1112*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1059*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8617,11 +9305,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1115*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1061*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8630,506 +9314,472 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1118*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
-	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1063*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT
-	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1122*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1065*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1126*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1067*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1129*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1069*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1071*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1132*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1073*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1134*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1075*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1077*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1138*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1079*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1142*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1082*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1145*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1085*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1148*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1088*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1091*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1150*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1092*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1093*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1095*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1154*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1097*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1158*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1099*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1161*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1101*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1103*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1164*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1105*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1166*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1107*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1109*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1170*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1111*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_T_GRE
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1113*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1174*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_UPAR1
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1115*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_UPAR2
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1177*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1117*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1119*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, wm_key_recipe.0:1180*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1121*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, proto_header_cache.wr:1182*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1123*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* cond_execute: class_tid: 1, em_flow_conflict_cache.rd:1184*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_IDX_WC_MATCH
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_GRE
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1125*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_TERM_FLOW
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_UPAR1
 	},
-	/* field_cond: class_tid: 1, em_flow_conflict_cache.rd:1187*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1127*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_UPAR2
 	},
-	/* cond_execute: class_tid: 1, control.em_flow_conflict_cache_miss:1189*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1129*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1190*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1130*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1131*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1192*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1132*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1194*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1134*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1195*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1136*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1138*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1200*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1140*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1142*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1204*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1144*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1146*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
-	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1209*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1148*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1150*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1214*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1152*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1154*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1219*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1156*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1158*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1224*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1160*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1161*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
-	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1228*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1163*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1232*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1165*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1166*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -9138,32 +9788,34 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1168*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1236*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1170*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1172*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1240*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1174*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -9172,32 +9824,34 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1176*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1244*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1178*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1180*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1248*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1182*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -9206,163 +9860,168 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1184*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1252*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1186*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1188*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1256*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1190*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1260*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1193*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1264*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1196*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1197*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1198*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1268*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1200*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_F2
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1202*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1272*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET
 	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:1205*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
+	.cond_operand = BNXT_ULP_CF_IDX_GROUP_ID
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1206*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1277*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1208*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1210*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1281*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1213*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1284*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1216*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
+	.cond_operand = BNXT_ULP_CF_IDX_GROUP_ID
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1217*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1287*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1218*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
+	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1219*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -9370,19 +10029,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1223*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1292*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -9390,17 +10049,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1296*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1227*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -9408,15 +10063,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1300*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1231*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -9424,13 +10083,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1303*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1235*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -9438,19 +10097,23 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1308*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1240*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -9462,13 +10125,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1312*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1245*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -9476,20 +10139,20 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1317*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1250*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -9497,19 +10160,23 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1322*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1255*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -9521,12 +10188,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1326*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1260*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -9538,17 +10209,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1330*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1265*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -9556,19 +10227,23 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1335*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1270*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -9576,13 +10251,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1339*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1275*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -9590,16 +10265,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1343*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1279*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -9607,15 +10282,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1347*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1283*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -9623,26 +10302,40 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1350*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1287*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
+	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1288*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
+	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1292*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1353*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1293*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -9650,16 +10343,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1357*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1297*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -9667,15 +10360,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1361*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1301*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -9683,26 +10380,30 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1364*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1305*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1367*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1309*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -9710,16 +10411,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1371*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1313*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -9727,15 +10428,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1375*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1317*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -9743,12 +10448,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1378*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1321*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -9756,13 +10465,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1381*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1325*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -9770,16 +10479,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1385*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1329*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -9787,15 +10496,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1389*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1333*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -9803,12 +10516,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1392*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1337*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -9816,13 +10533,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1395*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1341*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -9830,16 +10547,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1399*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1345*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -9847,15 +10564,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1403*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1349*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -9863,12 +10584,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1406*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1353*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -9876,13 +10601,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1409*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1357*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -9890,16 +10615,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1413*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1361*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -9907,28 +10632,36 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1417*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1365*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1420*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1369*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -9936,30 +10669,34 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1423*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1373*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	},
+	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1427*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1378*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -9967,28 +10704,40 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1431*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1382*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	},
+	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1434*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1387*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -9996,59 +10745,65 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1437*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1391*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1439*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1394*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1441*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1397*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1443*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1445*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1400*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1446*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1447*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI
+	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1403*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -10056,20 +10811,29 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1407*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1452*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1410*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -10077,20 +10841,29 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1414*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1457*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1417*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -10098,16 +10871,29 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC
+	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1421*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1461*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1424*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -10115,16 +10901,29 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC
+	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1428*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1465*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1431*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -10132,6 +10931,23 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
+	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1436*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
@@ -10139,13 +10955,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1470*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1440*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -10153,6 +10969,23 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
+	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1445*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
@@ -10160,13 +10993,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1475*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1449*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -10174,20 +11007,20 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1480*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1454*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -10195,23 +11028,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1485*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1459*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -10223,16 +11052,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1490*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
-	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1463*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -10244,17 +11069,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1495*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
-	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1467*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -10262,20 +11083,20 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1500*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1472*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -10283,50 +11104,58 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1505*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1477*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1509*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1481*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1485*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1513*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -10334,33 +11163,37 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1517*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1490*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
+	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1494*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1521*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -10368,33 +11201,33 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1525*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1499*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1529*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1503*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -10402,33 +11235,29 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1533*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1507*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1537*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1510*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -10436,19 +11265,15 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1541*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1514*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -10456,13 +11281,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1545*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1517*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -10470,33 +11295,29 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1549*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1521*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1553*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1524*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -10504,33 +11325,29 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1557*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1528*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1561*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1531*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -10538,19 +11355,15 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1565*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1535*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -10558,13 +11371,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1569*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1538*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -10572,19 +11385,15 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1573*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1542*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -10592,13 +11401,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1577*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1545*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -10606,33 +11415,29 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1581*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1549*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1585*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1552*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -10640,33 +11445,29 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1589*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1556*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1593*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1559*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -10674,16 +11475,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1597*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1563*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -10691,37 +11492,42 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1601*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1567*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1570*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1606*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1573*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -10729,103 +11535,117 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1610*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1577*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1581*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1615*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
+	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1584*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1619*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1587*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1622*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1590*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1625*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1593*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1595*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1628*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1597*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1631*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1601*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -10836,34 +11656,39 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1636*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1605*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1608*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1640*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1611*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -10874,64 +11699,57 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1614*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1645*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1617*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1649*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1619*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1621*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1653*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1656*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1625*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -10942,64 +11760,56 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1660*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1629*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1663*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1632*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1635*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1668*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1672*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1639*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -11010,34 +11820,39 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1677*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1643*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
+	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1646*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1681*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1649*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -11048,17 +11863,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1686*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1653*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -11069,51 +11880,39 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1691*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1657*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1695*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1660*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1699*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1663*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -11124,17 +11923,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1704*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1667*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -11145,55 +11940,48 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1709*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1671*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1713*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1674*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1677*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1717*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1679*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -11204,98 +11992,82 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1722*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1683*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
-	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1726*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1687*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1731*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1690*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1735*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1693*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1695*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1739*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1742*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1699*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -11306,56 +12078,48 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1746*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1703*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1749*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1706*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1753*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1709*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1756*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1711*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -11366,119 +12130,127 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1760*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1715*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1763*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT
 	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1719*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1767*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1722*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1770*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1725*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
+	/* field_cond: class_tid: 1, proto_header_cache.wr:1727*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1774*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
+	/* cond_execute: class_tid: 1, em_flow_conflict_cache.rd:1729*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_IDX_WC_MATCH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_TERM_FLOW
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1777*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
+	/* field_cond: class_tid: 1, em_flow_conflict_cache.rd:1732*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
+	/* cond_execute: class_tid: 1, control.em_flow_conflict_cache_miss:1734*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1781*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1735*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID
 	},
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1737*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1739*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1784*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1740*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -11486,29 +12258,37 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1788*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	},
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1745*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1791*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1749*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -11516,16 +12296,20 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1795*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1754*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -11533,42 +12317,62 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1799*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1759*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1802*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1764*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1805*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1769*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -11576,16 +12380,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1809*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1773*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -11593,15 +12397,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1813*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1777*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -11610,11 +12418,15 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1816*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1781*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -11623,12 +12435,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1819*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1785*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -11636,16 +12448,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1823*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1789*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -11653,15 +12465,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1827*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1793*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -11672,9 +12488,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1830*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1797*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -11685,10 +12505,10 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1833*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1801*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -11696,16 +12516,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1837*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1805*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -11713,59 +12533,71 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1841*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1809*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1844*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1813*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1847*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1817*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	},
+	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1851*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1822*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -11773,39 +12605,39 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1855*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1826*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1858*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1829*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1861*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1832*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -11816,56 +12648,64 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1865*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC
 	},
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1837*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1869*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	},
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1841*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1872*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1845*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1875*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1848*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -11876,13 +12716,34 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
+	},
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1853*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1879*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1857*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -11893,56 +12754,76 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1883*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1862*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1886*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1867*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1889*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
 	},
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1871*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	},
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1875*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1893*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -11953,39 +12834,30 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT
-	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1897*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE
 	},
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1880*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1900*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1903*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1884*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -11996,13 +12868,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1907*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1888*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -12013,39 +12885,39 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1911*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1892*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1914*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1895*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1917*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1898*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -12056,13 +12928,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1921*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1902*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -12073,138 +12945,102 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1925*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1906*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1928*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1909*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
-	},
-	/* field_cond: class_tid: 1, em_flow_conflict_cache.wr:1931*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
 	},
-	/* cond_execute: class_tid: 1, control.field_sig_validation:1933*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1912*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_CC
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_FLOW_SIG_ID
-	},
-	/* cond_execute: class_tid: 1, control.outer_loop_add_check:1935*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_ADD
-	},
-	/* cond_execute: class_tid: 1, em.ingress_generic_template:1937*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_IDX_WC_MATCH
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_TERM_FLOW
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_DEF_PRIO
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL
 	},
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1916*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* cond_execute: class_tid: 1, control.em_add_check:1941*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* cond_execute: class_tid: 1, control.outer_loop_check:1942*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL
 	},
-	/* cond_execute: class_tid: 2, control.l2_only_check:1943*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1920*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
 	},
-	/* cond_execute: class_tid: 2, control.l2_only_check:1943*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1923*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
 	},
-	/* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:1953*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1926*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -12212,20 +13048,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID
 	},
-	/* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:1953*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1930*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -12233,143 +13065,137 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID
 	},
-	/* cond_execute: class_tid: 2, control.check_tunnel_recycle:1963*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1934*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* cond_execute: class_tid: 2, control.multi_tunnel_check:1965*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
-	.cond_operand = BNXT_ULP_CF_IDX_OUTER_EM_ONLY
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
 	},
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1937*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:1967*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
 	},
-	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:1969*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1940*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:1971*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS
 	},
-	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:1973*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1944*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:1975*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
-	},
-	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:1977*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS
 	},
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1948*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:1979*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
+	},
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1951*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:1981*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
 	},
-	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:1983*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1954*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:1985*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT
 	},
-	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:1987*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1958*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:1989*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT
+	},
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1962*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:1991*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
@@ -12378,244 +13204,223 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
 	},
-	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:1993*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1965*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
-	},
-	/* cond_execute: class_tid: 2, control.multi_flow_cache_check:1995*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:1996*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
 	},
-	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:1998*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1968*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2000*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT
 	},
-	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2002*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1972*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2004*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT
+	},
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1976*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2006*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
+	},
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1979*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2008*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
 	},
-	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2010*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1982*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID
 	},
-	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2012*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1984*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID
 	},
-	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2014*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1986*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2016*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1988*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2018*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1990*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:1991*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
 	},
-	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2020*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1992*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2022*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
 	},
-	/* field_cond: class_tid: 2, control.terminating_flow:2024*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:1997*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 2, control.terminating_flow:2026*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
-	},
-	/* field_cond: class_tid: 2, control.terminating_flow:2028*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
 	},
-	/* field_cond: class_tid: 2, control.terminating_flow:2030*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2002*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* cond_execute: class_tid: 2, control.group_id_check:2032*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* cond_execute: class_tid: 2, control.flow_chain_group_id:2033*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
-	/* field_cond: class_tid: 2, proto_header_cache.rd:2034*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2006*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* cond_execute: class_tid: 2, control.proto_header_cache_miss:2036*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
-	},
-	/* field_cond: class_tid: 2, hdr_overlap_cache.overlap_check:2037*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
-	/* cond_execute: class_tid: 2, control.overlap_miss:2039*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2040*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2010*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2042*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2044*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2045*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2015*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -12626,13 +13431,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2049*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2020*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -12643,26 +13452,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
-	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2053*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2056*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2025*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -12676,14 +13476,14 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2061*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2030*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -12701,10 +13501,10 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2066*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2035*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -12722,10 +13522,10 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2071*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2040*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -12743,10 +13543,14 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2076*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2045*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -12757,18 +13561,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2080*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2081*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2050*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -12782,10 +13581,10 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2085*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2054*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -12796,13 +13595,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2089*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2058*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -12813,13 +13612,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2093*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2062*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -12833,10 +13632,10 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2097*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2066*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -12850,10 +13649,10 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2101*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2070*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -12864,13 +13663,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2105*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2074*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -12881,13 +13680,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2109*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2078*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -12901,10 +13700,10 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2113*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2082*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -12915,13 +13714,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2117*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2086*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -12932,13 +13731,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2121*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2090*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -12949,13 +13748,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2125*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2094*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -12965,18 +13764,14 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
-	},
-	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2130*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2098*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -12987,42 +13782,50 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2134*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2102*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2137*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2106*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2140*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2110*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -13030,29 +13833,33 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2144*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2114*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2147*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2118*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -13060,29 +13867,33 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2151*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2122*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2154*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2126*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -13090,37 +13901,33 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2130*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2159*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2163*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2134*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -13128,20 +13935,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2168*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2138*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -13149,58 +13952,54 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2142*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2173*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2146*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2177*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2181*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2151*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -13208,37 +14007,37 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2186*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2155*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2190*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2160*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -13246,72 +14045,65 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2195*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2164*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2167*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2200*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2170*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2204*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2173*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2208*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2176*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -13322,17 +14114,34 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2213*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC
+	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2181*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2185*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -13343,52 +14152,65 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2218*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2190*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2222*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2194*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2226*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2198*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
+	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2201*/
+	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
@@ -13398,18 +14220,27 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2231*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2205*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
+	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2208*/
+	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
@@ -13419,51 +14250,72 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2236*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2213*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2240*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2217*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2244*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2222*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2226*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -13474,17 +14326,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2249*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2231*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -13495,51 +14347,51 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2254*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2236*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2258*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2240*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2262*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2244*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -13550,17 +14402,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2267*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2249*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -13571,47 +14423,55 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2272*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2254*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2276*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2258*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2262*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2280*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -13620,38 +14480,36 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2282*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2267*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ICMP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2285*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2286*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2271*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ICMP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2289*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -13660,97 +14518,96 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2291*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2276*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ICMP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2294*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2295*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2280*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ICMP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 2, hdr_overlap_cache.overlap_wr:2298*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
-	/* cond_execute: class_tid: 2, fkb_select.em_gen_template_alloc:2300*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_TERM_FLOW
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR
 	},
-	/* field_cond: class_tid: 2, control.profile_tcam_priority:2301*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2284*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
-	/* field_cond: class_tid: 2, control.profile_tcam_priority:2303*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2287*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 2, control.profile_tcam_priority:2305*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
-	/* field_cond: class_tid: 2, control.profile_tcam_priority:2307*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR
+	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2291*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
-	/* field_cond: class_tid: 2, control.profile_tcam_priority:2309*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2294*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 2, control.profile_tcam_priority:2311*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -13759,16 +14616,11 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
-	/* field_cond: class_tid: 2, control.profile_tcam_priority:2313*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR
 	},
-	/* field_cond: class_tid: 2, control.profile_tcam_priority:2315*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2298*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -13777,304 +14629,315 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2317*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2301*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2319*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
-	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2321*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2323*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2305*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2325*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2308*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2327*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
-	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2329*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2331*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2312*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2333*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2315*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2335*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2337*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR
+	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2319*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2339*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2322*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2341*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2343*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2326*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2345*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2329*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2347*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2349*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR
+	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2333*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2351*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2336*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2353*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2355*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2340*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2357*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2359*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL
+	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2344*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2361*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
+	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2347*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2363*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2350*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2365*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2367*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2354*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2369*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2371*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2358*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2373*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
+	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2361*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2375*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2364*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2377*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2379*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2368*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2381*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2383*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2372*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -14083,16 +14946,11 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2385*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2387*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2375*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -14101,7 +14959,15 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2389*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
+	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2378*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -14110,16 +14976,15 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2391*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2382*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2393*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -14128,61 +14993,58 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2395*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID
+	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2386*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
-	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2397*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2399*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2389*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2401*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2392*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2403*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2405*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2396*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2407*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -14191,7 +15053,11 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2409*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS
+	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2400*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -14200,7 +15066,11 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2411*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
+	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2403*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -14209,7 +15079,15 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2413*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
+	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2406*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -14218,7 +15096,15 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2415*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS
+	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2410*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -14227,7 +15113,11 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2417*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS
+	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2414*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -14236,7 +15126,11 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2419*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
+	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2417*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -14245,652 +15139,724 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2421*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
+	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2420*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT
+	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2424*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2423*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2425*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT
+	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2428*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2427*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2431*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
+	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2434*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2429*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT
+	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2438*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2431*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2433*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT
+	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2442*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2435*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2445*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
+	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2448*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2437*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2440*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2452*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2443*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2456*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2446*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2459*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2449*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2450*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2462*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2451*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2453*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT
 	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2466*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2455*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2457*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT
+	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:2470*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
-	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2459*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2461*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2473*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2463*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
+	},
+	/* field_cond: class_tid: 1, em_flow_conflict_cache.wr:2476*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2465*/
+	/* cond_execute: class_tid: 1, control.field_sig_validation:2478*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_CC
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_FLOW_SIG_ID
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2467*/
+	/* cond_execute: class_tid: 1, control.outer_loop_add_check:2480*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_ADD
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2469*/
+	/* cond_execute: class_tid: 1, em.ingress_generic_template:2482*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_IDX_WC_MATCH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_GRE
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_TERM_FLOW
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2471*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_operand = BNXT_ULP_CF_BIT_DEF_PRIO
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_UPAR1
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2473*/
+	/* cond_execute: class_tid: 1, control.em_add_check:2486*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL
 	},
+	/* cond_execute: class_tid: 1, control.outer_loop_check:2487*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_UPAR2
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2475*/
+	/* cond_execute: class_tid: 2, control.l2_only_check:2488*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2477*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2479*/
+	/* cond_execute: class_tid: 2, control.l2_only_check:2488*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2481*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_GRE
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2483*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE
 	},
+	/* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2498*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_UPAR1
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2485*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_UPAR2
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2487*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2488*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2489*/
+	/* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2498*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2490*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2492*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2494*/
+	/* cond_execute: class_tid: 2, control.check_tunnel_recycle:2508*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2496*/
+	/* cond_execute: class_tid: 2, control.multi_tunnel_check:2510*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
+	.cond_operand = BNXT_ULP_CF_IDX_OUTER_EM_ONLY
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
 	},
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2512*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2498*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
 	},
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2514*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2500*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
 	},
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2516*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2502*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
 	},
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2518*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2504*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
 	},
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2520*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2506*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
 	},
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2522*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2508*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
 	},
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2524*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2510*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
 	},
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2526*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2512*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
 	},
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2528*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2514*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
 	},
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2530*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2516*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
 	},
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2532*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2518*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2519*/
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2534*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
+	},
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2536*/
+	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2521*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
 	},
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2538*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2523*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2524*/
+	/* cond_execute: class_tid: 2, control.multi_flow_cache_check:2540*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
 	},
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2541*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2526*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
 	},
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2543*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2528*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
 	},
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2545*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2530*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
 	},
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2547*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2532*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
 	},
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2549*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2534*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
 	},
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2551*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2536*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
 	},
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2553*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2538*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
 	},
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2555*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2540*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
 	},
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2557*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2542*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
 	},
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2559*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2544*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
 	},
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2561*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2546*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
 	},
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2563*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2548*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
 	},
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2565*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
 	},
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2567*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2551*/
+	/* field_cond: class_tid: 2, control.terminating_flow:2569*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	},
+	/* field_cond: class_tid: 2, control.terminating_flow:2571*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2554*/
+	/* field_cond: class_tid: 2, control.terminating_flow:2573*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2555*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2556*/
+	/* field_cond: class_tid: 2, control.terminating_flow:2575*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2558*/
+	/* cond_execute: class_tid: 2, control.group_id_check:2577*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
 	},
+	/* cond_execute: class_tid: 2, control.flow_chain_group_id:2578*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
-	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2560*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
 	},
+	/* field_cond: class_tid: 2, proto_header_cache.rd:2579*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2562*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
+	/* cond_execute: class_tid: 2, control.proto_header_cache_miss:2581*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2564*/
+	/* field_cond: class_tid: 2, hdr_overlap_cache.overlap_check:2582*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
@@ -14899,43 +15865,49 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2566*/
+	/* cond_execute: class_tid: 2, control.overlap_miss:2584*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+	},
+	/* cond_execute: class_tid: 2, group_miss_action_cache.rd:2585*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	/* field_cond: class_tid: 2, group_miss_action_cache.rd:2586*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
 	},
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2587*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2568*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
+	.cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2569*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2589*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2570*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET
 	},
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2592*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2574*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2593*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -14952,7 +15924,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2578*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2597*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -14969,7 +15941,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2582*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2601*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
@@ -14982,7 +15954,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2585*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2604*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -14993,26 +15965,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
-	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2589*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2592*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2609*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -15031,9 +15994,9 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2597*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2614*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -15047,14 +16010,18 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2602*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2619*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -15065,17 +16032,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2607*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2624*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -15086,17 +16049,18 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
 	},
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2628*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2612*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2629*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -15107,17 +16071,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2617*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2633*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -15128,21 +16088,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
-	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2622*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
 	},
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2637*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -15153,17 +16105,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
-	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2627*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
 	},
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2641*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -15174,13 +16122,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2632*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2645*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -15195,9 +16143,9 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2636*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2649*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -15208,13 +16156,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2640*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2653*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -15225,18 +16173,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
-	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2644*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2645*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2657*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -15251,14 +16194,9 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
-	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2649*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2650*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2661*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -15273,9 +16211,9 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2654*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2665*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -15286,13 +16224,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2658*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2669*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -15303,13 +16241,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2662*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2673*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -15319,14 +16257,18 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	},
+	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2666*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2678*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -15337,50 +16279,42 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2670*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2682*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2674*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2685*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2678*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2688*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -15388,33 +16322,29 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
-	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2682*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC
 	},
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2692*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2686*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2695*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -15422,33 +16352,29 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
-	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2690*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC
 	},
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2699*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2694*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2702*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -15456,33 +16382,37 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2698*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
 	},
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2707*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2702*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2711*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -15490,16 +16420,20 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
+	.cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2706*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2716*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -15507,50 +16441,58 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2710*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
 	},
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2721*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2714*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
 	},
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2725*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	},
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2729*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2718*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -15558,33 +16500,37 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2722*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2734*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
+	},
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2738*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2726*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -15592,75 +16538,75 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR
+	},
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2743*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2730*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
-	},
-	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2735*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2748*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
-	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2739*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
 	},
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2752*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
+	},
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2756*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2744*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -15668,65 +16614,93 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR
+	},
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2761*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2748*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2751*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2766*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2754*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2770*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
+	},
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2774*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2757*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL
+	},
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2779*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2760*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -15737,56 +16711,72 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL
+	},
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2784*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2764*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2767*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2788*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2771*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2792*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID
+	},
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2797*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2774*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -15797,56 +16787,72 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID
+	},
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2802*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2778*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2781*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2806*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2785*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2810*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS
+	},
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2815*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2788*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -15857,34 +16863,47 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS
 	},
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2820*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2793*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
+	},
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2824*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2797*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2828*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -15893,36 +16912,38 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2830*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ICMP
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2802*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2833*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2834*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ICMP
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2806*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2837*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -15931,22 +16952,100 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2839*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ICMP
+	},
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2842*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2843*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ICMP
+	},
+	/* cond_execute: class_tid: 2, wm.egress_generic_template_grp_catch_all:2846*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2811*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2847*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID
+	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2849*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID
+	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2851*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET
+	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2854*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET
+	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2857*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
+	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2858*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
+	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2859*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -15954,54 +17053,93 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
 	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2863*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2816*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2867*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2820*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2871*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2874*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
+	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2878*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2824*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2881*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -16009,20 +17147,20 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2829*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2886*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -16030,19 +17168,23 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2834*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2891*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -16057,9 +17199,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2838*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2896*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -16074,14 +17220,10 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2842*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
-	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2901*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -16089,37 +17231,45 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2847*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2906*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2851*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2911*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -16127,19 +17277,23 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2856*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2916*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -16150,10 +17304,10 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2860*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2921*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -16161,15 +17315,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2864*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2925*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -16180,10 +17338,10 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2867*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2929*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -16191,29 +17349,43 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2871*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2933*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
+	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2934*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
+	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2938*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2874*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2939*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -16221,29 +17393,33 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2878*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2943*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2881*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2947*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -16251,15 +17427,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2885*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2951*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -16268,12 +17448,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2888*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2955*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -16281,15 +17461,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2892*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2959*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -16298,12 +17482,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2895*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2963*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -16311,15 +17495,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2899*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2967*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -16328,12 +17516,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2902*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2971*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -16341,29 +17529,33 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2906*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2975*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2909*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2979*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -16371,29 +17563,33 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2913*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2983*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2916*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2987*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -16401,16 +17597,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2920*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2991*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -16418,15 +17614,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2924*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2995*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -16435,11 +17635,15 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2927*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2999*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -16448,12 +17652,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2930*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3003*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -16461,16 +17665,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2934*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3007*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -16478,55 +17682,71 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2938*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3011*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2941*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3015*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2944*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3019*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	},
+	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2947*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3024*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -16534,30 +17754,37 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2950*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
 	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3028*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2952*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	},
+	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2954*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
+	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3033*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -16565,69 +17792,65 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2958*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3037*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
-	},
-	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2962*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3040*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2965*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3043*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2968*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3046*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2971*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3049*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -16638,27 +17861,26 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
-	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2974*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2976*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3053*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2978*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3056*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -16669,13 +17891,26 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC
+	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3060*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2982*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3063*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -16686,39 +17921,56 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2986*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3067*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
+	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3070*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2989*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3074*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2992*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3077*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -16729,56 +17981,72 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:2996*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
 	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3082*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:3000*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3086*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
+	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:3003*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3091*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:3006*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3095*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -16789,13 +18057,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS
+	.cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:3010*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3100*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -16806,39 +18078,51 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS
+	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:3014*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3105*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:3017*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3109*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:3020*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3113*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -16849,13 +18133,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:3024*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3118*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -16866,48 +18154,55 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:3028*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3123*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:3031*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3127*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:3034*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3131*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:3036*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -16918,82 +18213,98 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:3040*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3136*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:3044*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3140*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE
+	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3145*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:3047*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:3050*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3149*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:3052*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR
+	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3153*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:3056*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3156*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17004,48 +18315,56 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:3060*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3160*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:3063*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3163*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:3066*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3167*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:3068*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3170*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17056,144 +18375,149 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT
-	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:3072*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR
 	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3174*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:3076*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3177*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:3079*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3181*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
 	},
-	/* field_cond: class_tid: 2, wm_key_recipe.0:3082*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3184*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, proto_header_cache.wr:3084*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR
 	},
-	/* cond_execute: class_tid: 2, em_flow_conflict_cache.rd:3086*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3188*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_IDX_WC_MATCH
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_TERM_FLOW
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
 	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3191*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 2, em_flow_conflict_cache.rd:3089*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
-	/* cond_execute: class_tid: 2, control.em_flow_conflict_cache_miss:3091*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3092*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3195*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3094*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
 	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3198*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3096*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3097*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR
+	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3202*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3101*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3205*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -17201,16 +18525,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3105*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3209*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -17218,41 +18542,42 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL
 	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3213*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3110*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
 	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3216*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3115*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3219*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -17260,58 +18585,59 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL
 	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3223*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3120*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL
 	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3227*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3125*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
 	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3230*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3129*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3233*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -17319,16 +18645,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3133*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3236*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -17336,33 +18658,30 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3239*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3137*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3241*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3141*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3243*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -17370,16 +18689,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3145*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3247*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -17387,19 +18706,15 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3149*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID
 	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3251*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -17407,16 +18722,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3153*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
-	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3254*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -17424,13 +18735,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3157*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3257*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -17438,16 +18749,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3161*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3260*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -17455,33 +18762,30 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3263*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3165*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3265*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
-	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3169*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3267*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -17489,77 +18793,73 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3173*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3271*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
-	},
-	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3178*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID
 	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3275*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3182*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3278*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3185*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3281*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3188*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3285*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17570,56 +18870,56 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3192*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3289*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3195*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
 	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3292*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3199*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3295*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3202*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3299*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17630,34 +18930,39 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3207*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3303*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
+	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3306*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3211*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3309*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17668,17 +18973,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3216*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3313*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17689,55 +18990,48 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3221*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3317*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3225*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3320*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
 	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3323*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3229*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3325*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17748,30 +19042,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE
-	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3234*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3238*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3329*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17782,56 +19059,48 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3242*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT
 	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3333*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3246*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3336*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3249*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
 	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3339*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3252*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3341*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17842,13 +19111,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3256*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3345*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17859,39 +19128,48 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3260*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3349*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3263*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3352*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3266*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3355*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	},
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3357*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17902,13 +19180,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3270*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3361*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17919,133 +19197,125 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3274*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3365*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3277*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3368*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3280*/
+	/* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3371*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
+	/* field_cond: class_tid: 2, hdr_overlap_cache.overlap_wr:3373*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3284*/
+	/* cond_execute: class_tid: 2, fkb_select.em_gen_template_alloc:3375*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_TERM_FLOW
 	},
+	/* field_cond: class_tid: 2, control.profile_tcam_priority:3376*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3288*/
+	/* field_cond: class_tid: 2, control.profile_tcam_priority:3378*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3291*/
+	/* field_cond: class_tid: 2, control.profile_tcam_priority:3380*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
+	/* field_cond: class_tid: 2, control.profile_tcam_priority:3382*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3294*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
+	/* field_cond: class_tid: 2, control.profile_tcam_priority:3384*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
+	/* field_cond: class_tid: 2, control.profile_tcam_priority:3386*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3298*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
+	/* field_cond: class_tid: 2, control.profile_tcam_priority:3388*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3302*/
+	/* field_cond: class_tid: 2, control.profile_tcam_priority:3390*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -18054,28 +19324,25 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3392*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
-	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3305*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3394*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3308*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3396*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -18084,15 +19351,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3398*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3312*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3400*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -18101,71 +19369,61 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT
-	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3316*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3402*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3319*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3404*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3406*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3322*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3408*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3410*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3326*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3412*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3330*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3414*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -18174,11 +19432,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3416*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
-	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3333*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3418*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -18187,688 +19450,678 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3420*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3336*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3422*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3338*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3424*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3340*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3426*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3342*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3428*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3344*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3345*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3430*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3346*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3432*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3434*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3350*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3436*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3438*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3354*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3440*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3442*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3358*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3444*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3446*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3362*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3448*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3450*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3367*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3452*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3454*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3372*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3456*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3458*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3377*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3460*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3462*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3382*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3464*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3466*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3387*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3468*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3470*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3392*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3472*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3474*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3397*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3476*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3478*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3480*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3402*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3482*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3484*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3406*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3486*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
-	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3410*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
-	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3488*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3490*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3414*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3492*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3494*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3418*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3496*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3498*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3422*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3500*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3502*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3426*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3504*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3506*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3430*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3508*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3510*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3434*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3512*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3438*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3515*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3442*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3518*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3446*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3521*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3524*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3450*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3525*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3526*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3528*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3454*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3530*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3532*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3458*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3534*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3536*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3462*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3538*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3540*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3466*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3542*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3544*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3470*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_GRE
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3546*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_UPAR1
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3548*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3474*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_UPAR2
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3550*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3552*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3478*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3554*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3556*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3482*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_GRE
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3558*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_UPAR1
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3560*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3486*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_UPAR2
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3562*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3563*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3490*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3564*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3565*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3567*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3494*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3569*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -18877,36 +20130,34 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3571*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3498*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3573*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
-	},
-	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3575*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3503*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3577*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -18915,36 +20166,34 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3579*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3507*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3581*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
-	},
-	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3583*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3512*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3585*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -18953,283 +20202,308 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3587*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
-	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3516*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3519*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3589*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3522*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3591*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3593*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3525*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3594*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3596*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3528*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3598*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3599*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3532*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3601*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3603*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3535*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3605*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3539*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3607*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3609*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3542*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3611*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3546*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3613*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3615*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3549*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3617*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3553*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3619*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3621*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3556*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3623*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3561*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3626*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3629*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3565*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3630*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3631*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3633*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3570*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:3635*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
+	.cond_operand = BNXT_ULP_CF_IDX_GROUP_ID
 	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3636*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID
 	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3638*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3574*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID
 	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3640*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3643*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3646*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
+	.cond_operand = BNXT_ULP_CF_IDX_GROUP_ID
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3647*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3648*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3649*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3579*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3653*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -19237,54 +20511,76 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
 	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3657*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3584*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3661*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3588*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3664*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
 	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3668*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3592*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3671*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -19292,20 +20588,20 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3597*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3676*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -19313,19 +20609,23 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3602*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3681*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -19337,12 +20637,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3606*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3686*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -19354,17 +20658,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3610*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
-	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3691*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -19372,37 +20672,45 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3615*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
 	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3696*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3619*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3701*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -19410,19 +20718,23 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3624*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3706*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -19430,13 +20742,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3628*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3711*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -19444,15 +20756,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3632*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3715*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -19460,13 +20776,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3635*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3719*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -19474,29 +20790,43 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3639*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3723*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3724*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3728*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3642*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3729*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -19504,29 +20834,33 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3646*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3733*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3649*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3737*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -19534,15 +20868,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3653*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3741*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -19550,13 +20888,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3656*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3745*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -19564,15 +20902,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3660*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3749*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -19580,13 +20922,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3663*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3753*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -19594,15 +20936,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3667*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3757*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -19610,13 +20956,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3670*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3761*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -19624,29 +20970,33 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3674*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3765*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3677*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3769*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -19654,29 +21004,33 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3681*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3773*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3684*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3777*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -19684,16 +21038,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3688*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3781*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -19701,15 +21055,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3692*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3785*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -19717,12 +21075,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3695*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3789*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
@@ -19730,13 +21092,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3698*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3793*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -19744,16 +21106,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3702*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3797*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -19761,42 +21123,33 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL
-	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3706*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
 	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3801*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3709*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3712*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3805*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -19804,76 +21157,75 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3716*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3809*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
-	},
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID
-	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3720*/
-	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3723*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3814*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3726*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3818*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	},
+	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3730*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3823*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
@@ -19881,39 +21233,65 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3734*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3827*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3737*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3830*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3740*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3833*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3836*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3839*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -19924,13 +21302,26 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3843*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3744*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3846*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -19941,39 +21332,56 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3748*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3850*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3853*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3751*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3857*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3754*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3860*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -19984,13 +21392,26 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3864*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3758*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3867*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -20001,39 +21422,72 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3762*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3872*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3876*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3765*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3881*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3768*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3885*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -20044,13 +21498,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3772*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3890*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -20061,39 +21519,51 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3776*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3895*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3779*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3899*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3782*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3903*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -20104,13 +21574,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3786*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3908*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -20121,39 +21595,55 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3790*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3913*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3793*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3917*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3921*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3796*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -20164,13 +21654,34 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3926*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3930*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3800*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -20181,39 +21692,60 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3935*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3804*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3939*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3807*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3943*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3810*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3946*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -20224,13 +21756,26 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3950*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3814*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3953*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -20241,983 +21786,14290 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3818*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3957*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
 	},
-	/* field_cond: class_tid: 2, em_key_recipe.0:3821*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3960*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR
 	},
-	/* field_cond: class_tid: 2, em_flow_conflict_cache.wr:3824*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3964*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
 	},
-	/* cond_execute: class_tid: 2, control.field_sig_validation:3826*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3967*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_CC
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_FLOW_SIG_ID
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* cond_execute: class_tid: 2, control.outer_loop_add_check:3828*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_ADD
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR
 	},
-	/* cond_execute: class_tid: 2, em.egress_generic_template:3830*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3971*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET,
-	.cond_operand = BNXT_ULP_CF_IDX_WC_MATCH
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_TERM_FLOW
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_DEF_PRIO
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
 	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3974*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* cond_execute: class_tid: 2, control.em_add_check:3834*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* cond_execute: class_tid: 2, control.outer_loop_check:3835*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
-	/* cond_execute: class_tid: 3, control.ing_0:3836*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR
 	},
-	/* cond_execute: class_tid: 3, control.non_vfr_egr_2:3837*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3978*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* cond_execute: class_tid: 3, tunnel_gparse_cache.def_cust_tun_rd:3838*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_STATIC_VXLAN_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_STATIC_VXLAN_IP_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
 	},
-	/* cond_execute: class_tid: 3, control.default_custom_tunnel:3840*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3981*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* cond_execute: class_tid: 3, cust_tunnel.def_conf_vxlan_port:3841*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_STATIC_VXLAN_PORT
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* cond_execute: class_tid: 3, cust_tunnel.def_conf_vxlan_ip_port:3842*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_STATIC_VXLAN_IP_PORT
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
-	/* cond_execute: class_tid: 4, control.prof_tcam_cache.vfr_glb_act_rec_rd.0:3843*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR
 	},
-	/* cond_execute: class_tid: 4, control.vf_2_vfr.0:3844*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3985*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* cond_execute: class_tid: 4, control.prof_tcam_cache.vfr.0:3845*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* cond_execute: class_tid: 4, control.0:3846*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
-	}
-};
-
-struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
-	/* class_tid: 1, , table: port_table.rd */
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3988*/
 	{
-	.field_info_mask = {
-		.description = "dev.port_id",
-		.field_bit_size = 10,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "dev.port_id",
-		.field_bit_size = 10,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
-		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
-		}
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* class_tid: 1, , table: tunnel_gparse_cache.custom_tunnel_rd */
 	{
-	.field_info_mask = {
-		.description = "tunnel_type",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tunnel_type",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(10 >> 8) & 0xff,
-			10 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT
-		}
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
 	},
-	/* class_tid: 1, , table: tunnel_gparse_cache.custom_tunnel_wr */
 	{
-	.field_info_mask = {
-		.description = "tunnel_type",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tunnel_type",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(22 >> 8) & 0xff,
-			22 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(1 >> 8) & 0xff,
-		1 & 0xff}
-		}
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
 	},
-	/* class_tid: 1, , table: l2_cntxt_tcam_cache.rd */
 	{
-	.field_info_mask = {
-		.description = "svif",
-		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr1 = {
-		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3992*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3995*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3999*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4003*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4006*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4009*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4013*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4017*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4020*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4023*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4026*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4029*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4031*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4033*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4037*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4041*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4044*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4047*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4050*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4053*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4055*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4057*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4061*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4065*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4068*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4071*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4075*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4079*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4082*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4085*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4089*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4093*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4096*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4099*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4103*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4107*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4110*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4113*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4115*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4119*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4123*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4126*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4129*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4131*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4135*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4139*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4142*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4145*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4147*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4151*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4155*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4158*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
+	},
+	/* field_cond: class_tid: 2, wm_key_recipe.0:4161*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	},
+	/* field_cond: class_tid: 2, proto_header_cache.wr:4163*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	/* cond_execute: class_tid: 2, em_flow_conflict_cache.rd:4165*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_IDX_WC_MATCH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_TERM_FLOW
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	/* field_cond: class_tid: 2, em_flow_conflict_cache.rd:4168*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	/* cond_execute: class_tid: 2, control.em_flow_conflict_cache_miss:4170*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4171*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4173*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4175*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4176*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4180*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4184*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4189*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4194*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4199*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4204*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4208*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4212*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4216*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4220*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4224*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4228*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4232*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4236*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4240*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4244*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4248*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4252*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4257*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4261*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4264*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4267*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4271*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4274*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4278*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4281*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4286*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4290*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4295*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4300*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4304*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4308*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4313*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4317*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4321*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4325*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4328*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4331*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4335*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4339*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4342*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4345*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4349*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4353*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4356*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4359*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4363*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4367*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4370*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4373*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4377*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4381*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4384*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4387*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4391*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4395*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4398*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4401*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4405*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4409*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
+	},
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:4412*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4415*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4417*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4419*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4421*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4423*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4424*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4425*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4429*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4433*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4437*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4441*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4446*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4451*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4456*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4461*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4466*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4471*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4476*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4481*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4485*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4489*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4493*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4497*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4501*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4505*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4509*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4513*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4517*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4521*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4525*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4529*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4533*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4537*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4541*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4545*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4549*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4553*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4557*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4561*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4565*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4569*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4573*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4577*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4582*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4586*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4591*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4595*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4598*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4601*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4604*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4607*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4611*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4614*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4618*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4621*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4625*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4628*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4632*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4635*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4640*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4644*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4649*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4653*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4658*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4663*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4667*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4671*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4676*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4681*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4685*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4689*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4694*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4698*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4703*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4707*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4711*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4714*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4718*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4721*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4725*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4728*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4732*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4735*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4739*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4742*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4746*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4749*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4753*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4756*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4760*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4763*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4767*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4771*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4774*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4777*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4781*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4785*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4788*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4791*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4795*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4799*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4802*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4805*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4809*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4813*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4816*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4819*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4823*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4827*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4830*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4833*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4837*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4841*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4844*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4847*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4851*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4855*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4858*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4861*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4865*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4869*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4872*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4875*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4879*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4883*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4886*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4889*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_UDP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4893*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_I_TCP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4897*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT
+	},
+	/* field_cond: class_tid: 2, em_key_recipe.0:4900*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT
+	},
+	/* field_cond: class_tid: 2, em_flow_conflict_cache.wr:4903*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
+	},
+	/* cond_execute: class_tid: 2, control.field_sig_validation:4905*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_CC
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_FLOW_SIG_ID
+	},
+	/* cond_execute: class_tid: 2, control.outer_loop_add_check:4907*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_ADD
+	},
+	/* cond_execute: class_tid: 2, em.egress_generic_template:4909*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_IDX_WC_MATCH
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_TERM_FLOW
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_DEF_PRIO
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	/* cond_execute: class_tid: 2, control.em_add_check:4913*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL
+	},
+	/* cond_execute: class_tid: 2, control.outer_loop_check:4914*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
+	},
+	/* cond_execute: class_tid: 3, control.prof_func_miss:4915*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+	},
+	/* cond_execute: class_tid: 3, control.non_vfr_egr_2:4916*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+	},
+	/* cond_execute: class_tid: 3, tunnel_gparse_cache.def_cust_tun_rd:4917*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_STATIC_VXLAN_PORT
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_STATIC_VXLAN_IP_PORT
+	},
+	/* cond_execute: class_tid: 3, control.default_custom_tunnel:4919*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+	},
+	/* cond_execute: class_tid: 3, cust_tunnel.def_conf_vxlan_port:4920*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_STATIC_VXLAN_PORT
+	},
+	/* cond_execute: class_tid: 3, cust_tunnel.def_conf_vxlan_ip_port:4921*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_STATIC_VXLAN_IP_PORT
+	},
+	/* cond_execute: class_tid: 4, control.prof_tcam_cache.vfr_glb_act_rec_rd.0:4922*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+	},
+	/* cond_execute: class_tid: 4, control.vf_2_vfr.0:4923*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+	},
+	/* cond_execute: class_tid: 4, control.prof_tcam_cache.vfr.0:4924*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+	},
+	/* cond_execute: class_tid: 4, control.0:4925*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+	},
+	/* cond_execute: class_tid: 5, control.ing_0:4926*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+	},
+	/* cond_execute: class_tid: 5, l2_cntxt_tcam_cache.ing_rd_sock:4927*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT
+	},
+	/* field_cond: class_tid: 5, l2_cntxt_tcam.ing_0:4928*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_CC
+	},
+	/* field_cond: class_tid: 5, l2_cntxt_tcam.ing_0:4930*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_CC
+	},
+	/* field_cond: class_tid: 5, l2_cntxt_tcam_cache.ing_wr:4932*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_CC
+	},
+	/* field_cond: class_tid: 5, l2_cntxt_tcam_cache.ing_wr:4934*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_CC
+	},
+	/* cond_execute: class_tid: 6, control.l2_cache_check:4936*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+	},
+	/* cond_execute: class_tid: 6, control.l2_cache_cnt_check:4937*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_CC
+	},
+	/* cond_execute: class_tid: 7, control.direction_check:4938*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_CC
+	},
+	/* cond_execute: class_tid: 7, control.flow_chain_group_id:4939*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+	},
+	/* cond_execute: class_tid: 7, control.group_miss_action:4940*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+	},
+	/* field_cond: class_tid: 7, profile_tcam_bypass.prof_func_group_catch_all:4941*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_CC
+	},
+	/* cond_execute: class_tid: 7, control.flow_chain_group_id_egr:4942*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+	},
+	/* cond_execute: class_tid: 7, control.group_miss_action_egr:4943*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+	},
+	/* field_cond: class_tid: 7, profile_tcam_bypass.prof_func_group_catch_all_egr:4944*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_CC
+	}
+};
+
+struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
+	/* class_tid: 1, , table: port_table.rd */
+	{
+	.field_info_mask = {
+		.description = "dev.port_id",
+		.field_bit_size = 10,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "dev.port_id",
+		.field_bit_size = 10,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
+		(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
+		}
+	},
+	/* class_tid: 1, , table: tunnel_gparse_cache.custom_tunnel_rd */
+	{
+	.field_info_mask = {
+		.description = "tunnel_type",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "tunnel_type",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(10 >> 8) & 0xff,
+			10 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT
+		}
+	},
+	/* class_tid: 1, , table: tunnel_gparse_cache.custom_tunnel_wr */
+	{
+	.field_info_mask = {
+		.description = "tunnel_type",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "tunnel_type",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(22 >> 8) & 0xff,
+			22 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(1 >> 8) & 0xff,
+		1 & 0xff}
+		}
+	},
+	/* class_tid: 1, , table: prof_func_cache.ing_rd */
+	{
+	.field_info_mask = {
+		.description = "svif",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "svif",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
+		(BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff}
+		}
+	},
+	/* class_tid: 1, , table: tunnel_cache.f1_f2_rd */
+	{
+	.field_info_mask = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr1 = {
+		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		},
+	.field_info_spec = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr1 = {
+		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_id",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "tunnel_id",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
+		(BNXT_ULP_CF_IDX_TUNNEL_ID >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_TUNNEL_ID & 0xff}
+		}
+	},
+	/* class_tid: 1, , table: tunnel_cache.f1_f2_wr */
+	{
+	.field_info_mask = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr1 = {
+		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		},
+	.field_info_spec = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr1 = {
+		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_id",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "tunnel_id",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
+		(BNXT_ULP_CF_IDX_TUNNEL_ID >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_TUNNEL_ID & 0xff}
+		}
+	},
+	/* class_tid: 1, , table: l2_cntxt_tcam_cache.rd */
+	{
+	.field_info_mask = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr1 = {
+		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		},
+	.field_info_spec = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr1 = {
+		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		}
+	},
+	/* class_tid: 1, , table: multi_flow_tunnel_cache.rd */
+	{
+	.field_info_mask = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr1 = {
+		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		},
+	.field_info_spec = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr1 = {
+		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "tunnel_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+		.field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
+		.field_opr1 = {
+		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
+		(uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(42 >> 8) & 0xff,
+			42 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tunnel_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(44 >> 8) & 0xff,
+			44 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_dmac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "tunnel_dmac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr1 = {
+		(BNXT_ULP_RF_IDX_O_DMAC >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_O_DMAC & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_dip_v6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(46 >> 8) & 0xff,
+			46 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tunnel_dip_v6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(48 >> 8) & 0xff,
+			48 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_sip_v6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(50 >> 8) & 0xff,
+			50 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tunnel_sip_v6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(52 >> 8) & 0xff,
+			52 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_dip_v4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(54 >> 8) & 0xff,
+			54 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tunnel_dip_v4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(56 >> 8) & 0xff,
+			56 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_sip_v4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(58 >> 8) & 0xff,
+			58 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tunnel_sip_v4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(60 >> 8) & 0xff,
+			60 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_sport",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(62 >> 8) & 0xff,
+			62 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tunnel_sport",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(64 >> 8) & 0xff,
+			64 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	/* class_tid: 1, , table: multi_flow_tunnel_cache.wr */
+	{
+	.field_info_mask = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr1 = {
+		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		},
+	.field_info_spec = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr1 = {
+		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "tunnel_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+		.field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
+		.field_opr1 = {
+		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
+		(uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(67 >> 8) & 0xff,
+			67 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tunnel_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(69 >> 8) & 0xff,
+			69 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_dmac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(71 >> 8) & 0xff,
+			71 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tunnel_dmac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(73 >> 8) & 0xff,
+			73 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_dip_v6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(75 >> 8) & 0xff,
+			75 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tunnel_dip_v6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(77 >> 8) & 0xff,
+			77 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_sip_v6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(79 >> 8) & 0xff,
+			79 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tunnel_sip_v6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(81 >> 8) & 0xff,
+			81 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_dip_v4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(83 >> 8) & 0xff,
+			83 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tunnel_dip_v4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(85 >> 8) & 0xff,
+			85 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_sip_v4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(87 >> 8) & 0xff,
+			87 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tunnel_sip_v4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(89 >> 8) & 0xff,
+			89 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_sport",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(91 >> 8) & 0xff,
+			91 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tunnel_sport",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(93 >> 8) & 0xff,
+			93 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	/* class_tid: 1, , table: flow_chain_cache.group_check */
+	{
+	.field_info_mask = {
+		.description = "group_id",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "group_id",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
+		(BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_GROUP_ID & 0xff}
+		}
+	},
+	/* class_tid: 1, , table: flow_chain_cache.write */
+	{
+	.field_info_mask = {
+		.description = "group_id",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "group_id",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
+		(BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_GROUP_ID & 0xff}
+		}
+	},
+	/* class_tid: 1, , table: flow_chain_l2_cntxt.chaining_check */
+	{
+	.field_info_mask = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(99 >> 8) & 0xff,
+			99 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr3 = {
+		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		},
+	.field_info_spec = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(100 >> 8) & 0xff,
+			100 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr3 = {
+		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		}
+	},
+	/* class_tid: 1, , table: l2_cntxt_tcam.chain_entry */
+	{
+	.field_info_mask = {
+		.description = "etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_ivlan_tpid_sel",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "l2_ivlan_tpid_sel",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_ivlan_vid",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "l2_ivlan_vid",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_ovlan_tpid_sel",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "l2_ovlan_tpid_sel",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_ovlan_vid",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "l2_ovlan_vid",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "two_vtags",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "two_vtags",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "vtag_present",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "vtag_present",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "mac1_addr",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "mac1_addr",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "mac0_addr",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "mac0_addr",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_id",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tunnel_id",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tun_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tun_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "llc",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "llc",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "roce",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		1}
+		},
+	.field_info_spec = {
+		.description = "roce",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "metadata",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		(ULP_THOR_SYM_CHAIN_META_VAL_MASK >> 8) & 0xff,
+		ULP_THOR_SYM_CHAIN_META_VAL_MASK & 0xff}
+		},
+	.field_info_spec = {
+		.description = "metadata",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		(ULP_THOR_SYM_CHAIN_META_VAL >> 8) & 0xff,
+		ULP_THOR_SYM_CHAIN_META_VAL & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr1 = {
+		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		},
+	.field_info_spec = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr1 = {
+		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "parif",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "parif",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "spif",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "spif",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "loopback",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "loopback",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(102 >> 8) & 0xff,
+			102 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(103 >> 8) & 0xff,
+			103 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_CONST
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "mpass_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "mpass_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		1}
+		},
+	.field_info_spec = {
+		.description = "valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		1}
+		}
+	},
+	/* class_tid: 1, , table: l2_cntxt_tcam.chain_entry_dup */
+	{
+	.field_info_mask = {
+		.description = "etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_ivlan_tpid_sel",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "l2_ivlan_tpid_sel",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_ivlan_vid",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "l2_ivlan_vid",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_ovlan_tpid_sel",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "l2_ovlan_tpid_sel",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_ovlan_vid",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "l2_ovlan_vid",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "two_vtags",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "two_vtags",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "vtag_present",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "vtag_present",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "mac1_addr",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "mac1_addr",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "mac0_addr",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "mac0_addr",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_id",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tunnel_id",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tun_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tun_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "llc",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "llc",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "roce",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		1}
+		},
+	.field_info_spec = {
+		.description = "roce",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "metadata",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		(ULP_THOR_SYM_CHAIN_META_VAL_MASK >> 8) & 0xff,
+		ULP_THOR_SYM_CHAIN_META_VAL_MASK & 0xff}
+		},
+	.field_info_spec = {
+		.description = "metadata",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		(ULP_THOR_SYM_CHAIN_META_VAL >> 8) & 0xff,
+		ULP_THOR_SYM_CHAIN_META_VAL & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
+		(BNXT_ULP_CF_IDX_SOCKET_DIRECT_SVIF >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_SOCKET_DIRECT_SVIF & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "parif",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "parif",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "spif",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "spif",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "loopback",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "loopback",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(105 >> 8) & 0xff,
+			105 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(106 >> 8) & 0xff,
+			106 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_CONST
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "mpass_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "mpass_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		1}
+		},
+	.field_info_spec = {
+		.description = "valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		1}
+		}
+	},
+	/* class_tid: 1, , table: flow_chain_l2_cntxt.write */
+	{
+	.field_info_mask = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(107 >> 8) & 0xff,
+			107 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr3 = {
+		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		},
+	.field_info_spec = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(108 >> 8) & 0xff,
+			108 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr3 = {
+		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		}
+	},
+	/* class_tid: 1, , table: mac_addr_cache.rd */
+	{
+	.field_info_mask = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(111 >> 8) & 0xff,
+			111 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr3 = {
+		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		},
+	.field_info_spec = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(112 >> 8) & 0xff,
+			112 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr3 = {
+		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tun_hdr",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "tun_hdr",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "one_tag",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "one_tag",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "vid",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "vid",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "mac_addr",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "mac_addr",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr1 = {
+		(BNXT_ULP_RF_IDX_O_DMAC >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_O_DMAC & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(113 >> 8) & 0xff,
+			113 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "metadata",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "metadata",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(114 >> 8) & 0xff,
+			114 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		(ULP_THOR_SYM_CHAIN_META_VAL >> 8) & 0xff,
+		ULP_THOR_SYM_CHAIN_META_VAL & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	/* class_tid: 1, , table: l2_cntxt_tcam.ingress_entry */
+	{
+	.field_info_mask = {
+		.description = "etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_ivlan_tpid_sel",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "l2_ivlan_tpid_sel",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_ivlan_vid",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "l2_ivlan_vid",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_ovlan_tpid_sel",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "l2_ovlan_tpid_sel",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_ovlan_vid",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "l2_ovlan_vid",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "two_vtags",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "two_vtags",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "vtag_present",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "vtag_present",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "mac1_addr",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "mac1_addr",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "mac0_addr",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "mac0_addr",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr1 = {
+		(BNXT_ULP_RF_IDX_O_DMAC >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_O_DMAC & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_id",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tunnel_id",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tun_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tun_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "llc",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "llc",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "roce",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		1}
+		},
+	.field_info_spec = {
+		.description = "roce",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "metadata",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		(ULP_THOR_SYM_CHAIN_META_VAL_MASK >> 8) & 0xff,
+		ULP_THOR_SYM_CHAIN_META_VAL_MASK & 0xff}
+		},
+	.field_info_spec = {
+		.description = "metadata",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr1 = {
+		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		},
+	.field_info_spec = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr1 = {
+		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "parif",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "parif",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "spif",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "spif",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "loopback",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "loopback",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(119 >> 8) & 0xff,
+			119 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(120 >> 8) & 0xff,
+			120 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_CONST
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "mpass_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		3}
+		},
+	.field_info_spec = {
+		.description = "mpass_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		1}
+		},
+	.field_info_spec = {
+		.description = "valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		1}
+		}
+	},
+	/* class_tid: 1, , table: l2_cntxt_tcam.ingress_entry_dup */
+	{
+	.field_info_mask = {
+		.description = "etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_ivlan_tpid_sel",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "l2_ivlan_tpid_sel",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_ivlan_vid",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "l2_ivlan_vid",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_ovlan_tpid_sel",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "l2_ovlan_tpid_sel",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_ovlan_vid",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "l2_ovlan_vid",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "two_vtags",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "two_vtags",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "vtag_present",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "vtag_present",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "mac1_addr",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "mac1_addr",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "mac0_addr",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "mac0_addr",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr1 = {
+		(BNXT_ULP_RF_IDX_O_DMAC >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_O_DMAC & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_id",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tunnel_id",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tun_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tun_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "llc",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "llc",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "roce",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		1}
+		},
+	.field_info_spec = {
+		.description = "roce",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "metadata",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		(ULP_THOR_SYM_CHAIN_META_VAL_MASK >> 8) & 0xff,
+		ULP_THOR_SYM_CHAIN_META_VAL_MASK & 0xff}
+		},
+	.field_info_spec = {
+		.description = "metadata",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
+		(BNXT_ULP_CF_IDX_SOCKET_DIRECT_SVIF >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_SOCKET_DIRECT_SVIF & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "parif",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "parif",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "spif",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "spif",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "loopback",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "loopback",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(122 >> 8) & 0xff,
+			122 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(123 >> 8) & 0xff,
+			123 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_CONST
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "mpass_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		3}
+		},
+	.field_info_spec = {
+		.description = "mpass_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		1}
+		},
+	.field_info_spec = {
+		.description = "valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		1}
+		}
+	},
+	/* class_tid: 1, , table: mac_addr_cache.wr */
+	{
+	.field_info_mask = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(124 >> 8) & 0xff,
+			124 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr3 = {
+		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		},
+	.field_info_spec = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(125 >> 8) & 0xff,
+			125 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr3 = {
+		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tun_hdr",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "tun_hdr",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "one_tag",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "one_tag",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "vid",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "vid",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "mac_addr",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "mac_addr",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr1 = {
+		(BNXT_ULP_RF_IDX_O_DMAC >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_O_DMAC & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(126 >> 8) & 0xff,
+			126 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "metadata",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "metadata",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(127 >> 8) & 0xff,
+			127 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		(ULP_THOR_SYM_CHAIN_META_VAL >> 8) & 0xff,
+		ULP_THOR_SYM_CHAIN_META_VAL & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	/* class_tid: 1, , table: proto_header_cache.rd */
+	{
+	.field_info_mask = {
+		.description = "group_metadata",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "group_metadata",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(155 >> 8) & 0xff,
+			155 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr2 = {
+		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "prof_func_id",
+		.field_bit_size = 7,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "prof_func_id",
+		.field_bit_size = 7,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr1 = {
+		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
+		(BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff}
+		}
+	},
+	/* class_tid: 1, , table: hdr_overlap_cache.overlap_check */
+	{
+	.field_info_mask = {
+		.description = "group_metadata",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "group_metadata",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(158 >> 8) & 0xff,
+			158 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr2 = {
+		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "prof_func_id",
+		.field_bit_size = 7,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "prof_func_id",
+		.field_bit_size = 7,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr1 = {
+		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
+		}
+	},
+	/* class_tid: 1, , table: hdr_overlap_cache.overlap_check */
+	{
+	.field_info_mask = {
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
+		(BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff}
+		}
+	},
+	/* class_tid: 1, , table: group_miss_action_cache.rd */
+	{
+	.field_info_mask = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
+		(BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "group_id",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "group_id",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(162 >> 8) & 0xff,
+			162 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr2 = {
+		(BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_GROUP_ID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	/* class_tid: 1, , table: wm.ingress_generic_template_grp_catch_all */
+	{
+	.field_info_mask = {
+		.description = "wc_profile_id",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "wc_profile_id",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr1 = {
+		(BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_cntxt_id",
+		.field_bit_size = 10,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(420 >> 8) & 0xff,
+			420 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "l2_cntxt_id",
+		.field_bit_size = 10,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(422 >> 8) & 0xff,
+			422 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "meta",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(424 >> 8) & 0xff,
+			424 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "meta",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(427 >> 8) & 0xff,
+			427 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "rcyc_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(430 >> 8) & 0xff,
+			430 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "rcyc_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(431 >> 8) & 0xff,
+			431 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl2_dmac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(432 >> 8) & 0xff,
+			432 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "tl2_dmac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(436 >> 8) & 0xff,
+			436 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl2_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(440 >> 8) & 0xff,
+			440 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "tl2_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(444 >> 8) & 0xff,
+			444 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl2_ovv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(448 >> 8) & 0xff,
+			448 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "tl2_ovv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(453 >> 8) & 0xff,
+			453 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl2_ivv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(458 >> 8) & 0xff,
+			458 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(48 >> 8) & 0xff,
+		48 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "tl2_ivv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(468 >> 8) & 0xff,
+			468 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(49 >> 8) & 0xff,
+		49 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl2_etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(478 >> 8) & 0xff,
+			478 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "tl2_etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(483 >> 8) & 0xff,
+			483 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl3.sip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(488 >> 8) & 0xff,
+			488 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "tl3.sip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(492 >> 8) & 0xff,
+			492 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl3.sip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(496 >> 8) & 0xff,
+			496 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr2 = {
+		(50 >> 8) & 0xff,
+		50 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "tl3.sip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(501 >> 8) & 0xff,
+			501 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr2 = {
+		(51 >> 8) & 0xff,
+		51 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl3.dip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(506 >> 8) & 0xff,
+			506 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "tl3.dip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(510 >> 8) & 0xff,
+			510 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl3.dip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(514 >> 8) & 0xff,
+			514 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "tl3.dip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(518 >> 8) & 0xff,
+			518 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl3.ttl",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(522 >> 8) & 0xff,
+			522 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(52 >> 8) & 0xff,
+		52 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "tl3.ttl",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(530 >> 8) & 0xff,
+			530 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(53 >> 8) & 0xff,
+		53 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(538 >> 8) & 0xff,
+			538 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(54 >> 8) & 0xff,
+		54 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "tl3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(546 >> 8) & 0xff,
+			546 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(55 >> 8) & 0xff,
+		55 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl3.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(554 >> 8) & 0xff,
+			554 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(56 >> 8) & 0xff,
+		56 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "tl3.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(562 >> 8) & 0xff,
+			562 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(57 >> 8) & 0xff,
+		57 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(570 >> 8) & 0xff,
+			570 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(58 >> 8) & 0xff,
+		58 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "tl4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(578 >> 8) & 0xff,
+			578 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(59 >> 8) & 0xff,
+		59 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(586 >> 8) & 0xff,
+			586 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(60 >> 8) & 0xff,
+		60 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "tl4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(595 >> 8) & 0xff,
+			595 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(61 >> 8) & 0xff,
+		61 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tids",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(604 >> 8) & 0xff,
+			604 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(62 >> 8) & 0xff,
+		62 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "tids",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(610 >> 8) & 0xff,
+			610 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(63 >> 8) & 0xff,
+		63 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_dmac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(616 >> 8) & 0xff,
+			616 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(64 >> 8) & 0xff,
+		64 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l2_dmac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(623 >> 8) & 0xff,
+			623 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(65 >> 8) & 0xff,
+		65 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(630 >> 8) & 0xff,
+			630 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(66 >> 8) & 0xff,
+		66 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l2_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(637 >> 8) & 0xff,
+			637 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(67 >> 8) & 0xff,
+		67 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_ovv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(644 >> 8) & 0xff,
+			644 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(68 >> 8) & 0xff,
+		68 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l2_ovv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(653 >> 8) & 0xff,
+			653 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(69 >> 8) & 0xff,
+		69 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_ivv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(662 >> 8) & 0xff,
+			662 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(70 >> 8) & 0xff,
+		70 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l2_ivv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(680 >> 8) & 0xff,
+			680 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(73 >> 8) & 0xff,
+		73 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(698 >> 8) & 0xff,
+			698 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(76 >> 8) & 0xff,
+		76 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l2_etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(707 >> 8) & 0xff,
+			707 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(77 >> 8) & 0xff,
+		77 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3.sip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(716 >> 8) & 0xff,
+			716 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(78 >> 8) & 0xff,
+		78 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l3.sip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(723 >> 8) & 0xff,
+			723 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(79 >> 8) & 0xff,
+		79 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3.sip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(730 >> 8) & 0xff,
+			730 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(80 >> 8) & 0xff,
+		80 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l3.sip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(737 >> 8) & 0xff,
+			737 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(81 >> 8) & 0xff,
+		81 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3.dip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(744 >> 8) & 0xff,
+			744 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(82 >> 8) & 0xff,
+		82 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l3.dip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(751 >> 8) & 0xff,
+			751 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(83 >> 8) & 0xff,
+		83 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3.dip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(758 >> 8) & 0xff,
+			758 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(84 >> 8) & 0xff,
+		84 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l3.dip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(765 >> 8) & 0xff,
+			765 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(85 >> 8) & 0xff,
+		85 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3.ttl",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(772 >> 8) & 0xff,
+			772 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(86 >> 8) & 0xff,
+		86 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l3.ttl",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(786 >> 8) & 0xff,
+			786 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(89 >> 8) & 0xff,
+		89 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(800 >> 8) & 0xff,
+			800 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(92 >> 8) & 0xff,
+		92 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(824 >> 8) & 0xff,
+			824 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(99 >> 8) & 0xff,
+		99 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(848 >> 8) & 0xff,
+			848 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(106 >> 8) & 0xff,
+		106 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l3.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(862 >> 8) & 0xff,
+			862 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(109 >> 8) & 0xff,
+		109 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(876 >> 8) & 0xff,
+			876 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(112 >> 8) & 0xff,
+		112 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(892 >> 8) & 0xff,
+			892 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(116 >> 8) & 0xff,
+		116 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(908 >> 8) & 0xff,
+			908 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(120 >> 8) & 0xff,
+		120 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(924 >> 8) & 0xff,
+			924 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(124 >> 8) & 0xff,
+		124 & 0xff}
+		}
+	},
+	/* class_tid: 1, , table: hdr_overlap_cache.overlap_wr */
+	{
+	.field_info_mask = {
+		.description = "group_metadata",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "group_metadata",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(940 >> 8) & 0xff,
+			940 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr2 = {
+		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "prof_func_id",
+		.field_bit_size = 7,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "prof_func_id",
+		.field_bit_size = 7,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr1 = {
+		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
+		}
+	},
+	/* class_tid: 1, , table: hdr_overlap_cache.overlap_wr */
+	{
+	.field_info_mask = {
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
+		(BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff}
+		}
+	},
+	/* class_tid: 1, , table: profile_tcam.gen_template */
+	{
+	.field_info_mask = {
+		.description = "l4_hdr_is_udp_tcp",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(959 >> 8) & 0xff,
+			959 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(136 >> 8) & 0xff,
+		136 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l4_hdr_is_udp_tcp",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(967 >> 8) & 0xff,
+			967 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(139 >> 8) & 0xff,
+		139 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l4_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(975 >> 8) & 0xff,
+			975 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(142 >> 8) & 0xff,
+		142 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l4_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(983 >> 8) & 0xff,
+			983 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(145 >> 8) & 0xff,
+		145 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l4_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(991 >> 8) & 0xff,
+			991 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(148 >> 8) & 0xff,
+		148 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l4_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(999 >> 8) & 0xff,
+			999 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(151 >> 8) & 0xff,
+		151 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l4_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1007 >> 8) & 0xff,
+			1007 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(154 >> 8) & 0xff,
+		154 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l4_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1015 >> 8) & 0xff,
+			1015 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_L4_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(157 >> 8) & 0xff,
+		157 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "ieh",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "ieh",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3_ipv6_cmp_dst",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "l3_ipv6_cmp_dst",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3_ipv6_cmp_src",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "l3_ipv6_cmp_src",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3_hdr_isIP",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "l3_hdr_isIP",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1023 >> 8) & 0xff,
+			1023 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_L3_HDR_ISIP_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(160 >> 8) & 0xff,
+		160 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1031 >> 8) & 0xff,
+			1031 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(163 >> 8) & 0xff,
+		163 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l3_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1039 >> 8) & 0xff,
+			1039 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_L3_HDR_TYPE_IPV6},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(166 >> 8) & 0xff,
+		166 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1047 >> 8) & 0xff,
+			1047 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(169 >> 8) & 0xff,
+		169 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l3_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1055 >> 8) & 0xff,
+			1055 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(172 >> 8) & 0xff,
+		172 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1063 >> 8) & 0xff,
+			1063 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(175 >> 8) & 0xff,
+		175 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l3_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1071 >> 8) & 0xff,
+			1071 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_L3_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(178 >> 8) & 0xff,
+		178 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_two_vtags",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "l2_two_vtags",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1079 >> 8) & 0xff,
+			1079 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_L2_TWO_VTAGS_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(181 >> 8) & 0xff,
+		181 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_vtag_present",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "l2_vtag_present",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1085 >> 8) & 0xff,
+			1085 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_L2_VTAG_PRESENT_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(182 >> 8) & 0xff,
+		182 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_uc_mc_bc",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "l2_uc_mc_bc",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_hdr_type",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1091 >> 8) & 0xff,
+			1091 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "l2_hdr_type",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1092 >> 8) & 0xff,
+			1092 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1093 >> 8) & 0xff,
+			1093 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(183 >> 8) & 0xff,
+		183 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l2_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1097 >> 8) & 0xff,
+			1097 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(184 >> 8) & 0xff,
+		184 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "l2_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1101 >> 8) & 0xff,
+			1101 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_L2_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(185 >> 8) & 0xff,
+		185 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tun_hdr_flags",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tun_hdr_flags",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tun_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1105 >> 8) & 0xff,
+			1105 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(186 >> 8) & 0xff,
+		186 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "tun_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1117 >> 8) & 0xff,
+			1117 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(191 >> 8) & 0xff,
+		191 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tun_hdr_err",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1129 >> 8) & 0xff,
+			1129 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tun_hdr_err",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1130 >> 8) & 0xff,
+			1130 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tun_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "tun_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1131 >> 8) & 0xff,
+			1131 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_TUN_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl4_hdr_is_udp_tcp",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1132 >> 8) & 0xff,
+			1132 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(196 >> 8) & 0xff,
+		196 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "tl4_hdr_is_udp_tcp",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1136 >> 8) & 0xff,
+			1136 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_TL4_HDR_IS_UDP_TCP_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(197 >> 8) & 0xff,
+		197 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl4_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1140 >> 8) & 0xff,
+			1140 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(198 >> 8) & 0xff,
+		198 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "tl4_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1144 >> 8) & 0xff,
+			1144 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(199 >> 8) & 0xff,
+		199 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl4_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1148 >> 8) & 0xff,
+			1148 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(200 >> 8) & 0xff,
+		200 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "tl4_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1152 >> 8) & 0xff,
+			1152 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(201 >> 8) & 0xff,
+		201 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl4_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1156 >> 8) & 0xff,
+			1156 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(202 >> 8) & 0xff,
+		202 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "tl4_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1161 >> 8) & 0xff,
+			1161 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_TL4_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(204 >> 8) & 0xff,
+		204 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl3_ipv6_cmp_dst",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tl3_ipv6_cmp_dst",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl3_ipv6_cmp_src",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tl3_ipv6_cmp_src",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl3_hdr_isIP",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "tl3_hdr_isIP",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1166 >> 8) & 0xff,
+			1166 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_TL3_HDR_ISIP_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(206 >> 8) & 0xff,
+		206 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl3_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1170 >> 8) & 0xff,
+			1170 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(207 >> 8) & 0xff,
+		207 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "tl3_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1174 >> 8) & 0xff,
+			1174 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_TL3_HDR_TYPE_IPV6},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(208 >> 8) & 0xff,
+		208 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl3_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1178 >> 8) & 0xff,
+			1178 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(209 >> 8) & 0xff,
+		209 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "tl3_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1182 >> 8) & 0xff,
+			1182 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(210 >> 8) & 0xff,
+		210 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl3_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "tl3_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1186 >> 8) & 0xff,
+			1186 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_TL3_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(211 >> 8) & 0xff,
+		211 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl2_two_vtags",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "tl2_two_vtags",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1190 >> 8) & 0xff,
+			1190 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_TL2_TWO_VTAGS_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl2_vtag_present",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "tl2_vtag_present",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1193 >> 8) & 0xff,
+			1193 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_TL2_VTAG_PRESENT_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl2_uc_mc_bc",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tl2_uc_mc_bc",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl2_hdr_type",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1196 >> 8) & 0xff,
+			1196 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tl2_hdr_type",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1197 >> 8) & 0xff,
+			1197 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl2_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "tl2_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1198 >> 8) & 0xff,
+			1198 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_TL2_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(212 >> 8) & 0xff,
+		212 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "hrec_next",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "hrec_next",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "prof_func_id",
+		.field_bit_size = 7,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "prof_func_id",
+		.field_bit_size = 7,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr1 = {
+		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "agg_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "agg_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "metadata",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "metadata",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(1202 >> 8) & 0xff,
+			1202 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr2 = {
+		(213 >> 8) & 0xff,
+		213 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "pkt_type_0",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "pkt_type_0",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "pkt_type_1",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "pkt_type_1",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		1}
+		},
+	.field_info_spec = {
+		.description = "valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		1}
+		}
+	},
+	/* class_tid: 1, , table: wm_key_recipe.0 */
+	{
+	.field_info_mask = {
+		.description = "wc_profile_id",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "wc_profile_id",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr1 = {
+		(BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_cntxt_id",
+		.field_bit_size = 10,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1206 >> 8) & 0xff,
+			1206 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "l2_cntxt_id",
+		.field_bit_size = 10,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1208 >> 8) & 0xff,
+			1208 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr2 = {
+		(BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "meta",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(1210 >> 8) & 0xff,
+			1210 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "meta",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(1213 >> 8) & 0xff,
+			1213 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr2 = {
+		(214 >> 8) & 0xff,
+		214 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "rcyc_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1217 >> 8) & 0xff,
+			1217 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "rcyc_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1218 >> 8) & 0xff,
+			1218 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr2 = {
+		(BNXT_ULP_RF_IDX_RECYCLE_CNT >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_RECYCLE_CNT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl2_dmac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1219 >> 8) & 0xff,
+			1219 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "tl2_dmac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1223 >> 8) & 0xff,
+			1223 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl2_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1227 >> 8) & 0xff,
+			1227 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "tl2_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1231 >> 8) & 0xff,
+			1231 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl2_ovv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1235 >> 8) & 0xff,
+			1235 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "tl2_ovv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1240 >> 8) & 0xff,
+			1240 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl2_ivv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1245 >> 8) & 0xff,
+			1245 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(215 >> 8) & 0xff,
+		215 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "tl2_ivv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1255 >> 8) & 0xff,
+			1255 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(216 >> 8) & 0xff,
+		216 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl2_etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1265 >> 8) & 0xff,
+			1265 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "tl2_etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1270 >> 8) & 0xff,
+			1270 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl3.sip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1275 >> 8) & 0xff,
+			1275 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "tl3.sip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1279 >> 8) & 0xff,
+			1279 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl3.sip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1283 >> 8) & 0xff,
+			1283 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr2 = {
+		(217 >> 8) & 0xff,
+		217 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "tl3.sip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1288 >> 8) & 0xff,
+			1288 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr2 = {
+		(218 >> 8) & 0xff,
+		218 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl3.dip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1293 >> 8) & 0xff,
+			1293 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "tl3.dip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1297 >> 8) & 0xff,
+			1297 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl3.dip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1301 >> 8) & 0xff,
+			1301 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "tl3.dip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1305 >> 8) & 0xff,
+			1305 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl3.ttl",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1309 >> 8) & 0xff,
+			1309 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(219 >> 8) & 0xff,
+		219 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "tl3.ttl",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1317 >> 8) & 0xff,
+			1317 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(220 >> 8) & 0xff,
+		220 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1325 >> 8) & 0xff,
+			1325 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(221 >> 8) & 0xff,
+		221 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "tl3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1333 >> 8) & 0xff,
+			1333 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(222 >> 8) & 0xff,
+		222 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl3.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1341 >> 8) & 0xff,
+			1341 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(223 >> 8) & 0xff,
+		223 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "tl3.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1349 >> 8) & 0xff,
+			1349 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(224 >> 8) & 0xff,
+		224 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1357 >> 8) & 0xff,
+			1357 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(225 >> 8) & 0xff,
+		225 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "tl4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1365 >> 8) & 0xff,
+			1365 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(226 >> 8) & 0xff,
+		226 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1373 >> 8) & 0xff,
+			1373 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(227 >> 8) & 0xff,
+		227 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "tl4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1382 >> 8) & 0xff,
+			1382 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(228 >> 8) & 0xff,
+		228 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tids",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1391 >> 8) & 0xff,
+			1391 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(229 >> 8) & 0xff,
+		229 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "tids",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1397 >> 8) & 0xff,
+			1397 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(230 >> 8) & 0xff,
+		230 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_dmac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1403 >> 8) & 0xff,
+			1403 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(231 >> 8) & 0xff,
+		231 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l2_dmac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1410 >> 8) & 0xff,
+			1410 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(232 >> 8) & 0xff,
+		232 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1417 >> 8) & 0xff,
+			1417 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(233 >> 8) & 0xff,
+		233 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l2_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1424 >> 8) & 0xff,
+			1424 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(234 >> 8) & 0xff,
+		234 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_ovv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1431 >> 8) & 0xff,
+			1431 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(235 >> 8) & 0xff,
+		235 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l2_ovv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1440 >> 8) & 0xff,
+			1440 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(236 >> 8) & 0xff,
+		236 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_ivv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1449 >> 8) & 0xff,
+			1449 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(237 >> 8) & 0xff,
+		237 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l2_ivv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1467 >> 8) & 0xff,
+			1467 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(240 >> 8) & 0xff,
+		240 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1485 >> 8) & 0xff,
+			1485 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(243 >> 8) & 0xff,
+		243 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l2_etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1494 >> 8) & 0xff,
+			1494 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(244 >> 8) & 0xff,
+		244 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3.sip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1503 >> 8) & 0xff,
+			1503 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(245 >> 8) & 0xff,
+		245 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l3.sip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1510 >> 8) & 0xff,
+			1510 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(246 >> 8) & 0xff,
+		246 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3.sip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1517 >> 8) & 0xff,
+			1517 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(247 >> 8) & 0xff,
+		247 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l3.sip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1524 >> 8) & 0xff,
+			1524 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(248 >> 8) & 0xff,
+		248 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3.dip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1531 >> 8) & 0xff,
+			1531 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(249 >> 8) & 0xff,
+		249 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l3.dip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1538 >> 8) & 0xff,
+			1538 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(250 >> 8) & 0xff,
+		250 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3.dip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1545 >> 8) & 0xff,
+			1545 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(251 >> 8) & 0xff,
+		251 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l3.dip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1552 >> 8) & 0xff,
+			1552 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(252 >> 8) & 0xff,
+		252 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3.ttl",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1559 >> 8) & 0xff,
+			1559 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(253 >> 8) & 0xff,
+		253 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l3.ttl",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1573 >> 8) & 0xff,
+			1573 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(256 >> 8) & 0xff,
+		256 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1587 >> 8) & 0xff,
+			1587 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(259 >> 8) & 0xff,
+		259 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1611 >> 8) & 0xff,
+			1611 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_IP_PROTO_TCP},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(266 >> 8) & 0xff,
+		266 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1635 >> 8) & 0xff,
+			1635 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(273 >> 8) & 0xff,
+		273 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l3.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1649 >> 8) & 0xff,
+			1649 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(276 >> 8) & 0xff,
+		276 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1663 >> 8) & 0xff,
+			1663 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(279 >> 8) & 0xff,
+		279 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1679 >> 8) & 0xff,
+			1679 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(283 >> 8) & 0xff,
+		283 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1695 >> 8) & 0xff,
+			1695 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(287 >> 8) & 0xff,
+		287 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1711 >> 8) & 0xff,
+			1711 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(291 >> 8) & 0xff,
+		291 & 0xff}
+		}
+	},
+	/* class_tid: 1, , table: proto_header_cache.wr */
+	{
+	.field_info_mask = {
+		.description = "group_metadata",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "group_metadata",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(1727 >> 8) & 0xff,
+			1727 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr2 = {
+		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "prof_func_id",
+		.field_bit_size = 7,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "prof_func_id",
+		.field_bit_size = 7,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr1 = {
+		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
+		(BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff}
+		}
+	},
+	/* class_tid: 1, , table: em_flow_conflict_cache.rd */
+	{
+	.field_info_mask = {
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "group_metadata",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "group_metadata",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(1732 >> 8) & 0xff,
+			1732 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr2 = {
+		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "prof_func_id",
+		.field_bit_size = 7,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "prof_func_id",
+		.field_bit_size = 7,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr1 = {
+		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
+		(BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff}
+		}
+	},
+	/* class_tid: 1, , table: em_key_recipe.0 */
+	{
+	.field_info_mask = {
+		.description = "em_profile_id",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "em_profile_id",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr1 = {
+		(BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_cntxt_id",
+		.field_bit_size = 10,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1982 >> 8) & 0xff,
+			1982 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "l2_cntxt_id",
+		.field_bit_size = 10,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1984 >> 8) & 0xff,
+			1984 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr2 = {
+		(BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "meta",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(1986 >> 8) & 0xff,
+			1986 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "meta",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(1988 >> 8) & 0xff,
+			1988 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr2 = {
+		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "rcyc_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1990 >> 8) & 0xff,
+			1990 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "rcyc_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1991 >> 8) & 0xff,
+			1991 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr2 = {
+		(BNXT_ULP_RF_IDX_RECYCLE_CNT >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_RECYCLE_CNT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl2_dmac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1992 >> 8) & 0xff,
+			1992 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "tl2_dmac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1997 >> 8) & 0xff,
+			1997 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl2_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2002 >> 8) & 0xff,
+			2002 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "tl2_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2006 >> 8) & 0xff,
+			2006 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl2_ovv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2010 >> 8) & 0xff,
+			2010 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "tl2_ovv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2015 >> 8) & 0xff,
+			2015 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl2_ivv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2020 >> 8) & 0xff,
+			2020 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(332 >> 8) & 0xff,
+		332 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "tl2_ivv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2030 >> 8) & 0xff,
+			2030 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(333 >> 8) & 0xff,
+		333 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl2_etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2040 >> 8) & 0xff,
+			2040 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "tl2_etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2045 >> 8) & 0xff,
+			2045 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl3.sip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2050 >> 8) & 0xff,
+			2050 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "tl3.sip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2054 >> 8) & 0xff,
+			2054 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl3.sip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2058 >> 8) & 0xff,
+			2058 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "tl3.sip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2062 >> 8) & 0xff,
+			2062 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl3.dip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2066 >> 8) & 0xff,
+			2066 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "tl3.dip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2070 >> 8) & 0xff,
+			2070 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl3.dip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2074 >> 8) & 0xff,
+			2074 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "tl3.dip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2078 >> 8) & 0xff,
+			2078 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl3.ttl",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2082 >> 8) & 0xff,
+			2082 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(334 >> 8) & 0xff,
+		334 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "tl3.ttl",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2090 >> 8) & 0xff,
+			2090 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(335 >> 8) & 0xff,
+		335 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2098 >> 8) & 0xff,
+			2098 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(336 >> 8) & 0xff,
+		336 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "tl3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2106 >> 8) & 0xff,
+			2106 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(337 >> 8) & 0xff,
+		337 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl3.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2114 >> 8) & 0xff,
+			2114 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(338 >> 8) & 0xff,
+		338 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "tl3.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2122 >> 8) & 0xff,
+			2122 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(339 >> 8) & 0xff,
+		339 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2130 >> 8) & 0xff,
+			2130 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(340 >> 8) & 0xff,
+		340 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "tl4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2138 >> 8) & 0xff,
+			2138 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(341 >> 8) & 0xff,
+		341 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2146 >> 8) & 0xff,
+			2146 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(342 >> 8) & 0xff,
+		342 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "tl4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2155 >> 8) & 0xff,
+			2155 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(343 >> 8) & 0xff,
+		343 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tids",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2164 >> 8) & 0xff,
+			2164 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(344 >> 8) & 0xff,
+		344 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "tids",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2170 >> 8) & 0xff,
+			2170 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(345 >> 8) & 0xff,
+		345 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_dmac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2176 >> 8) & 0xff,
+			2176 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(346 >> 8) & 0xff,
+		346 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l2_dmac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2185 >> 8) & 0xff,
+			2185 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(347 >> 8) & 0xff,
+		347 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2194 >> 8) & 0xff,
+			2194 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(348 >> 8) & 0xff,
+		348 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l2_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2201 >> 8) & 0xff,
+			2201 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(349 >> 8) & 0xff,
+		349 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_ovv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2208 >> 8) & 0xff,
+			2208 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(350 >> 8) & 0xff,
+		350 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l2_ovv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2217 >> 8) & 0xff,
+			2217 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(351 >> 8) & 0xff,
+		351 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_ivv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2226 >> 8) & 0xff,
+			2226 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(352 >> 8) & 0xff,
+		352 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l2_ivv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2244 >> 8) & 0xff,
+			2244 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(355 >> 8) & 0xff,
+		355 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2262 >> 8) & 0xff,
+			2262 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(358 >> 8) & 0xff,
+		358 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l2_etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2271 >> 8) & 0xff,
+			2271 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(359 >> 8) & 0xff,
+		359 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3.sip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2280 >> 8) & 0xff,
+			2280 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(360 >> 8) & 0xff,
+		360 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l3.sip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2287 >> 8) & 0xff,
+			2287 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(361 >> 8) & 0xff,
+		361 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3.sip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2294 >> 8) & 0xff,
+			2294 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(362 >> 8) & 0xff,
+		362 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l3.sip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2301 >> 8) & 0xff,
+			2301 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(363 >> 8) & 0xff,
+		363 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3.dip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2308 >> 8) & 0xff,
+			2308 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(364 >> 8) & 0xff,
+		364 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l3.dip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2315 >> 8) & 0xff,
+			2315 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(365 >> 8) & 0xff,
+		365 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3.dip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2322 >> 8) & 0xff,
+			2322 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(366 >> 8) & 0xff,
+		366 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l3.dip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2329 >> 8) & 0xff,
+			2329 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(367 >> 8) & 0xff,
+		367 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3.ttl",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2336 >> 8) & 0xff,
+			2336 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(368 >> 8) & 0xff,
+		368 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l3.ttl",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2350 >> 8) & 0xff,
+			2350 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(371 >> 8) & 0xff,
+		371 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2364 >> 8) & 0xff,
+			2364 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(374 >> 8) & 0xff,
+		374 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2378 >> 8) & 0xff,
+			2378 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(377 >> 8) & 0xff,
+		377 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2392 >> 8) & 0xff,
+			2392 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(380 >> 8) & 0xff,
+		380 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l3.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2406 >> 8) & 0xff,
+			2406 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(383 >> 8) & 0xff,
+		383 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2420 >> 8) & 0xff,
+			2420 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(386 >> 8) & 0xff,
+		386 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2434 >> 8) & 0xff,
+			2434 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(389 >> 8) & 0xff,
+		389 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2448 >> 8) & 0xff,
+			2448 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(392 >> 8) & 0xff,
+		392 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2462 >> 8) & 0xff,
+			2462 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(395 >> 8) & 0xff,
+		395 & 0xff}
+		}
+	},
+	/* class_tid: 1, , table: em_flow_conflict_cache.wr */
+	{
+	.field_info_mask = {
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "group_metadata",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "group_metadata",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(2476 >> 8) & 0xff,
+			2476 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr2 = {
+		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "prof_func_id",
+		.field_bit_size = 7,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "prof_func_id",
+		.field_bit_size = 7,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr1 = {
+		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
+		(BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff}
+		}
+	},
+	/* class_tid: 2, , table: l2_cntxt_tcam_cache.rd */
+	{
+	.field_info_mask = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr1 = {
+		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		},
+	.field_info_spec = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr1 = {
+		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		}
+	},
+	/* class_tid: 2, , table: multi_flow_tunnel_cache.rd */
+	{
+	.field_info_mask = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr1 = {
+		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		},
+	.field_info_spec = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr1 = {
+		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "tunnel_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+		.field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
+		.field_opr1 = {
+		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
+		(uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2512 >> 8) & 0xff,
+			2512 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tunnel_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2514 >> 8) & 0xff,
+			2514 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_dmac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2516 >> 8) & 0xff,
+			2516 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tunnel_dmac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2518 >> 8) & 0xff,
+			2518 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_dip_v6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2520 >> 8) & 0xff,
+			2520 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tunnel_dip_v6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2522 >> 8) & 0xff,
+			2522 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_sip_v6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2524 >> 8) & 0xff,
+			2524 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tunnel_sip_v6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2526 >> 8) & 0xff,
+			2526 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_dip_v4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2528 >> 8) & 0xff,
+			2528 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tunnel_dip_v4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2530 >> 8) & 0xff,
+			2530 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_sip_v4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2532 >> 8) & 0xff,
+			2532 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tunnel_sip_v4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2534 >> 8) & 0xff,
+			2534 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_sport",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2536 >> 8) & 0xff,
+			2536 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tunnel_sport",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2538 >> 8) & 0xff,
+			2538 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	/* class_tid: 2, , table: multi_flow_tunnel_cache.wr */
+	{
+	.field_info_mask = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr1 = {
+		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		},
+	.field_info_spec = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr1 = {
+		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "tunnel_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+		.field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
+		.field_opr1 = {
+		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
+		(uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2541 >> 8) & 0xff,
+			2541 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tunnel_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2543 >> 8) & 0xff,
+			2543 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_dmac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2545 >> 8) & 0xff,
+			2545 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tunnel_dmac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2547 >> 8) & 0xff,
+			2547 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_dip_v6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2549 >> 8) & 0xff,
+			2549 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tunnel_dip_v6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2551 >> 8) & 0xff,
+			2551 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_sip_v6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2553 >> 8) & 0xff,
+			2553 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tunnel_sip_v6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2555 >> 8) & 0xff,
+			2555 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_dip_v4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2557 >> 8) & 0xff,
+			2557 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tunnel_dip_v4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2559 >> 8) & 0xff,
+			2559 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_sip_v4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2561 >> 8) & 0xff,
+			2561 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tunnel_sip_v4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2563 >> 8) & 0xff,
+			2563 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tunnel_sport",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2565 >> 8) & 0xff,
+			2565 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tunnel_sport",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2567 >> 8) & 0xff,
+			2567 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	/* class_tid: 2, , table: flow_chain_cache.group_check */
+	{
+	.field_info_mask = {
+		.description = "group_id",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "group_id",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
+		(BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_GROUP_ID & 0xff}
+		}
+	},
+	/* class_tid: 2, , table: flow_chain_cache.write */
+	{
+	.field_info_mask = {
+		.description = "group_id",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "group_id",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
+		(BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_GROUP_ID & 0xff}
+		}
+	},
+	/* class_tid: 2, , table: proto_header_cache.rd */
+	{
+	.field_info_mask = {
+		.description = "group_metadata",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "group_metadata",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(2579 >> 8) & 0xff,
+			2579 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr2 = {
+		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "prof_func_id",
+		.field_bit_size = 7,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "prof_func_id",
+		.field_bit_size = 7,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr1 = {
+		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
+		(BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff}
+		}
+	},
+	/* class_tid: 2, , table: hdr_overlap_cache.overlap_check */
+	{
+	.field_info_mask = {
+		.description = "group_metadata",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "group_metadata",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(2582 >> 8) & 0xff,
+			2582 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr2 = {
+		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "prof_func_id",
+		.field_bit_size = 7,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "prof_func_id",
+		.field_bit_size = 7,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr1 = {
+		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
+		}
+	},
+	/* class_tid: 2, , table: hdr_overlap_cache.overlap_check */
+	{
+	.field_info_mask = {
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
+		(BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff}
+		}
+	},
+	/* class_tid: 2, , table: group_miss_action_cache.rd */
+	{
+	.field_info_mask = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr1 = {
+		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		},
+	.field_info_spec = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr1 = {
+		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "group_id",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "group_id",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2586 >> 8) & 0xff,
+			2586 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr2 = {
+		(BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_GROUP_ID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	/* class_tid: 2, , table: wm.egress_generic_template_grp_catch_all */
+	{
+	.field_info_mask = {
+		.description = "wc_profile_id",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "wc_profile_id",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr1 = {
+		(BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_cntxt_id",
+		.field_bit_size = 10,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2847 >> 8) & 0xff,
+			2847 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "l2_cntxt_id",
+		.field_bit_size = 10,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2849 >> 8) & 0xff,
+			2849 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "meta",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(2851 >> 8) & 0xff,
+			2851 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "meta",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(2854 >> 8) & 0xff,
+			2854 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "rcyc_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2857 >> 8) & 0xff,
+			2857 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "rcyc_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2858 >> 8) & 0xff,
+			2858 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr2 = {
+		(BNXT_ULP_RF_IDX_RECYCLE_CNT >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_RECYCLE_CNT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl2_dmac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2859 >> 8) & 0xff,
+			2859 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "tl2_dmac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2863 >> 8) & 0xff,
+			2863 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl2_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2867 >> 8) & 0xff,
+			2867 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr2 = {
+		(441 >> 8) & 0xff,
+		441 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "tl2_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2874 >> 8) & 0xff,
+			2874 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr2 = {
+		(442 >> 8) & 0xff,
+		442 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl2_ovv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2881 >> 8) & 0xff,
+			2881 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "tl2_ovv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2886 >> 8) & 0xff,
+			2886 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl2_ivv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2891 >> 8) & 0xff,
+			2891 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(443 >> 8) & 0xff,
+		443 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "tl2_ivv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2901 >> 8) & 0xff,
+			2901 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(444 >> 8) & 0xff,
+		444 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl2_etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2911 >> 8) & 0xff,
+			2911 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "tl2_etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2916 >> 8) & 0xff,
+			2916 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl3.sip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2921 >> 8) & 0xff,
+			2921 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "tl3.sip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2925 >> 8) & 0xff,
+			2925 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl3.sip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2929 >> 8) & 0xff,
+			2929 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr2 = {
+		(445 >> 8) & 0xff,
+		445 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "tl3.sip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2934 >> 8) & 0xff,
+			2934 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr2 = {
+		(446 >> 8) & 0xff,
+		446 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl3.dip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2939 >> 8) & 0xff,
+			2939 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "tl3.dip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2943 >> 8) & 0xff,
+			2943 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl3.dip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2947 >> 8) & 0xff,
+			2947 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "svif",
-		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.description = "tl3.dip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+			(2951 >> 8) & 0xff,
+			2951 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		}
 	},
-	/* class_tid: 1, , table: tunnel_cache.f1_f2_rd */
 	{
 	.field_info_mask = {
-		.description = "svif",
-		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.description = "tl3.ttl",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+			(2955 >> 8) & 0xff,
+			2955 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(447 >> 8) & 0xff,
+		447 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "svif",
-		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.description = "tl3.ttl",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+			(2963 >> 8) & 0xff,
+			2963 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(448 >> 8) & 0xff,
+		448 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_id",
+		.description = "tl3.prot",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff}
+			(2971 >> 8) & 0xff,
+			2971 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(449 >> 8) & 0xff,
+		449 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tunnel_id",
+		.description = "tl3.prot",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_TUNNEL_ID >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_TUNNEL_ID & 0xff}
+			(2979 >> 8) & 0xff,
+			2979 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(450 >> 8) & 0xff,
+		450 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl3.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2987 >> 8) & 0xff,
+			2987 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(451 >> 8) & 0xff,
+		451 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "tl3.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2995 >> 8) & 0xff,
+			2995 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(452 >> 8) & 0xff,
+		452 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3003 >> 8) & 0xff,
+			3003 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(453 >> 8) & 0xff,
+		453 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "tl4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3011 >> 8) & 0xff,
+			3011 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(454 >> 8) & 0xff,
+		454 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3019 >> 8) & 0xff,
+			3019 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(455 >> 8) & 0xff,
+		455 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "tl4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3028 >> 8) & 0xff,
+			3028 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(456 >> 8) & 0xff,
+		456 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tids",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3037 >> 8) & 0xff,
+			3037 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(457 >> 8) & 0xff,
+		457 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "tids",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3043 >> 8) & 0xff,
+			3043 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(458 >> 8) & 0xff,
+		458 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_dmac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3049 >> 8) & 0xff,
+			3049 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(459 >> 8) & 0xff,
+		459 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l2_dmac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3056 >> 8) & 0xff,
+			3056 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(460 >> 8) & 0xff,
+		460 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3063 >> 8) & 0xff,
+			3063 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(461 >> 8) & 0xff,
+		461 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l2_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3070 >> 8) & 0xff,
+			3070 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(462 >> 8) & 0xff,
+		462 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_ovv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3077 >> 8) & 0xff,
+			3077 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(463 >> 8) & 0xff,
+		463 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l2_ovv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3086 >> 8) & 0xff,
+			3086 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(464 >> 8) & 0xff,
+		464 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_ivv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3095 >> 8) & 0xff,
+			3095 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(465 >> 8) & 0xff,
+		465 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l2_ivv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3113 >> 8) & 0xff,
+			3113 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(468 >> 8) & 0xff,
+		468 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3131 >> 8) & 0xff,
+			3131 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(471 >> 8) & 0xff,
+		471 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l2_etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3140 >> 8) & 0xff,
+			3140 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(472 >> 8) & 0xff,
+		472 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3.sip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3149 >> 8) & 0xff,
+			3149 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(473 >> 8) & 0xff,
+		473 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l3.sip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3156 >> 8) & 0xff,
+			3156 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(474 >> 8) & 0xff,
+		474 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3.sip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3163 >> 8) & 0xff,
+			3163 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(475 >> 8) & 0xff,
+		475 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l3.sip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3170 >> 8) & 0xff,
+			3170 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(476 >> 8) & 0xff,
+		476 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3.dip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3177 >> 8) & 0xff,
+			3177 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(477 >> 8) & 0xff,
+		477 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l3.dip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3184 >> 8) & 0xff,
+			3184 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(478 >> 8) & 0xff,
+		478 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3.dip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3191 >> 8) & 0xff,
+			3191 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(479 >> 8) & 0xff,
+		479 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l3.dip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3198 >> 8) & 0xff,
+			3198 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(480 >> 8) & 0xff,
+		480 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3.ttl",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3205 >> 8) & 0xff,
+			3205 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(481 >> 8) & 0xff,
+		481 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "l3.ttl",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3219 >> 8) & 0xff,
+			3219 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(484 >> 8) & 0xff,
+		484 & 0xff}
 		}
 	},
-	/* class_tid: 1, , table: tunnel_cache.f1_f2_wr */
 	{
 	.field_info_mask = {
-		.description = "svif",
-		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.description = "l3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+			(3233 >> 8) & 0xff,
+			3233 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(487 >> 8) & 0xff,
+		487 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "svif",
-		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.description = "l3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+			(3257 >> 8) & 0xff,
+			3257 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(494 >> 8) & 0xff,
+		494 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_id",
+		.description = "l3.qos",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff}
+			(3281 >> 8) & 0xff,
+			3281 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(501 >> 8) & 0xff,
+		501 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tunnel_id",
+		.description = "l3.qos",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_TUNNEL_ID >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_TUNNEL_ID & 0xff}
+			(3295 >> 8) & 0xff,
+			3295 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(504 >> 8) & 0xff,
+		504 & 0xff}
 		}
 	},
-	/* class_tid: 1, , table: multi_flow_tunnel_cache.rd */
 	{
 	.field_info_mask = {
-		.description = "svif",
-		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.description = "l4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+			(3309 >> 8) & 0xff,
+			3309 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(507 >> 8) & 0xff,
+		507 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "svif",
-		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.description = "l4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+			(3325 >> 8) & 0xff,
+			3325 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(511 >> 8) & 0xff,
+		511 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.description = "l4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff}
+			(3341 >> 8) & 0xff,
+			3341 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(515 >> 8) & 0xff,
+		515 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tunnel_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
+		.description = "l4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
-		(uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff},
+			(3357 >> 8) & 0xff,
+			3357 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(519 >> 8) & 0xff,
+		519 & 0xff}
 		}
 	},
+	/* class_tid: 2, , table: hdr_overlap_cache.overlap_wr */
 	{
 	.field_info_mask = {
-		.description = "tunnel_smac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "group_metadata",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(40 >> 8) & 0xff,
-			40 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "tunnel_smac",
-		.field_bit_size = 48,
+		.description = "group_metadata",
+		.field_bit_size = 4,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 		.field_opr1 = {
-			(42 >> 8) & 0xff,
-			42 & 0xff,
+			(3373 >> 8) & 0xff,
+			3373 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_dmac",
-		.field_bit_size = 48,
+		.description = "prof_func_id",
+		.field_bit_size = 7,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "tunnel_dmac",
-		.field_bit_size = 48,
+		.description = "prof_func_id",
+		.field_bit_size = 7,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr1 = {
-		(BNXT_ULP_RF_IDX_O_DMAC >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_O_DMAC & 0xff}
+		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
 		}
 	},
+	/* class_tid: 2, , table: hdr_overlap_cache.overlap_wr */
 	{
 	.field_info_mask = {
-		.description = "tunnel_dip_v6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(44 >> 8) & 0xff,
-			44 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "tunnel_dip_v6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
-			(46 >> 8) & 0xff,
-			46 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		(BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff}
 		}
 	},
+	/* class_tid: 2, , table: profile_tcam.gen_template */
 	{
 	.field_info_mask = {
-		.description = "tunnel_sip_v6",
-		.field_bit_size = 128,
+		.description = "l4_hdr_is_udp_tcp",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(48 >> 8) & 0xff,
-			48 & 0xff,
+			(3392 >> 8) & 0xff,
+			3392 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(531 >> 8) & 0xff,
+		531 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tunnel_sip_v6",
-		.field_bit_size = 128,
+		.description = "l4_hdr_is_udp_tcp",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(50 >> 8) & 0xff,
-			50 & 0xff,
+			(3400 >> 8) & 0xff,
+			3400 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(534 >> 8) & 0xff,
+		534 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_dip_v4",
-		.field_bit_size = 32,
+		.description = "l4_hdr_type",
+		.field_bit_size = 4,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(52 >> 8) & 0xff,
-			52 & 0xff,
+			(3408 >> 8) & 0xff,
+			3408 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(537 >> 8) & 0xff,
+		537 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tunnel_dip_v4",
-		.field_bit_size = 32,
+		.description = "l4_hdr_type",
+		.field_bit_size = 4,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(54 >> 8) & 0xff,
-			54 & 0xff,
+			(3416 >> 8) & 0xff,
+			3416 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(540 >> 8) & 0xff,
+		540 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_sip_v4",
-		.field_bit_size = 32,
+		.description = "l4_hdr_error",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(56 >> 8) & 0xff,
-			56 & 0xff,
+			(3424 >> 8) & 0xff,
+			3424 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(543 >> 8) & 0xff,
+		543 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tunnel_sip_v4",
-		.field_bit_size = 32,
+		.description = "l4_hdr_error",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(58 >> 8) & 0xff,
-			58 & 0xff,
+			(3432 >> 8) & 0xff,
+			3432 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(546 >> 8) & 0xff,
+		546 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_sport",
-		.field_bit_size = 16,
+		.description = "l4_hdr_valid",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(60 >> 8) & 0xff,
-			60 & 0xff,
+			(3440 >> 8) & 0xff,
+			3440 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(549 >> 8) & 0xff,
+		549 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tunnel_sport",
-		.field_bit_size = 16,
+		.description = "l4_hdr_valid",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(62 >> 8) & 0xff,
-			62 & 0xff,
+			(3448 >> 8) & 0xff,
+			3448 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		ULP_THOR_SYM_L4_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(552 >> 8) & 0xff,
+		552 & 0xff}
 		}
 	},
-	/* class_tid: 1, , table: multi_flow_tunnel_cache.wr */
 	{
 	.field_info_mask = {
-		.description = "svif",
-		.field_bit_size = 11,
+		.description = "ieh",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr1 = {
-		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "svif",
-		.field_bit_size = 11,
+		.description = "ieh",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr1 = {
-		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_type",
-		.field_bit_size = 4,
+		.description = "l3_ipv6_cmp_dst",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tunnel_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
-		.field_opr1 = {
-		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
-		(uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tunnel_smac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(65 >> 8) & 0xff,
-			65 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tunnel_smac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(67 >> 8) & 0xff,
-			67 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3_ipv6_cmp_dst",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_dmac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(69 >> 8) & 0xff,
-			69 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3_ipv6_cmp_src",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tunnel_dmac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(71 >> 8) & 0xff,
-			71 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3_ipv6_cmp_src",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_dip_v6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "l3_hdr_isIP",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(73 >> 8) & 0xff,
-			73 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "tunnel_dip_v6",
-		.field_bit_size = 128,
+		.description = "l3_hdr_isIP",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(75 >> 8) & 0xff,
-			75 & 0xff,
+			(3456 >> 8) & 0xff,
+			3456 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		ULP_THOR_SYM_L3_HDR_ISIP_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(555 >> 8) & 0xff,
+		555 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_sip_v6",
-		.field_bit_size = 128,
+		.description = "l3_hdr_type",
+		.field_bit_size = 4,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(77 >> 8) & 0xff,
-			77 & 0xff,
+			(3464 >> 8) & 0xff,
+			3464 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(558 >> 8) & 0xff,
+		558 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tunnel_sip_v6",
-		.field_bit_size = 128,
+		.description = "l3_hdr_type",
+		.field_bit_size = 4,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(79 >> 8) & 0xff,
-			79 & 0xff,
+			(3472 >> 8) & 0xff,
+			3472 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		ULP_THOR_SYM_L3_HDR_TYPE_IPV6},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(561 >> 8) & 0xff,
+		561 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_dip_v4",
-		.field_bit_size = 32,
+		.description = "l3_hdr_error",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(81 >> 8) & 0xff,
-			81 & 0xff,
+			(3480 >> 8) & 0xff,
+			3480 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(564 >> 8) & 0xff,
+		564 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tunnel_dip_v4",
-		.field_bit_size = 32,
+		.description = "l3_hdr_error",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(83 >> 8) & 0xff,
-			83 & 0xff,
+			(3488 >> 8) & 0xff,
+			3488 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(567 >> 8) & 0xff,
+		567 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_sip_v4",
-		.field_bit_size = 32,
+		.description = "l3_hdr_valid",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(85 >> 8) & 0xff,
-			85 & 0xff,
+			(3496 >> 8) & 0xff,
+			3496 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(570 >> 8) & 0xff,
+		570 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tunnel_sip_v4",
-		.field_bit_size = 32,
+		.description = "l3_hdr_valid",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(87 >> 8) & 0xff,
-			87 & 0xff,
+			(3504 >> 8) & 0xff,
+			3504 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		ULP_THOR_SYM_L3_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(573 >> 8) & 0xff,
+		573 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_sport",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "l2_two_vtags",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(89 >> 8) & 0xff,
-			89 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "tunnel_sport",
-		.field_bit_size = 16,
+		.description = "l2_two_vtags",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(91 >> 8) & 0xff,
-			91 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(3512 >> 8) & 0xff,
+			3512 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		ULP_THOR_SYM_L2_TWO_VTAGS_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(576 >> 8) & 0xff,
+		576 & 0xff}
 		}
 	},
-	/* class_tid: 1, , table: flow_chain_cache.group_check */
 	{
 	.field_info_mask = {
-		.description = "group_id",
-		.field_bit_size = 32,
+		.description = "l2_vtag_present",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "group_id",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.description = "l2_vtag_present",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_GROUP_ID & 0xff}
+			(3518 >> 8) & 0xff,
+			3518 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_L2_VTAG_PRESENT_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(577 >> 8) & 0xff,
+		577 & 0xff}
 		}
 	},
-	/* class_tid: 1, , table: flow_chain_cache.write */
 	{
 	.field_info_mask = {
-		.description = "group_id",
-		.field_bit_size = 32,
+		.description = "l2_uc_mc_bc",
+		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "group_id",
-		.field_bit_size = 32,
+		.description = "l2_uc_mc_bc",
+		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_hdr_type",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_GROUP_ID & 0xff}
+			(3524 >> 8) & 0xff,
+			3524 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "l2_hdr_type",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3525 >> 8) & 0xff,
+			3525 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
-	/* class_tid: 1, , table: flow_chain_l2_cntxt.chaining_check */
 	{
 	.field_info_mask = {
-		.description = "svif",
-		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.description = "l2_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+			(3526 >> 8) & 0xff,
+			3526 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(578 >> 8) & 0xff,
+		578 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "svif",
-		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.description = "l2_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+			(3530 >> 8) & 0xff,
+			3530 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(579 >> 8) & 0xff,
+		579 & 0xff}
 		}
 	},
-	/* class_tid: 1, , table: l2_cntxt_tcam.chain_entry */
 	{
 	.field_info_mask = {
-		.description = "etype",
-		.field_bit_size = 16,
+		.description = "l2_hdr_valid",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "etype",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l2_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3534 >> 8) & 0xff,
+			3534 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_L2_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(580 >> 8) & 0xff,
+		580 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_ivlan_tpid_sel",
+		.description = "tun_hdr_flags",
 		.field_bit_size = 3,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l2_ivlan_tpid_sel",
+		.description = "tun_hdr_flags",
 		.field_bit_size = 3,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
@@ -21225,223 +36077,444 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_ivlan_vid",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tun_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3538 >> 8) & 0xff,
+			3538 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(581 >> 8) & 0xff,
+		581 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_ivlan_vid",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tun_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3550 >> 8) & 0xff,
+			3550 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(586 >> 8) & 0xff,
+		586 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_ovlan_tpid_sel",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tun_hdr_err",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3562 >> 8) & 0xff,
+			3562 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l2_ovlan_tpid_sel",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tun_hdr_err",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3563 >> 8) & 0xff,
+			3563 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_ovlan_vid",
-		.field_bit_size = 12,
+		.description = "tun_hdr_valid",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_ovlan_vid",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tun_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3564 >> 8) & 0xff,
+			3564 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_TUN_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "two_vtags",
+		.description = "tl4_hdr_is_udp_tcp",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3565 >> 8) & 0xff,
+			3565 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(591 >> 8) & 0xff,
+		591 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "two_vtags",
+		.description = "tl4_hdr_is_udp_tcp",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3569 >> 8) & 0xff,
+			3569 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_TL4_HDR_IS_UDP_TCP_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(592 >> 8) & 0xff,
+		592 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "vtag_present",
+		.description = "tl4_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3573 >> 8) & 0xff,
+			3573 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(593 >> 8) & 0xff,
+		593 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "tl4_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3577 >> 8) & 0xff,
+			3577 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(594 >> 8) & 0xff,
+		594 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl4_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3581 >> 8) & 0xff,
+			3581 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(595 >> 8) & 0xff,
+		595 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "vtag_present",
+		.description = "tl4_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3585 >> 8) & 0xff,
+			3585 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(596 >> 8) & 0xff,
+		596 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "mac1_addr",
-		.field_bit_size = 48,
+		.description = "tl4_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3589 >> 8) & 0xff,
+			3589 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(597 >> 8) & 0xff,
+		597 & 0xff}
+		},
+	.field_info_spec = {
+		.description = "tl4_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3594 >> 8) & 0xff,
+			3594 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_TL4_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(599 >> 8) & 0xff,
+		599 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl3_ipv6_cmp_dst",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "mac1_addr",
-		.field_bit_size = 48,
+		.description = "tl3_ipv6_cmp_dst",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "mac0_addr",
-		.field_bit_size = 48,
+		.description = "tl3_ipv6_cmp_src",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "mac0_addr",
-		.field_bit_size = 48,
+		.description = "tl3_ipv6_cmp_src",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_id",
-		.field_bit_size = 24,
+		.description = "tl3_hdr_isIP",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "tunnel_id",
-		.field_bit_size = 24,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl3_hdr_isIP",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3599 >> 8) & 0xff,
+			3599 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_TL3_HDR_ISIP_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(601 >> 8) & 0xff,
+		601 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tun_hdr_type",
+		.description = "tl3_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3603 >> 8) & 0xff,
+			3603 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(602 >> 8) & 0xff,
+		602 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tun_hdr_type",
+		.description = "tl3_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3607 >> 8) & 0xff,
+			3607 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_TL3_HDR_TYPE_IPV6},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(603 >> 8) & 0xff,
+		603 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "llc",
+		.description = "tl3_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3611 >> 8) & 0xff,
+			3611 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(604 >> 8) & 0xff,
+		604 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "llc",
+		.description = "tl3_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3615 >> 8) & 0xff,
+			3615 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(605 >> 8) & 0xff,
+		605 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "roce",
+		.description = "tl3_hdr_valid",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-		1}
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "roce",
+		.description = "tl3_hdr_valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3619 >> 8) & 0xff,
+			3619 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_TL3_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(606 >> 8) & 0xff,
+		606 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "metadata",
-		.field_bit_size = 16,
+		.description = "tl2_two_vtags",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-		(ULP_THOR_SYM_CHAIN_META_VAL_MASK >> 8) & 0xff,
-		ULP_THOR_SYM_CHAIN_META_VAL_MASK & 0xff}
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "metadata",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.description = "tl2_two_vtags",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		(ULP_THOR_SYM_CHAIN_META_VAL >> 8) & 0xff,
-		ULP_THOR_SYM_CHAIN_META_VAL & 0xff}
+			(3623 >> 8) & 0xff,
+			3623 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_TL2_TWO_VTAGS_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "svif",
-		.field_bit_size = 11,
+		.description = "tl2_vtag_present",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "svif",
-		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.description = "tl2_vtag_present",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "parif",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "parif",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+			(3626 >> 8) & 0xff,
+			3626 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_TL2_VTAG_PRESENT_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "spif",
+		.description = "tl2_uc_mc_bc",
 		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "spif",
+		.description = "tl2_uc_mc_bc",
 		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
@@ -21449,744 +36522,1401 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
 	},
 	{
 	.field_info_mask = {
-		.description = "loopback",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "loopback",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "recycle_cnt",
+		.description = "tl2_hdr_type",
 		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(98 >> 8) & 0xff,
-			98 & 0xff,
+			(3629 >> 8) & 0xff,
+			3629 & 0xff,
 			(1 >> 8) & 0xff,
 			1 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "recycle_cnt",
+		.description = "tl2_hdr_type",
 		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(99 >> 8) & 0xff,
-			99 & 0xff,
+			(3630 >> 8) & 0xff,
+			3630 & 0xff,
 			(1 >> 8) & 0xff,
 			1 & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_CONST
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "mpass_cnt",
-		.field_bit_size = 2,
+		.description = "tl2_hdr_valid",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "mpass_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl2_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3631 >> 8) & 0xff,
+			3631 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_TL2_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "valid",
+		.description = "hrec_next",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-		1}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "valid",
+		.description = "hrec_next",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-		1}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
-	/* class_tid: 1, , table: flow_chain_l2_cntxt.write */
 	{
 	.field_info_mask = {
-		.description = "svif",
-		.field_bit_size = 11,
+		.description = "prof_func_id",
+		.field_bit_size = 7,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "svif",
-		.field_bit_size = 11,
+		.description = "prof_func_id",
+		.field_bit_size = 7,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr1 = {
-		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
 		}
 	},
-	/* class_tid: 1, , table: mac_addr_cache.rd */
 	{
 	.field_info_mask = {
-		.description = "svif",
-		.field_bit_size = 11,
+		.description = "agg_error",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr1 = {
-		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "svif",
-		.field_bit_size = 11,
+		.description = "agg_error",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr1 = {
-		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tun_hdr",
-		.field_bit_size = 4,
+		.description = "metadata",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
+			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "tun_hdr",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "metadata",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(3633 >> 8) & 0xff,
+			3633 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr2 = {
+		(607 >> 8) & 0xff,
+		607 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "one_tag",
-		.field_bit_size = 1,
+		.description = "pkt_type_0",
+		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "one_tag",
-		.field_bit_size = 1,
+		.description = "pkt_type_0",
+		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "vid",
-		.field_bit_size = 12,
+		.description = "pkt_type_1",
+		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "vid",
-		.field_bit_size = 12,
+		.description = "pkt_type_1",
+		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "mac_addr",
-		.field_bit_size = 48,
+		.description = "valid",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff}
+		1}
 		},
 	.field_info_spec = {
-		.description = "mac_addr",
-		.field_bit_size = 48,
+		.description = "valid",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-		(BNXT_ULP_RF_IDX_O_DMAC >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_O_DMAC & 0xff}
+		1}
 		}
 	},
+	/* class_tid: 2, , table: wm_key_recipe.0 */
 	{
 	.field_info_mask = {
-		.description = "etype",
-		.field_bit_size = 16,
+		.description = "wc_profile_id",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "etype",
-		.field_bit_size = 16,
+		.description = "wc_profile_id",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr1 = {
+		(BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.description = "l2_cntxt_id",
+		.field_bit_size = 10,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff}
+			(3636 >> 8) & 0xff,
+			3636 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
+		.description = "l2_cntxt_id",
+		.field_bit_size = 10,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(102 >> 8) & 0xff,
-			102 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			(3638 >> 8) & 0xff,
+			3638 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr2 = {
+		(BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "metadata",
+		.description = "meta",
 		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 		.field_opr1 = {
-			0xff,
-			0xff}
+			(3640 >> 8) & 0xff,
+			3640 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "metadata",
+		.description = "meta",
 		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 		.field_opr1 = {
-			(103 >> 8) & 0xff,
-			103 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(3643 >> 8) & 0xff,
+			3643 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr2 = {
-		(ULP_THOR_SYM_CHAIN_META_VAL >> 8) & 0xff,
-		ULP_THOR_SYM_CHAIN_META_VAL & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		(608 >> 8) & 0xff,
+		608 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		}
 	},
-	/* class_tid: 1, , table: l2_cntxt_tcam.ingress_entry */
 	{
 	.field_info_mask = {
-		.description = "etype",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "rcyc_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3647 >> 8) & 0xff,
+			3647 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "etype",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "rcyc_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3648 >> 8) & 0xff,
+			3648 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr2 = {
+		(BNXT_ULP_RF_IDX_RECYCLE_CNT >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_RECYCLE_CNT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_ivlan_tpid_sel",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl2_dmac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3649 >> 8) & 0xff,
+			3649 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "l2_ivlan_tpid_sel",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl2_dmac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3653 >> 8) & 0xff,
+			3653 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_ivlan_vid",
+		.description = "tl2_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3657 >> 8) & 0xff,
+			3657 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr2 = {
+		(609 >> 8) & 0xff,
+		609 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "tl2_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3664 >> 8) & 0xff,
+			3664 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr2 = {
+		(610 >> 8) & 0xff,
+		610 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl2_ovv",
 		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3671 >> 8) & 0xff,
+			3671 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "l2_ivlan_vid",
+		.description = "tl2_ovv",
 		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3676 >> 8) & 0xff,
+			3676 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_ovlan_tpid_sel",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl2_ivv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3681 >> 8) & 0xff,
+			3681 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(611 >> 8) & 0xff,
+		611 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_ovlan_tpid_sel",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl2_ivv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3691 >> 8) & 0xff,
+			3691 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(612 >> 8) & 0xff,
+		612 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_ovlan_vid",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl2_etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3701 >> 8) & 0xff,
+			3701 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "l2_ovlan_vid",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl2_etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3706 >> 8) & 0xff,
+			3706 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "two_vtags",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl3.sip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3711 >> 8) & 0xff,
+			3711 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "two_vtags",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl3.sip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3715 >> 8) & 0xff,
+			3715 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "vtag_present",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl3.sip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3719 >> 8) & 0xff,
+			3719 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr2 = {
+		(613 >> 8) & 0xff,
+		613 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "vtag_present",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl3.sip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3724 >> 8) & 0xff,
+			3724 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr2 = {
+		(614 >> 8) & 0xff,
+		614 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "mac1_addr",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl3.dip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3729 >> 8) & 0xff,
+			3729 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "mac1_addr",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl3.dip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3733 >> 8) & 0xff,
+			3733 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "mac0_addr",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.description = "tl3.dip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff}
+			(3737 >> 8) & 0xff,
+			3737 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "mac0_addr",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.description = "tl3.dip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		(BNXT_ULP_RF_IDX_O_DMAC >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_O_DMAC & 0xff}
+			(3741 >> 8) & 0xff,
+			3741 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_id",
-		.field_bit_size = 24,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl3.ttl",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3745 >> 8) & 0xff,
+			3745 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(615 >> 8) & 0xff,
+		615 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tunnel_id",
-		.field_bit_size = 24,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl3.ttl",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3753 >> 8) & 0xff,
+			3753 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(616 >> 8) & 0xff,
+		616 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tun_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3761 >> 8) & 0xff,
+			3761 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(617 >> 8) & 0xff,
+		617 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tun_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3769 >> 8) & 0xff,
+			3769 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(618 >> 8) & 0xff,
+		618 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "llc",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl3.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3777 >> 8) & 0xff,
+			3777 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(619 >> 8) & 0xff,
+		619 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "llc",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl3.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3785 >> 8) & 0xff,
+			3785 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(620 >> 8) & 0xff,
+		620 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "roce",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.description = "tl4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		1}
+			(3793 >> 8) & 0xff,
+			3793 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(621 >> 8) & 0xff,
+		621 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "roce",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3801 >> 8) & 0xff,
+			3801 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(622 >> 8) & 0xff,
+		622 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "metadata",
+		.description = "tl4.dst",
 		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		(ULP_THOR_SYM_CHAIN_META_VAL_MASK >> 8) & 0xff,
-		ULP_THOR_SYM_CHAIN_META_VAL_MASK & 0xff}
+			(3809 >> 8) & 0xff,
+			3809 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(623 >> 8) & 0xff,
+		623 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "metadata",
+		.description = "tl4.dst",
 		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3818 >> 8) & 0xff,
+			3818 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(624 >> 8) & 0xff,
+		624 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "svif",
-		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.description = "tids",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+			(3827 >> 8) & 0xff,
+			3827 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(625 >> 8) & 0xff,
+		625 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "svif",
-		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.description = "tids",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+			(3833 >> 8) & 0xff,
+			3833 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(626 >> 8) & 0xff,
+		626 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "parif",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l2_dmac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3839 >> 8) & 0xff,
+			3839 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(627 >> 8) & 0xff,
+		627 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "parif",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l2_dmac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3846 >> 8) & 0xff,
+			3846 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(628 >> 8) & 0xff,
+		628 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "spif",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l2_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3853 >> 8) & 0xff,
+			3853 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(629 >> 8) & 0xff,
+		629 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "spif",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l2_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3860 >> 8) & 0xff,
+			3860 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(630 >> 8) & 0xff,
+		630 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "loopback",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l2_ovv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3867 >> 8) & 0xff,
+			3867 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(631 >> 8) & 0xff,
+		631 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "loopback",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l2_ovv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3876 >> 8) & 0xff,
+			3876 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(632 >> 8) & 0xff,
+		632 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
+		.description = "l2_ivv",
+		.field_bit_size = 12,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(108 >> 8) & 0xff,
-			108 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			(3885 >> 8) & 0xff,
+			3885 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(633 >> 8) & 0xff,
+		633 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
+		.description = "l2_ivv",
+		.field_bit_size = 12,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(109 >> 8) & 0xff,
-			109 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_CONST
+			(3903 >> 8) & 0xff,
+			3903 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(636 >> 8) & 0xff,
+		636 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "mpass_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.description = "l2_etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		3}
+			(3921 >> 8) & 0xff,
+			3921 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(639 >> 8) & 0xff,
+		639 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "mpass_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l2_etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3930 >> 8) & 0xff,
+			3930 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(640 >> 8) & 0xff,
+		640 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.description = "l3.sip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		1}
+			(3939 >> 8) & 0xff,
+			3939 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(641 >> 8) & 0xff,
+		641 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.description = "l3.sip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		1}
+			(3946 >> 8) & 0xff,
+			3946 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(642 >> 8) & 0xff,
+		642 & 0xff}
 		}
 	},
-	/* class_tid: 1, , table: mac_addr_cache.wr */
 	{
 	.field_info_mask = {
-		.description = "svif",
-		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.description = "l3.sip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+			(3953 >> 8) & 0xff,
+			3953 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(643 >> 8) & 0xff,
+		643 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "svif",
-		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.description = "l3.sip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+			(3960 >> 8) & 0xff,
+			3960 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(644 >> 8) & 0xff,
+		644 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tun_hdr",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.description = "l3.dip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff}
+			(3967 >> 8) & 0xff,
+			3967 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(645 >> 8) & 0xff,
+		645 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tun_hdr",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.dip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3974 >> 8) & 0xff,
+			3974 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(646 >> 8) & 0xff,
+		646 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "one_tag",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.dip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3981 >> 8) & 0xff,
+			3981 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(647 >> 8) & 0xff,
+		647 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "one_tag",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.dip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3988 >> 8) & 0xff,
+			3988 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(648 >> 8) & 0xff,
+		648 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "vid",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.ttl",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3995 >> 8) & 0xff,
+			3995 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(649 >> 8) & 0xff,
+		649 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "vid",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.ttl",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(4009 >> 8) & 0xff,
+			4009 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(652 >> 8) & 0xff,
+		652 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "mac_addr",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.description = "l3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff}
+			(4023 >> 8) & 0xff,
+			4023 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(655 >> 8) & 0xff,
+		655 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "mac_addr",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.description = "l3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		(BNXT_ULP_RF_IDX_O_DMAC >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_O_DMAC & 0xff}
+			(4047 >> 8) & 0xff,
+			4047 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_IP_PROTO_TCP},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(662 >> 8) & 0xff,
+		662 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "etype",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.description = "l3.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff,
-			0xff}
+			(4071 >> 8) & 0xff,
+			4071 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(669 >> 8) & 0xff,
+		669 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "etype",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(4085 >> 8) & 0xff,
+			4085 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(672 >> 8) & 0xff,
+		672 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.description = "l4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff}
+			(4099 >> 8) & 0xff,
+			4099 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(675 >> 8) & 0xff,
+		675 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
+		.description = "l4.src",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(110 >> 8) & 0xff,
-			110 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			(4115 >> 8) & 0xff,
+			4115 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(679 >> 8) & 0xff,
+		679 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "metadata",
+		.description = "l4.dst",
 		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff,
-			0xff}
+			(4131 >> 8) & 0xff,
+			4131 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(683 >> 8) & 0xff,
+		683 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "metadata",
+		.description = "l4.dst",
 		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(111 >> 8) & 0xff,
-			111 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(4147 >> 8) & 0xff,
+			4147 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		(ULP_THOR_SYM_CHAIN_META_VAL >> 8) & 0xff,
-		ULP_THOR_SYM_CHAIN_META_VAL & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		(BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(687 >> 8) & 0xff,
+		687 & 0xff}
 		}
 	},
-	/* class_tid: 1, , table: proto_header_cache.rd */
+	/* class_tid: 2, , table: proto_header_cache.wr */
 	{
 	.field_info_mask = {
 		.description = "group_metadata",
@@ -22202,13 +37932,14 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 		.field_opr1 = {
-			(139 >> 8) & 0xff,
-			139 & 0xff,
+			(4163 >> 8) & 0xff,
+			4163 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr2 = {
-		ULP_THOR_SYM_CHAIN_META_TYPE},
+		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -22257,7 +37988,21 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
 		BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff}
 		}
 	},
-	/* class_tid: 1, , table: hdr_overlap_cache.overlap_check */
+	/* class_tid: 2, , table: em_flow_conflict_cache.rd */
+	{
+	.field_info_mask = {
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
 	.field_info_mask = {
 		.description = "group_metadata",
@@ -22273,13 +38018,14 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 		.field_opr1 = {
-			(142 >> 8) & 0xff,
-			142 & 0xff,
+			(4168 >> 8) & 0xff,
+			4168 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr2 = {
-		ULP_THOR_SYM_CHAIN_META_TYPE},
+		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -22302,7 +38048,6 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
 		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
 		}
 	},
-	/* class_tid: 1, , table: hdr_overlap_cache.overlap_check */
 	{
 	.field_info_mask = {
 		.description = "hdr_bitmap",
@@ -22325,1085 +38070,1369 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff}
+		(BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff}
+		}
+	},
+	/* class_tid: 2, , table: em_key_recipe.0 */
+	{
+	.field_info_mask = {
+		.description = "em_profile_id",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "em_profile_id",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr1 = {
+		(BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2_cntxt_id",
+		.field_bit_size = 10,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(4415 >> 8) & 0xff,
+			4415 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "l2_cntxt_id",
+		.field_bit_size = 10,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(4417 >> 8) & 0xff,
+			4417 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr2 = {
+		(BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "meta",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(4419 >> 8) & 0xff,
+			4419 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "meta",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(4421 >> 8) & 0xff,
+			4421 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr2 = {
+		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "rcyc_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(4423 >> 8) & 0xff,
+			4423 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	.field_info_spec = {
+		.description = "rcyc_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(4424 >> 8) & 0xff,
+			4424 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr2 = {
+		(BNXT_ULP_RF_IDX_RECYCLE_CNT >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_RECYCLE_CNT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		}
 	},
-	/* class_tid: 1, , table: hdr_overlap_cache.overlap_wr */
 	{
 	.field_info_mask = {
-		.description = "group_metadata",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.description = "tl2_dmac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff}
+			(4425 >> 8) & 0xff,
+			4425 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "group_metadata",
-		.field_bit_size = 4,
+		.description = "tl2_dmac",
+		.field_bit_size = 48,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(400 >> 8) & 0xff,
-			400 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(4429 >> 8) & 0xff,
+			4429 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR_SYM_CHAIN_META_TYPE},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.description = "tl2_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff}
+			(4433 >> 8) & 0xff,
+			4433 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.description = "tl2_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
+			(4437 >> 8) & 0xff,
+			4437 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		}
 	},
-	/* class_tid: 1, , table: hdr_overlap_cache.overlap_wr */
 	{
 	.field_info_mask = {
-		.description = "hdr_bitmap",
-		.field_bit_size = 64,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.description = "tl2_ovv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff}
+			(4441 >> 8) & 0xff,
+			4441 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "hdr_bitmap",
-		.field_bit_size = 64,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.description = "tl2_ovv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff}
+			(4446 >> 8) & 0xff,
+			4446 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		}
 	},
-	/* class_tid: 1, , table: profile_tcam.gen_template */
 	{
 	.field_info_mask = {
-		.description = "l4_hdr_is_udp_tcp",
-		.field_bit_size = 1,
+		.description = "tl2_ivv",
+		.field_bit_size = 12,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(419 >> 8) & 0xff,
-			419 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(4451 >> 8) & 0xff,
+			4451 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(56 >> 8) & 0xff,
-		56 & 0xff}
+		(728 >> 8) & 0xff,
+		728 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l4_hdr_is_udp_tcp",
-		.field_bit_size = 1,
+		.description = "tl2_ivv",
+		.field_bit_size = 12,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(427 >> 8) & 0xff,
-			427 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(4461 >> 8) & 0xff,
+			4461 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES},
+		(BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(59 >> 8) & 0xff,
-		59 & 0xff}
+		(729 >> 8) & 0xff,
+		729 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l4_hdr_type",
-		.field_bit_size = 4,
+		.description = "tl2_etype",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(435 >> 8) & 0xff,
-			435 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(4471 >> 8) & 0xff,
+			4471 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(62 >> 8) & 0xff,
-		62 & 0xff}
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "l4_hdr_type",
-		.field_bit_size = 4,
+		.description = "tl2_etype",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(443 >> 8) & 0xff,
-			443 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(65 >> 8) & 0xff,
-		65 & 0xff}
+			(4476 >> 8) & 0xff,
+			4476 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l4_hdr_error",
-		.field_bit_size = 1,
+		.description = "tl3.sip.ipv4",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(451 >> 8) & 0xff,
-			451 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(4481 >> 8) & 0xff,
+			4481 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(68 >> 8) & 0xff,
-		68 & 0xff}
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "l4_hdr_error",
-		.field_bit_size = 1,
+		.description = "tl3.sip.ipv4",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(459 >> 8) & 0xff,
-			459 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(71 >> 8) & 0xff,
-		71 & 0xff}
+			(4485 >> 8) & 0xff,
+			4485 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l4_hdr_valid",
-		.field_bit_size = 1,
+		.description = "tl3.sip.ipv6",
+		.field_bit_size = 128,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(467 >> 8) & 0xff,
-			467 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(4489 >> 8) & 0xff,
+			4489 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(74 >> 8) & 0xff,
-		74 & 0xff}
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "l4_hdr_valid",
-		.field_bit_size = 1,
+		.description = "tl3.sip.ipv6",
+		.field_bit_size = 128,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(475 >> 8) & 0xff,
-			475 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(4493 >> 8) & 0xff,
+			4493 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR_SYM_L4_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(77 >> 8) & 0xff,
-		77 & 0xff}
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "ieh",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl3.dip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(4497 >> 8) & 0xff,
+			4497 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "ieh",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl3.dip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(4501 >> 8) & 0xff,
+			4501 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3_ipv6_cmp_dst",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl3.dip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(4505 >> 8) & 0xff,
+			4505 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "l3_ipv6_cmp_dst",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl3.dip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(4509 >> 8) & 0xff,
+			4509 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3_ipv6_cmp_src",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl3.ttl",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(4513 >> 8) & 0xff,
+			4513 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(730 >> 8) & 0xff,
+		730 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l3_ipv6_cmp_src",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl3.ttl",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(4521 >> 8) & 0xff,
+			4521 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(731 >> 8) & 0xff,
+		731 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3_hdr_isIP",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.description = "tl3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff}
+			(4529 >> 8) & 0xff,
+			4529 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(732 >> 8) & 0xff,
+		732 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l3_hdr_isIP",
-		.field_bit_size = 1,
+		.description = "tl3.prot",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(483 >> 8) & 0xff,
-			483 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(4537 >> 8) & 0xff,
+			4537 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR_SYM_L3_HDR_ISIP_YES},
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(80 >> 8) & 0xff,
-		80 & 0xff}
+		(733 >> 8) & 0xff,
+		733 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3_hdr_type",
-		.field_bit_size = 4,
+		.description = "tl3.qos",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(491 >> 8) & 0xff,
-			491 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(4545 >> 8) & 0xff,
+			4545 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(83 >> 8) & 0xff,
-		83 & 0xff}
+		(734 >> 8) & 0xff,
+		734 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l3_hdr_type",
-		.field_bit_size = 4,
+		.description = "tl3.qos",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(499 >> 8) & 0xff,
-			499 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(4553 >> 8) & 0xff,
+			4553 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR_SYM_L3_HDR_TYPE_IPV6},
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(86 >> 8) & 0xff,
-		86 & 0xff}
+		(735 >> 8) & 0xff,
+		735 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3_hdr_error",
-		.field_bit_size = 1,
+		.description = "tl4.src",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(507 >> 8) & 0xff,
-			507 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(4561 >> 8) & 0xff,
+			4561 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(89 >> 8) & 0xff,
-		89 & 0xff}
+		(736 >> 8) & 0xff,
+		736 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l3_hdr_error",
-		.field_bit_size = 1,
+		.description = "tl4.src",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(515 >> 8) & 0xff,
-			515 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+			(4569 >> 8) & 0xff,
+			4569 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(92 >> 8) & 0xff,
-		92 & 0xff}
+		(737 >> 8) & 0xff,
+		737 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3_hdr_valid",
-		.field_bit_size = 1,
+		.description = "tl4.dst",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(523 >> 8) & 0xff,
-			523 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(4577 >> 8) & 0xff,
+			4577 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(95 >> 8) & 0xff,
-		95 & 0xff}
+		(738 >> 8) & 0xff,
+		738 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l3_hdr_valid",
-		.field_bit_size = 1,
+		.description = "tl4.dst",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(531 >> 8) & 0xff,
-			531 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(4586 >> 8) & 0xff,
+			4586 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR_SYM_L3_HDR_VALID_YES},
+		(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(98 >> 8) & 0xff,
-		98 & 0xff}
+		(739 >> 8) & 0xff,
+		739 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_two_vtags",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.description = "tids",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff}
+			(4595 >> 8) & 0xff,
+			4595 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(740 >> 8) & 0xff,
+		740 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_two_vtags",
-		.field_bit_size = 1,
+		.description = "tids",
+		.field_bit_size = 24,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(539 >> 8) & 0xff,
-			539 & 0xff,
+			(4601 >> 8) & 0xff,
+			4601 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR_SYM_L2_TWO_VTAGS_YES},
+		(BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(101 >> 8) & 0xff,
-		101 & 0xff}
+		(741 >> 8) & 0xff,
+		741 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_vtag_present",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.description = "l2_dmac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff}
+			(4607 >> 8) & 0xff,
+			4607 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(742 >> 8) & 0xff,
+		742 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_vtag_present",
-		.field_bit_size = 1,
+		.description = "l2_dmac",
+		.field_bit_size = 48,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(545 >> 8) & 0xff,
-			545 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(4614 >> 8) & 0xff,
+			4614 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR_SYM_L2_VTAG_PRESENT_YES},
+		(BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(102 >> 8) & 0xff,
-		102 & 0xff}
+		(743 >> 8) & 0xff,
+		743 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_uc_mc_bc",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.description = "l2_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff}
+			(4621 >> 8) & 0xff,
+			4621 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(744 >> 8) & 0xff,
+		744 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_uc_mc_bc",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l2_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(4628 >> 8) & 0xff,
+			4628 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(745 >> 8) & 0xff,
+		745 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_hdr_type",
-		.field_bit_size = 2,
+		.description = "l2_ovv",
+		.field_bit_size = 12,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(551 >> 8) & 0xff,
-			551 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
+			(4635 >> 8) & 0xff,
+			4635 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(746 >> 8) & 0xff,
+		746 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_hdr_type",
-		.field_bit_size = 2,
+		.description = "l2_ovv",
+		.field_bit_size = 12,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(552 >> 8) & 0xff,
-			552 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			(4644 >> 8) & 0xff,
+			4644 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(747 >> 8) & 0xff,
+		747 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_hdr_error",
-		.field_bit_size = 1,
+		.description = "l2_ivv",
+		.field_bit_size = 12,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(553 >> 8) & 0xff,
-			553 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(4653 >> 8) & 0xff,
+			4653 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(103 >> 8) & 0xff,
-		103 & 0xff}
+		(748 >> 8) & 0xff,
+		748 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_hdr_error",
-		.field_bit_size = 1,
+		.description = "l2_ivv",
+		.field_bit_size = 12,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(557 >> 8) & 0xff,
-			557 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+			(4671 >> 8) & 0xff,
+			4671 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(104 >> 8) & 0xff,
-		104 & 0xff}
+		(751 >> 8) & 0xff,
+		751 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.description = "l2_etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff}
+			(4689 >> 8) & 0xff,
+			4689 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(754 >> 8) & 0xff,
+		754 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_hdr_valid",
-		.field_bit_size = 1,
+		.description = "l2_etype",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(561 >> 8) & 0xff,
-			561 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(4698 >> 8) & 0xff,
+			4698 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR_SYM_L2_HDR_VALID_YES},
+		(BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(105 >> 8) & 0xff,
-		105 & 0xff}
+		(755 >> 8) & 0xff,
+		755 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tun_hdr_flags",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.sip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(4707 >> 8) & 0xff,
+			4707 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(756 >> 8) & 0xff,
+		756 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tun_hdr_flags",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.sip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(4714 >> 8) & 0xff,
+			4714 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(757 >> 8) & 0xff,
+		757 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tun_hdr_type",
-		.field_bit_size = 4,
+		.description = "l3.sip.ipv6",
+		.field_bit_size = 128,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(565 >> 8) & 0xff,
-			565 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(4721 >> 8) & 0xff,
+			4721 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(106 >> 8) & 0xff,
-		106 & 0xff}
+		(758 >> 8) & 0xff,
+		758 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tun_hdr_type",
-		.field_bit_size = 4,
+		.description = "l3.sip.ipv6",
+		.field_bit_size = 128,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(577 >> 8) & 0xff,
-			577 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+			(4728 >> 8) & 0xff,
+			4728 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(111 >> 8) & 0xff,
-		111 & 0xff}
+		(759 >> 8) & 0xff,
+		759 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tun_hdr_err",
-		.field_bit_size = 1,
+		.description = "l3.dip.ipv4",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(589 >> 8) & 0xff,
-			589 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
+			(4735 >> 8) & 0xff,
+			4735 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(760 >> 8) & 0xff,
+		760 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tun_hdr_err",
-		.field_bit_size = 1,
+		.description = "l3.dip.ipv4",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(590 >> 8) & 0xff,
-			590 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			(4742 >> 8) & 0xff,
+			4742 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(761 >> 8) & 0xff,
+		761 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tun_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.description = "l3.dip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff}
+			(4749 >> 8) & 0xff,
+			4749 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(762 >> 8) & 0xff,
+		762 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tun_hdr_valid",
-		.field_bit_size = 1,
+		.description = "l3.dip.ipv6",
+		.field_bit_size = 128,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(591 >> 8) & 0xff,
-			591 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(4756 >> 8) & 0xff,
+			4756 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR_SYM_TUN_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		(BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(763 >> 8) & 0xff,
+		763 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl4_hdr_is_udp_tcp",
-		.field_bit_size = 1,
+		.description = "l3.ttl",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(592 >> 8) & 0xff,
-			592 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(4763 >> 8) & 0xff,
+			4763 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(116 >> 8) & 0xff,
-		116 & 0xff}
+		(764 >> 8) & 0xff,
+		764 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tl4_hdr_is_udp_tcp",
-		.field_bit_size = 1,
+		.description = "l3.ttl",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(596 >> 8) & 0xff,
-			596 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(4777 >> 8) & 0xff,
+			4777 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR_SYM_TL4_HDR_IS_UDP_TCP_YES},
+		(BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(117 >> 8) & 0xff,
-		117 & 0xff}
+		(767 >> 8) & 0xff,
+		767 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl4_hdr_type",
-		.field_bit_size = 4,
+		.description = "l3.prot",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(600 >> 8) & 0xff,
-			600 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(4791 >> 8) & 0xff,
+			4791 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(118 >> 8) & 0xff,
-		118 & 0xff}
+		(770 >> 8) & 0xff,
+		770 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tl4_hdr_type",
-		.field_bit_size = 4,
+		.description = "l3.prot",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(604 >> 8) & 0xff,
-			604 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+			(4805 >> 8) & 0xff,
+			4805 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(119 >> 8) & 0xff,
-		119 & 0xff}
+		(773 >> 8) & 0xff,
+		773 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl4_hdr_error",
-		.field_bit_size = 1,
+		.description = "l3.qos",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(608 >> 8) & 0xff,
-			608 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(4819 >> 8) & 0xff,
+			4819 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(120 >> 8) & 0xff,
-		120 & 0xff}
+		(776 >> 8) & 0xff,
+		776 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tl4_hdr_error",
-		.field_bit_size = 1,
+		.description = "l3.qos",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(612 >> 8) & 0xff,
-			612 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+			(4833 >> 8) & 0xff,
+			4833 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(121 >> 8) & 0xff,
-		121 & 0xff}
+		(779 >> 8) & 0xff,
+		779 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl4_hdr_valid",
-		.field_bit_size = 1,
+		.description = "l4.src",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(616 >> 8) & 0xff,
-			616 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(4847 >> 8) & 0xff,
+			4847 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(122 >> 8) & 0xff,
-		122 & 0xff}
+		(782 >> 8) & 0xff,
+		782 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tl4_hdr_valid",
-		.field_bit_size = 1,
+		.description = "l4.src",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(621 >> 8) & 0xff,
-			621 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(4861 >> 8) & 0xff,
+			4861 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR_SYM_TL4_HDR_VALID_YES},
+		(BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(124 >> 8) & 0xff,
-		124 & 0xff}
+		(785 >> 8) & 0xff,
+		785 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3_ipv6_cmp_dst",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(4875 >> 8) & 0xff,
+			4875 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(788 >> 8) & 0xff,
+		788 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tl3_ipv6_cmp_dst",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(4889 >> 8) & 0xff,
+			4889 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(791 >> 8) & 0xff,
+		791 & 0xff}
 		}
 	},
+	/* class_tid: 2, , table: em_flow_conflict_cache.wr */
 	{
 	.field_info_mask = {
-		.description = "tl3_ipv6_cmp_src",
-		.field_bit_size = 1,
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl3_ipv6_cmp_src",
-		.field_bit_size = 1,
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3_hdr_isIP",
-		.field_bit_size = 1,
+		.description = "group_metadata",
+		.field_bit_size = 4,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "tl3_hdr_isIP",
-		.field_bit_size = 1,
+		.description = "group_metadata",
+		.field_bit_size = 4,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 		.field_opr1 = {
-			(626 >> 8) & 0xff,
-			626 & 0xff,
+			(4903 >> 8) & 0xff,
+			4903 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr2 = {
-		ULP_THOR_SYM_TL3_HDR_ISIP_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(126 >> 8) & 0xff,
-		126 & 0xff}
+		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "prof_func_id",
+		.field_bit_size = 7,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(630 >> 8) & 0xff,
-			630 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(127 >> 8) & 0xff,
-		127 & 0xff}
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "tl3_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "prof_func_id",
+		.field_bit_size = 7,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr1 = {
-			(634 >> 8) & 0xff,
-			634 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_TL3_HDR_TYPE_IPV6},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(128 >> 8) & 0xff,
-		128 & 0xff}
+		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(638 >> 8) & 0xff,
-			638 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(129 >> 8) & 0xff,
-		129 & 0xff}
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "tl3_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
-			(642 >> 8) & 0xff,
-			642 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(130 >> 8) & 0xff,
-		130 & 0xff}
+		(BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff}
 		}
 	},
+	/* class_tid: 3, , table: port_table.ing_wr_0 */
 	{
 	.field_info_mask = {
-		.description = "tl3_hdr_valid",
-		.field_bit_size = 1,
+		.description = "dev.port_id",
+		.field_bit_size = 10,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
+			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "tl3_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "dev.port_id",
+		.field_bit_size = 10,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
-			(646 >> 8) & 0xff,
-			646 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_TL3_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(131 >> 8) & 0xff,
-		131 & 0xff}
+		(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
 		}
 	},
+	/* class_tid: 3, , table: prof_func_cache.ing_rd */
 	{
 	.field_info_mask = {
-		.description = "tl2_two_vtags",
-		.field_bit_size = 1,
+		.description = "svif",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "tl2_two_vtags",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "svif",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
-			(650 >> 8) & 0xff,
-			650 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_TL2_TWO_VTAGS_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		(BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff}
 		}
 	},
+	/* class_tid: 3, , table: profile_tcam.prof_func_catch_all */
 	{
 	.field_info_mask = {
-		.description = "tl2_vtag_present",
+		.description = "l4_hdr_is_udp_tcp",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl2_vtag_present",
+		.description = "l4_hdr_is_udp_tcp",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(653 >> 8) & 0xff,
-			653 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_TL2_VTAG_PRESENT_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l4_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "l4_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l4_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "l4_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl2_uc_mc_bc",
-		.field_bit_size = 2,
+		.description = "l4_hdr_valid",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl2_uc_mc_bc",
-		.field_bit_size = 2,
+		.description = "l4_hdr_valid",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl2_hdr_type",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(656 >> 8) & 0xff,
-			656 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "ieh",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl2_hdr_type",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(657 >> 8) & 0xff,
-			657 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "ieh",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl2_hdr_valid",
+		.description = "l3_ipv6_cmp_dst",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl2_hdr_valid",
+		.description = "l3_ipv6_cmp_dst",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(658 >> 8) & 0xff,
-			658 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_TL2_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(132 >> 8) & 0xff,
-		132 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "hrec_next",
+		.description = "l3_ipv6_cmp_src",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "hrec_next",
+		.description = "l3_ipv6_cmp_src",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
@@ -23411,3379 +39440,1574 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
 	},
 	{
 	.field_info_mask = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
+		.description = "l3_hdr_isIP",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
+		.description = "l3_hdr_isIP",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
-		.field_opr1 = {
-		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "agg_error",
-		.field_bit_size = 1,
+		.description = "l3_hdr_type",
+		.field_bit_size = 4,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "agg_error",
-		.field_bit_size = 1,
+		.description = "l3_hdr_type",
+		.field_bit_size = 4,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "metadata",
-		.field_bit_size = 16,
+		.description = "l3_hdr_error",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-		(0xf000 >> 8) & 0xff,
-		0xf000 & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "metadata",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-		.field_opr1 = {
-			(662 >> 8) & 0xff,
-			662 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
-		.field_opr2 = {
-		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_CONST
+		.description = "l3_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "pkt_type_0",
-		.field_bit_size = 2,
+		.description = "l3_hdr_valid",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "pkt_type_0",
-		.field_bit_size = 2,
+		.description = "l3_hdr_valid",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "pkt_type_1",
-		.field_bit_size = 2,
+		.description = "l2_two_vtags",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "pkt_type_1",
-		.field_bit_size = 2,
+		.description = "l2_two_vtags",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "valid",
+		.description = "l2_vtag_present",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-		1}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "valid",
+		.description = "l2_vtag_present",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-		1}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
-	/* class_tid: 1, , table: wm_key_recipe.0 */
 	{
 	.field_info_mask = {
-		.description = "wc_profile_id",
-		.field_bit_size = 8,
+		.description = "l2_uc_mc_bc",
+		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "wc_profile_id",
-		.field_bit_size = 8,
+		.description = "l2_uc_mc_bc",
+		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
-		.field_opr1 = {
-		(BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_cntxt_id",
-		.field_bit_size = 10,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(664 >> 8) & 0xff,
-			664 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "l2_hdr_type",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l2_cntxt_id",
-		.field_bit_size = 10,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(666 >> 8) & 0xff,
-			666 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
-		.field_opr2 = {
-		(BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "l2_hdr_type",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "meta",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-		.field_opr1 = {
-			(668 >> 8) & 0xff,
-			668 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "l2_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "meta",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-		.field_opr1 = {
-			(670 >> 8) & 0xff,
-			670 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
-		.field_opr2 = {
-		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "l2_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "rcyc_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(672 >> 8) & 0xff,
-			672 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "l2_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "rcyc_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(673 >> 8) & 0xff,
-			673 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
-		.field_opr2 = {
-		(BNXT_ULP_RF_IDX_RECYCLE_CNT >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_RECYCLE_CNT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "l2_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl2_dmac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(674 >> 8) & 0xff,
-			674 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tun_hdr_flags",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl2_dmac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(678 >> 8) & 0xff,
-			678 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tun_hdr_flags",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl2_smac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(682 >> 8) & 0xff,
-			682 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tun_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl2_smac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(686 >> 8) & 0xff,
-			686 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tun_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl2_ovv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(690 >> 8) & 0xff,
-			690 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tun_hdr_err",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl2_ovv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(695 >> 8) & 0xff,
-			695 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tun_hdr_err",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl2_ivv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(700 >> 8) & 0xff,
-			700 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(133 >> 8) & 0xff,
-		133 & 0xff}
+		.description = "tun_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl2_ivv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(710 >> 8) & 0xff,
-			710 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(134 >> 8) & 0xff,
-		134 & 0xff}
+		.description = "tun_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl2_etype",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(720 >> 8) & 0xff,
-			720 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tl4_hdr_is_udp_tcp",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl2_etype",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(725 >> 8) & 0xff,
-			725 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tl4_hdr_is_udp_tcp",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3.sip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(730 >> 8) & 0xff,
-			730 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tl4_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl3.sip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(734 >> 8) & 0xff,
-			734 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tl4_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3.sip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(738 >> 8) & 0xff,
-			738 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr2 = {
-		(135 >> 8) & 0xff,
-		135 & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tl4_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl3.sip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(743 >> 8) & 0xff,
-			743 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr2 = {
-		(136 >> 8) & 0xff,
-		136 & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tl4_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3.dip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(748 >> 8) & 0xff,
-			748 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tl4_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tl4_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tl3_ipv6_cmp_dst",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl3.dip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(752 >> 8) & 0xff,
-			752 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tl3_ipv6_cmp_dst",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3.dip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(756 >> 8) & 0xff,
-			756 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tl3_ipv6_cmp_src",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl3.dip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(760 >> 8) & 0xff,
-			760 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tl3_ipv6_cmp_src",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3.ttl",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(764 >> 8) & 0xff,
-			764 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(137 >> 8) & 0xff,
-		137 & 0xff}
+		.description = "tl3_hdr_isIP",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl3.ttl",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(772 >> 8) & 0xff,
-			772 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(138 >> 8) & 0xff,
-		138 & 0xff}
+		.description = "tl3_hdr_isIP",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3.prot",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(780 >> 8) & 0xff,
-			780 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(139 >> 8) & 0xff,
-		139 & 0xff}
+		.description = "tl3_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl3.prot",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(788 >> 8) & 0xff,
-			788 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(140 >> 8) & 0xff,
-		140 & 0xff}
+		.description = "tl3_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3.qos",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(796 >> 8) & 0xff,
-			796 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(141 >> 8) & 0xff,
-		141 & 0xff}
+		.description = "tl3_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl3.qos",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(804 >> 8) & 0xff,
-			804 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(142 >> 8) & 0xff,
-		142 & 0xff}
+		.description = "tl3_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl4.src",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(812 >> 8) & 0xff,
-			812 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(143 >> 8) & 0xff,
-		143 & 0xff}
+		.description = "tl3_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl4.src",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(820 >> 8) & 0xff,
-			820 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(144 >> 8) & 0xff,
-		144 & 0xff}
+		.description = "tl3_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl4.dst",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(828 >> 8) & 0xff,
-			828 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(145 >> 8) & 0xff,
-		145 & 0xff}
+		.description = "tl2_two_vtags",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl4.dst",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(837 >> 8) & 0xff,
-			837 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(146 >> 8) & 0xff,
-		146 & 0xff}
+		.description = "tl2_two_vtags",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tids",
-		.field_bit_size = 24,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(846 >> 8) & 0xff,
-			846 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(147 >> 8) & 0xff,
-		147 & 0xff}
+		.description = "tl2_vtag_present",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tids",
-		.field_bit_size = 24,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(852 >> 8) & 0xff,
-			852 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(148 >> 8) & 0xff,
-		148 & 0xff}
+		.description = "tl2_vtag_present",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_dmac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(858 >> 8) & 0xff,
-			858 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(149 >> 8) & 0xff,
-		149 & 0xff}
+		.description = "tl2_uc_mc_bc",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l2_dmac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(865 >> 8) & 0xff,
-			865 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(150 >> 8) & 0xff,
-		150 & 0xff}
+		.description = "tl2_uc_mc_bc",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_smac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(872 >> 8) & 0xff,
-			872 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(151 >> 8) & 0xff,
-		151 & 0xff}
+		.description = "tl2_hdr_type",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l2_smac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(879 >> 8) & 0xff,
-			879 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(152 >> 8) & 0xff,
-		152 & 0xff}
+		.description = "tl2_hdr_type",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_ovv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(886 >> 8) & 0xff,
-			886 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(153 >> 8) & 0xff,
-		153 & 0xff}
+		.description = "tl2_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l2_ovv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(895 >> 8) & 0xff,
-			895 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(154 >> 8) & 0xff,
-		154 & 0xff}
+		.description = "tl2_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_ivv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(904 >> 8) & 0xff,
-			904 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(155 >> 8) & 0xff,
-		155 & 0xff}
+		.description = "hrec_next",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l2_ivv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(922 >> 8) & 0xff,
-			922 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(158 >> 8) & 0xff,
-		158 & 0xff}
+		.description = "hrec_next",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_etype",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "prof_func_id",
+		.field_bit_size = 7,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(940 >> 8) & 0xff,
-			940 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(161 >> 8) & 0xff,
-		161 & 0xff}
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_etype",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "prof_func_id",
+		.field_bit_size = 7,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr1 = {
-			(949 >> 8) & 0xff,
-			949 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(162 >> 8) & 0xff,
-		162 & 0xff}
+		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3.sip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(958 >> 8) & 0xff,
-			958 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(163 >> 8) & 0xff,
-		163 & 0xff}
+		.description = "agg_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "agg_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "metadata",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l3.sip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(965 >> 8) & 0xff,
-			965 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(164 >> 8) & 0xff,
-		164 & 0xff}
+		.description = "metadata",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3.sip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(972 >> 8) & 0xff,
-			972 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(165 >> 8) & 0xff,
-		165 & 0xff}
+		.description = "pkt_type_0",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l3.sip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(979 >> 8) & 0xff,
-			979 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(166 >> 8) & 0xff,
-		166 & 0xff}
+		.description = "pkt_type_0",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3.dip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(986 >> 8) & 0xff,
-			986 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(167 >> 8) & 0xff,
-		167 & 0xff}
+		.description = "pkt_type_1",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l3.dip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(993 >> 8) & 0xff,
-			993 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(168 >> 8) & 0xff,
-		168 & 0xff}
+		.description = "pkt_type_1",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3.dip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-			(1000 >> 8) & 0xff,
-			1000 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(169 >> 8) & 0xff,
-		169 & 0xff}
+		1}
 		},
 	.field_info_spec = {
-		.description = "l3.dip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-			(1007 >> 8) & 0xff,
-			1007 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(170 >> 8) & 0xff,
-		170 & 0xff}
+		1}
 		}
 	},
+	/* class_tid: 3, , table: prof_func_cache.ing_wr */
 	{
 	.field_info_mask = {
-		.description = "l3.ttl",
+		.description = "svif",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(1014 >> 8) & 0xff,
-			1014 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(171 >> 8) & 0xff,
-		171 & 0xff}
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "l3.ttl",
+		.description = "svif",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
-			(1028 >> 8) & 0xff,
-			1028 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(174 >> 8) & 0xff,
-		174 & 0xff}
+		(BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff}
 		}
 	},
+	/* class_tid: 3, , table: port_table.egr_wr_0 */
 	{
 	.field_info_mask = {
-		.description = "l3.prot",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "dev.port_id",
+		.field_bit_size = 10,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(1042 >> 8) & 0xff,
-			1042 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(177 >> 8) & 0xff,
-		177 & 0xff}
+			0xff,
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "l3.prot",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "dev.port_id",
+		.field_bit_size = 10,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
-			(1066 >> 8) & 0xff,
-			1066 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_IP_PROTO_TCP},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(184 >> 8) & 0xff,
-		184 & 0xff}
+		(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
 		}
 	},
+	/* class_tid: 3, , table: l2_cntxt_tcam_cache.non_vfr_egr_rd */
 	{
 	.field_info_mask = {
-		.description = "l3.qos",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(1090 >> 8) & 0xff,
-			1090 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(191 >> 8) & 0xff,
-		191 & 0xff}
+			0xff,
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "l3.qos",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
-			(1104 >> 8) & 0xff,
-			1104 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(194 >> 8) & 0xff,
-		194 & 0xff}
+		(BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
 		}
 	},
+	/* class_tid: 3, , table: l2_cntxt_tcam.non_vfr_egr_0 */
 	{
 	.field_info_mask = {
-		.description = "l4.src",
+		.description = "etype",
 		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1118 >> 8) & 0xff,
-			1118 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(197 >> 8) & 0xff,
-		197 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l4.src",
+		.description = "etype",
 		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1134 >> 8) & 0xff,
-			1134 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(201 >> 8) & 0xff,
-		201 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l4.dst",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1150 >> 8) & 0xff,
-			1150 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(205 >> 8) & 0xff,
-		205 & 0xff}
+		.description = "l2_ivlan_tpid_sel",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l4.dst",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1166 >> 8) & 0xff,
-			1166 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(209 >> 8) & 0xff,
-		209 & 0xff}
+		.description = "l2_ivlan_tpid_sel",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
-	/* class_tid: 1, , table: proto_header_cache.wr */
 	{
 	.field_info_mask = {
-		.description = "group_metadata",
-		.field_bit_size = 4,
+		.description = "l2_ivlan_vid",
+		.field_bit_size = 12,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "group_metadata",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-		.field_opr1 = {
-			(1182 >> 8) & 0xff,
-			1182 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		3},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l2_ivlan_vid",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
+		.description = "l2_ovlan_tpid_sel",
+		.field_bit_size = 3,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
+		.description = "l2_ovlan_tpid_sel",
+		.field_bit_size = 3,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
-		.field_opr1 = {
-		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "hdr_bitmap",
-		.field_bit_size = 64,
+		.description = "l2_ovlan_vid",
+		.field_bit_size = 12,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "hdr_bitmap",
-		.field_bit_size = 64,
+		.description = "l2_ovlan_vid",
+		.field_bit_size = 12,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
-		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
-	/* class_tid: 1, , table: em_flow_conflict_cache.rd */
 	{
 	.field_info_mask = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
+		.description = "two_vtags",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
+		.description = "two_vtags",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "group_metadata",
-		.field_bit_size = 4,
+		.description = "vtag_present",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "group_metadata",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-		.field_opr1 = {
-			(1187 >> 8) & 0xff,
-			1187 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_CHAIN_META_TYPE},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "vtag_present",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
+		.description = "mac1_addr",
+		.field_bit_size = 48,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
+		.description = "mac1_addr",
+		.field_bit_size = 48,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
-		.field_opr1 = {
-		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "hdr_bitmap",
-		.field_bit_size = 64,
+		.description = "mac0_addr",
+		.field_bit_size = 48,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "hdr_bitmap",
-		.field_bit_size = 64,
+		.description = "mac0_addr",
+		.field_bit_size = 48,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
-		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
-	/* class_tid: 1, , table: em_key_recipe.0 */
 	{
 	.field_info_mask = {
-		.description = "em_profile_id",
-		.field_bit_size = 8,
+		.description = "tunnel_id",
+		.field_bit_size = 24,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "em_profile_id",
-		.field_bit_size = 8,
+		.description = "tunnel_id",
+		.field_bit_size = 24,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
-		.field_opr1 = {
-		(BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_cntxt_id",
-		.field_bit_size = 10,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1437 >> 8) & 0xff,
-			1437 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tun_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l2_cntxt_id",
-		.field_bit_size = 10,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1439 >> 8) & 0xff,
-			1439 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
-		.field_opr2 = {
-		(BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tun_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "meta",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-		.field_opr1 = {
-			(1441 >> 8) & 0xff,
-			1441 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "llc",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "meta",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-		.field_opr1 = {
-			(1443 >> 8) & 0xff,
-			1443 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
-		.field_opr2 = {
-		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "llc",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "rcyc_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "roce",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-			(1445 >> 8) & 0xff,
-			1445 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		1}
 		},
 	.field_info_spec = {
-		.description = "rcyc_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1446 >> 8) & 0xff,
-			1446 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
-		.field_opr2 = {
-		(BNXT_ULP_RF_IDX_RECYCLE_CNT >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_RECYCLE_CNT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "roce",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl2_dmac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1447 >> 8) & 0xff,
-			1447 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "metadata",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl2_dmac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1452 >> 8) & 0xff,
-			1452 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "metadata",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl2_smac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(1457 >> 8) & 0xff,
-			1457 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+			0xff,
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "tl2_smac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
-			(1461 >> 8) & 0xff,
-			1461 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		(BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl2_ovv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1465 >> 8) & 0xff,
-			1465 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "parif",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl2_ovv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1470 >> 8) & 0xff,
-			1470 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "parif",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl2_ivv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1475 >> 8) & 0xff,
-			1475 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(250 >> 8) & 0xff,
-		250 & 0xff}
+		.description = "spif",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl2_ivv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1485 >> 8) & 0xff,
-			1485 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(251 >> 8) & 0xff,
-		251 & 0xff}
+		.description = "spif",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl2_etype",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1495 >> 8) & 0xff,
-			1495 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "loopback",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl2_etype",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1500 >> 8) & 0xff,
-			1500 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "loopback",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3.sip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1505 >> 8) & 0xff,
-			1505 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl3.sip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1509 >> 8) & 0xff,
-			1509 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3.sip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1513 >> 8) & 0xff,
-			1513 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "mpass_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl3.sip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1517 >> 8) & 0xff,
-			1517 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "mpass_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3.dip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-			(1521 >> 8) & 0xff,
-			1521 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		1}
 		},
 	.field_info_spec = {
-		.description = "tl3.dip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-			(1525 >> 8) & 0xff,
-			1525 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		1}
 		}
 	},
+	/* class_tid: 3, , table: profile_tcam.non_vfr_prof_func_egr_catch_all */
 	{
 	.field_info_mask = {
-		.description = "tl3.dip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1529 >> 8) & 0xff,
-			1529 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "l4_hdr_is_udp_tcp",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl3.dip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1533 >> 8) & 0xff,
-			1533 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "l4_hdr_is_udp_tcp",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3.ttl",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1537 >> 8) & 0xff,
-			1537 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(252 >> 8) & 0xff,
-		252 & 0xff}
+		.description = "l4_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl3.ttl",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1545 >> 8) & 0xff,
-			1545 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(253 >> 8) & 0xff,
-		253 & 0xff}
+		.description = "l4_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3.prot",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1553 >> 8) & 0xff,
-			1553 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(254 >> 8) & 0xff,
-		254 & 0xff}
+		.description = "l4_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl3.prot",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1561 >> 8) & 0xff,
-			1561 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(255 >> 8) & 0xff,
-		255 & 0xff}
+		.description = "l4_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3.qos",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1569 >> 8) & 0xff,
-			1569 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(256 >> 8) & 0xff,
-		256 & 0xff}
+		.description = "l4_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl3.qos",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1577 >> 8) & 0xff,
-			1577 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(257 >> 8) & 0xff,
-		257 & 0xff}
+		.description = "l4_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl4.src",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1585 >> 8) & 0xff,
-			1585 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(258 >> 8) & 0xff,
-		258 & 0xff}
+		.description = "ieh",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl4.src",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1593 >> 8) & 0xff,
-			1593 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(259 >> 8) & 0xff,
-		259 & 0xff}
+		.description = "ieh",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl4.dst",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1601 >> 8) & 0xff,
-			1601 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(260 >> 8) & 0xff,
-		260 & 0xff}
+		.description = "l3_ipv6_cmp_dst",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl4.dst",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1610 >> 8) & 0xff,
-			1610 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(261 >> 8) & 0xff,
-		261 & 0xff}
+		.description = "l3_ipv6_cmp_dst",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tids",
-		.field_bit_size = 24,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1619 >> 8) & 0xff,
-			1619 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(262 >> 8) & 0xff,
-		262 & 0xff}
+		.description = "l3_ipv6_cmp_src",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tids",
-		.field_bit_size = 24,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1625 >> 8) & 0xff,
-			1625 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(263 >> 8) & 0xff,
-		263 & 0xff}
+		.description = "l3_ipv6_cmp_src",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_dmac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1631 >> 8) & 0xff,
-			1631 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(264 >> 8) & 0xff,
-		264 & 0xff}
+		.description = "l3_hdr_isIP",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l2_dmac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1640 >> 8) & 0xff,
-			1640 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(265 >> 8) & 0xff,
-		265 & 0xff}
+		.description = "l3_hdr_isIP",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_smac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1649 >> 8) & 0xff,
-			1649 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(266 >> 8) & 0xff,
-		266 & 0xff}
+		.description = "l3_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l2_smac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1656 >> 8) & 0xff,
-			1656 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(267 >> 8) & 0xff,
-		267 & 0xff}
+		.description = "l3_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_ovv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1663 >> 8) & 0xff,
-			1663 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(268 >> 8) & 0xff,
-		268 & 0xff}
+		.description = "l3_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l2_ovv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1672 >> 8) & 0xff,
-			1672 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(269 >> 8) & 0xff,
-		269 & 0xff}
+		.description = "l3_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_ivv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1681 >> 8) & 0xff,
-			1681 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(270 >> 8) & 0xff,
-		270 & 0xff}
+		.description = "l3_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l2_ivv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1699 >> 8) & 0xff,
-			1699 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(273 >> 8) & 0xff,
-		273 & 0xff}
+		.description = "l3_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_etype",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1717 >> 8) & 0xff,
-			1717 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(276 >> 8) & 0xff,
-		276 & 0xff}
+		.description = "l2_two_vtags",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l2_etype",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1726 >> 8) & 0xff,
-			1726 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(277 >> 8) & 0xff,
-		277 & 0xff}
+		.description = "l2_two_vtags",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3.sip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1735 >> 8) & 0xff,
-			1735 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(278 >> 8) & 0xff,
-		278 & 0xff}
+		.description = "l2_vtag_present",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l3.sip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1742 >> 8) & 0xff,
-			1742 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(279 >> 8) & 0xff,
-		279 & 0xff}
+		.description = "l2_vtag_present",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3.sip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1749 >> 8) & 0xff,
-			1749 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(280 >> 8) & 0xff,
-		280 & 0xff}
+		.description = "l2_uc_mc_bc",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l3.sip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1756 >> 8) & 0xff,
-			1756 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(281 >> 8) & 0xff,
-		281 & 0xff}
+		.description = "l2_uc_mc_bc",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3.dip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1763 >> 8) & 0xff,
-			1763 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(282 >> 8) & 0xff,
-		282 & 0xff}
+		.description = "l2_hdr_type",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l3.dip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1770 >> 8) & 0xff,
-			1770 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(283 >> 8) & 0xff,
-		283 & 0xff}
+		.description = "l2_hdr_type",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3.dip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1777 >> 8) & 0xff,
-			1777 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(284 >> 8) & 0xff,
-		284 & 0xff}
+		.description = "l2_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l3.dip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1784 >> 8) & 0xff,
-			1784 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(285 >> 8) & 0xff,
-		285 & 0xff}
+		.description = "l2_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3.ttl",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1791 >> 8) & 0xff,
-			1791 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(286 >> 8) & 0xff,
-		286 & 0xff}
+		.description = "l2_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l3.ttl",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1805 >> 8) & 0xff,
-			1805 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(289 >> 8) & 0xff,
-		289 & 0xff}
+		.description = "l2_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3.prot",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1819 >> 8) & 0xff,
-			1819 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(292 >> 8) & 0xff,
-		292 & 0xff}
+		.description = "tun_hdr_flags",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l3.prot",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1833 >> 8) & 0xff,
-			1833 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(295 >> 8) & 0xff,
-		295 & 0xff}
+		.description = "tun_hdr_flags",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3.qos",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1847 >> 8) & 0xff,
-			1847 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(298 >> 8) & 0xff,
-		298 & 0xff}
+		.description = "tun_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l3.qos",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1861 >> 8) & 0xff,
-			1861 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(301 >> 8) & 0xff,
-		301 & 0xff}
+		.description = "tun_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l4.src",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1875 >> 8) & 0xff,
-			1875 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(304 >> 8) & 0xff,
-		304 & 0xff}
+		.description = "tun_hdr_err",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	.field_info_spec = {
-		.description = "l4.src",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1889 >> 8) & 0xff,
-			1889 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(307 >> 8) & 0xff,
-		307 & 0xff}
+	.field_info_spec = {
+		.description = "tun_hdr_err",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l4.dst",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1903 >> 8) & 0xff,
-			1903 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(310 >> 8) & 0xff,
-		310 & 0xff}
+		.description = "tun_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l4.dst",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1917 >> 8) & 0xff,
-			1917 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(313 >> 8) & 0xff,
-		313 & 0xff}
+		.description = "tun_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
-	/* class_tid: 1, , table: em_flow_conflict_cache.wr */
 	{
 	.field_info_mask = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
+		.description = "tl4_hdr_is_udp_tcp",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
+		.description = "tl4_hdr_is_udp_tcp",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "group_metadata",
+		.description = "tl4_hdr_type",
 		.field_bit_size = 4,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "group_metadata",
+		.description = "tl4_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-		.field_opr1 = {
-			(1931 >> 8) & 0xff,
-			1931 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_CHAIN_META_TYPE},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
+		.description = "tl4_hdr_error",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
+		.description = "tl4_hdr_error",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
-		.field_opr1 = {
-		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "hdr_bitmap",
-		.field_bit_size = 64,
+		.description = "tl4_hdr_valid",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "hdr_bitmap",
-		.field_bit_size = 64,
+		.description = "tl4_hdr_valid",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
-		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
-	/* class_tid: 2, , table: l2_cntxt_tcam_cache.rd */
 	{
 	.field_info_mask = {
-		.description = "svif",
-		.field_bit_size = 11,
+		.description = "tl3_ipv6_cmp_dst",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr1 = {
-		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "svif",
-		.field_bit_size = 11,
+		.description = "tl3_ipv6_cmp_dst",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr1 = {
-		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
-	/* class_tid: 2, , table: multi_flow_tunnel_cache.rd */
 	{
 	.field_info_mask = {
-		.description = "svif",
-		.field_bit_size = 11,
+		.description = "tl3_ipv6_cmp_src",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr1 = {
-		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "svif",
-		.field_bit_size = 11,
+		.description = "tl3_ipv6_cmp_src",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr1 = {
-		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_type",
-		.field_bit_size = 4,
+		.description = "tl3_hdr_isIP",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tunnel_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
-		.field_opr1 = {
-		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
-		(uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl3_hdr_isIP",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_smac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1967 >> 8) & 0xff,
-			1967 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl3_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tunnel_smac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1969 >> 8) & 0xff,
-			1969 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl3_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_dmac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1971 >> 8) & 0xff,
-			1971 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl3_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tunnel_dmac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1973 >> 8) & 0xff,
-			1973 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl3_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_dip_v6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1975 >> 8) & 0xff,
-			1975 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl3_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tunnel_dip_v6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1977 >> 8) & 0xff,
-			1977 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl3_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_sip_v6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1979 >> 8) & 0xff,
-			1979 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl2_two_vtags",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tunnel_sip_v6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1981 >> 8) & 0xff,
-			1981 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl2_two_vtags",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_dip_v4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1983 >> 8) & 0xff,
-			1983 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl2_vtag_present",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tunnel_dip_v4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1985 >> 8) & 0xff,
-			1985 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl2_vtag_present",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_sip_v4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1987 >> 8) & 0xff,
-			1987 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl2_uc_mc_bc",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tunnel_sip_v4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1989 >> 8) & 0xff,
-			1989 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl2_uc_mc_bc",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_sport",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1991 >> 8) & 0xff,
-			1991 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl2_hdr_type",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tunnel_sport",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1993 >> 8) & 0xff,
-			1993 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl2_hdr_type",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
-	/* class_tid: 2, , table: multi_flow_tunnel_cache.wr */
 	{
 	.field_info_mask = {
-		.description = "svif",
-		.field_bit_size = 11,
+		.description = "tl2_hdr_valid",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr1 = {
-		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "svif",
-		.field_bit_size = 11,
+		.description = "tl2_hdr_valid",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr1 = {
-		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_type",
-		.field_bit_size = 4,
+		.description = "hrec_next",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tunnel_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
-		.field_opr1 = {
-		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
-		(uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "hrec_next",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_smac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "prof_func_id",
+		.field_bit_size = 7,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(1996 >> 8) & 0xff,
-			1996 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "tunnel_smac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "prof_func_id",
+		.field_bit_size = 7,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr1 = {
-			(1998 >> 8) & 0xff,
-			1998 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_dmac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2000 >> 8) & 0xff,
-			2000 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "agg_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tunnel_dmac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2002 >> 8) & 0xff,
-			2002 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "agg_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_dip_v6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2004 >> 8) & 0xff,
-			2004 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "metadata",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tunnel_dip_v6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2006 >> 8) & 0xff,
-			2006 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "metadata",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_sip_v6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2008 >> 8) & 0xff,
-			2008 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "pkt_type_0",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tunnel_sip_v6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2010 >> 8) & 0xff,
-			2010 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "pkt_type_0",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_dip_v4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2012 >> 8) & 0xff,
-			2012 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "pkt_type_1",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tunnel_dip_v4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2014 >> 8) & 0xff,
-			2014 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "pkt_type_1",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_sip_v4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-			(2016 >> 8) & 0xff,
-			2016 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		1}
 		},
 	.field_info_spec = {
-		.description = "tunnel_sip_v4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-			(2018 >> 8) & 0xff,
-			2018 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		1}
 		}
 	},
+	/* class_tid: 3, , table: l2_cntxt_tcam_cache.non_vfr_egr_wr */
 	{
 	.field_info_mask = {
-		.description = "tunnel_sport",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(2020 >> 8) & 0xff,
-			2020 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			0xff,
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "tunnel_sport",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
-			(2022 >> 8) & 0xff,
-			2022 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		(BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
 		}
 	},
-	/* class_tid: 2, , table: flow_chain_cache.group_check */
+	/* class_tid: 3, , table: tunnel_gparse_cache.def_cust_tun_rd */
 	{
 	.field_info_mask = {
-		.description = "group_id",
-		.field_bit_size = 32,
+		.description = "tunnel_type",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "group_id",
-		.field_bit_size = 32,
+		.description = "tunnel_type",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_GROUP_ID & 0xff}
+		ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN}
 		}
 	},
-	/* class_tid: 2, , table: flow_chain_cache.write */
+	/* class_tid: 3, , table: tunnel_gparse_cache.def_cust_tun_wr */
 	{
 	.field_info_mask = {
-		.description = "group_id",
-		.field_bit_size = 32,
+		.description = "tunnel_type",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "group_id",
-		.field_bit_size = 32,
+		.description = "tunnel_type",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_GROUP_ID & 0xff}
+		ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN}
 		}
 	},
-	/* class_tid: 2, , table: proto_header_cache.rd */
+	/* class_tid: 4, , table: profile_tcam_cache.vfr_glb_act_rec_rd */
 	{
 	.field_info_mask = {
-		.description = "group_metadata",
-		.field_bit_size = 4,
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "group_metadata",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-			(2034 >> 8) & 0xff,
-			2034 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_CHAIN_META_TYPE},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		1}
 		}
 	},
 	{
@@ -26799,62 +41023,43 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
 		.description = "prof_func_id",
 		.field_bit_size = 7,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
 		.field_opr1 = {
-		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
+		(BNXT_ULP_GLB_RF_IDX_ANY_2_VF_PROF_FUNC_ID >> 8) & 0xff,
+		BNXT_ULP_GLB_RF_IDX_ANY_2_VF_PROF_FUNC_ID & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "hdr_bitmap",
-		.field_bit_size = 64,
+		.description = "hdr_sig_id",
+		.field_bit_size = 6,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "hdr_bitmap",
-		.field_bit_size = 64,
+		.description = "hdr_sig_id",
+		.field_bit_size = 6,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
-		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
-	/* class_tid: 2, , table: hdr_overlap_cache.overlap_check */
+	/* class_tid: 4, , table: profile_tcam_cache.vfr_glb_act_rec_wr */
 	{
 	.field_info_mask = {
-		.description = "group_metadata",
-		.field_bit_size = 4,
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "group_metadata",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-			(2037 >> 8) & 0xff,
-			2037 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_CHAIN_META_TYPE},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		1}
 		}
 	},
 	{
@@ -26870,854 +41075,455 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
 		.description = "prof_func_id",
 		.field_bit_size = 7,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
 		.field_opr1 = {
-		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
+		(BNXT_ULP_GLB_RF_IDX_ANY_2_VF_PROF_FUNC_ID >> 8) & 0xff,
+		BNXT_ULP_GLB_RF_IDX_ANY_2_VF_PROF_FUNC_ID & 0xff}
 		}
 	},
-	/* class_tid: 2, , table: hdr_overlap_cache.overlap_check */
 	{
 	.field_info_mask = {
-		.description = "hdr_bitmap",
-		.field_bit_size = 64,
+		.description = "hdr_sig_id",
+		.field_bit_size = 6,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "hdr_sig_id",
+		.field_bit_size = 6,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	/* class_tid: 4, , table: l2_cntxt_tcam_cache.vf_rd_egr */
+	{
+	.field_info_mask = {
+		.description = "svif",
+		.field_bit_size = 11,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
 			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "hdr_bitmap",
-		.field_bit_size = 64,
+		.description = "svif",
+		.field_bit_size = 11,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff}
+		(BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff}
 		}
 	},
-	/* class_tid: 2, , table: hdr_overlap_cache.overlap_wr */
+	/* class_tid: 4, , table: l2_cntxt_tcam_cache.get_drv_func_prof_func */
 	{
 	.field_info_mask = {
-		.description = "group_metadata",
-		.field_bit_size = 4,
+		.description = "svif",
+		.field_bit_size = 11,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
+			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "group_metadata",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
-			(2298 >> 8) & 0xff,
-			2298 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_CHAIN_META_TYPE},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		(BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
 		}
 	},
+	/* class_tid: 4, , table: l2_cntxt_tcam.vf_egr */
 	{
 	.field_info_mask = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
+		.description = "etype",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
+		.description = "etype",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
-		.field_opr1 = {
-		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
-	/* class_tid: 2, , table: hdr_overlap_cache.overlap_wr */
 	{
 	.field_info_mask = {
-		.description = "hdr_bitmap",
-		.field_bit_size = 64,
+		.description = "l2_ivlan_tpid_sel",
+		.field_bit_size = 3,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "hdr_bitmap",
-		.field_bit_size = 64,
+		.description = "l2_ivlan_tpid_sel",
+		.field_bit_size = 3,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
-		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
-	/* class_tid: 2, , table: profile_tcam.gen_template */
 	{
 	.field_info_mask = {
-		.description = "l4_hdr_is_udp_tcp",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2317 >> 8) & 0xff,
-			2317 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(367 >> 8) & 0xff,
-		367 & 0xff}
+		.description = "l2_ivlan_vid",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l4_hdr_is_udp_tcp",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2325 >> 8) & 0xff,
-			2325 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(370 >> 8) & 0xff,
-		370 & 0xff}
+		.description = "l2_ivlan_vid",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l4_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2333 >> 8) & 0xff,
-			2333 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(373 >> 8) & 0xff,
-		373 & 0xff}
+		.description = "l2_ovlan_tpid_sel",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l4_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2341 >> 8) & 0xff,
-			2341 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(376 >> 8) & 0xff,
-		376 & 0xff}
+		.description = "l2_ovlan_tpid_sel",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l4_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2349 >> 8) & 0xff,
-			2349 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(379 >> 8) & 0xff,
-		379 & 0xff}
+		.description = "l2_ovlan_vid",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l4_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2357 >> 8) & 0xff,
-			2357 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(382 >> 8) & 0xff,
-		382 & 0xff}
+		.description = "l2_ovlan_vid",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l4_hdr_valid",
+		.description = "two_vtags",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2365 >> 8) & 0xff,
-			2365 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(385 >> 8) & 0xff,
-		385 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l4_hdr_valid",
+		.description = "two_vtags",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2373 >> 8) & 0xff,
-			2373 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_L4_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(388 >> 8) & 0xff,
-		388 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "ieh",
-		.field_bit_size = 8,
+		.description = "vtag_present",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "ieh",
-		.field_bit_size = 8,
+		.description = "vtag_present",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3_ipv6_cmp_dst",
-		.field_bit_size = 1,
+		.description = "mac1_addr",
+		.field_bit_size = 48,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l3_ipv6_cmp_dst",
-		.field_bit_size = 1,
+		.description = "mac1_addr",
+		.field_bit_size = 48,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3_ipv6_cmp_src",
-		.field_bit_size = 1,
+		.description = "mac0_addr",
+		.field_bit_size = 48,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l3_ipv6_cmp_src",
-		.field_bit_size = 1,
+		.description = "mac0_addr",
+		.field_bit_size = 48,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3_hdr_isIP",
-		.field_bit_size = 1,
+		.description = "tunnel_id",
+		.field_bit_size = 24,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l3_hdr_isIP",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2381 >> 8) & 0xff,
-			2381 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_L3_HDR_ISIP_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(391 >> 8) & 0xff,
-		391 & 0xff}
+		.description = "tunnel_id",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3_hdr_type",
+		.description = "tun_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2389 >> 8) & 0xff,
-			2389 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(394 >> 8) & 0xff,
-		394 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l3_hdr_type",
+		.description = "tun_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2397 >> 8) & 0xff,
-			2397 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_L3_HDR_TYPE_IPV6},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(397 >> 8) & 0xff,
-		397 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3_hdr_error",
+		.description = "llc",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2405 >> 8) & 0xff,
-			2405 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(400 >> 8) & 0xff,
-		400 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l3_hdr_error",
+		.description = "llc",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2413 >> 8) & 0xff,
-			2413 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(403 >> 8) & 0xff,
-		403 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3_hdr_valid",
+		.description = "roce",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-			(2421 >> 8) & 0xff,
-			2421 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(406 >> 8) & 0xff,
-		406 & 0xff}
+		1}
 		},
 	.field_info_spec = {
-		.description = "l3_hdr_valid",
+		.description = "roce",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2429 >> 8) & 0xff,
-			2429 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_L3_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(409 >> 8) & 0xff,
-		409 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_two_vtags",
-		.field_bit_size = 1,
+		.description = "metadata",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l2_two_vtags",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2437 >> 8) & 0xff,
-			2437 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_L2_TWO_VTAGS_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(412 >> 8) & 0xff,
-		412 & 0xff}
+		.description = "metadata",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_vtag_present",
-		.field_bit_size = 1,
+		.description = "svif",
+		.field_bit_size = 11,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
+			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_vtag_present",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
-			(2443 >> 8) & 0xff,
-			2443 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_L2_VTAG_PRESENT_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(413 >> 8) & 0xff,
-		413 & 0xff}
+		(BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_uc_mc_bc",
-		.field_bit_size = 2,
+		.description = "parif",
+		.field_bit_size = 4,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l2_uc_mc_bc",
-		.field_bit_size = 2,
+		.description = "parif",
+		.field_bit_size = 4,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_hdr_type",
+		.description = "spif",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2449 >> 8) & 0xff,
-			2449 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l2_hdr_type",
+		.description = "spif",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2450 >> 8) & 0xff,
-			2450 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l2_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2451 >> 8) & 0xff,
-			2451 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(414 >> 8) & 0xff,
-		414 & 0xff}
-		},
-	.field_info_spec = {
-		.description = "l2_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2455 >> 8) & 0xff,
-			2455 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(415 >> 8) & 0xff,
-		415 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_hdr_valid",
+		.description = "loopback",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l2_hdr_valid",
+		.description = "loopback",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2459 >> 8) & 0xff,
-			2459 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_L2_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(416 >> 8) & 0xff,
-		416 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tun_hdr_flags",
-		.field_bit_size = 3,
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tun_hdr_flags",
-		.field_bit_size = 3,
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tun_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2463 >> 8) & 0xff,
-			2463 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(417 >> 8) & 0xff,
-		417 & 0xff}
-		},
-	.field_info_spec = {
-		.description = "tun_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2475 >> 8) & 0xff,
-			2475 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(422 >> 8) & 0xff,
-		422 & 0xff}
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tun_hdr_err",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2487 >> 8) & 0xff,
-			2487 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "mpass_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tun_hdr_err",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2488 >> 8) & 0xff,
-			2488 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "mpass_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tun_hdr_valid",
+		.description = "valid",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-			0xff}
+		1}
 		},
 	.field_info_spec = {
-		.description = "tun_hdr_valid",
+		.description = "valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-			(2489 >> 8) & 0xff,
-			2489 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_TUN_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		1}
 		}
 	},
+	/* class_tid: 4, , table: profile_tcam.prof_func_catch_all */
 	{
 	.field_info_mask = {
-		.description = "tl4_hdr_is_udp_tcp",
+		.description = "l4_hdr_is_udp_tcp",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2490 >> 8) & 0xff,
-			2490 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(427 >> 8) & 0xff,
-		427 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl4_hdr_is_udp_tcp",
+		.description = "l4_hdr_is_udp_tcp",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2494 >> 8) & 0xff,
-			2494 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_TL4_HDR_IS_UDP_TCP_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(428 >> 8) & 0xff,
-		428 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl4_hdr_type",
+		.description = "l4_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2498 >> 8) & 0xff,
-			2498 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(429 >> 8) & 0xff,
-		429 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl4_hdr_type",
+		.description = "l4_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2502 >> 8) & 0xff,
-			2502 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(430 >> 8) & 0xff,
-		430 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl4_hdr_error",
+		.description = "l4_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2506 >> 8) & 0xff,
-			2506 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(431 >> 8) & 0xff,
-		431 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl4_hdr_error",
+		.description = "l4_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2510 >> 8) & 0xff,
-			2510 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(432 >> 8) & 0xff,
-		432 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl4_hdr_valid",
+		.description = "l4_hdr_valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2514 >> 8) & 0xff,
-			2514 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(433 >> 8) & 0xff,
-		433 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl4_hdr_valid",
+		.description = "l4_hdr_valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2519 >> 8) & 0xff,
-			2519 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_TL4_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(435 >> 8) & 0xff,
-		435 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3_ipv6_cmp_dst",
-		.field_bit_size = 1,
+		.description = "ieh",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl3_ipv6_cmp_dst",
-		.field_bit_size = 1,
+		.description = "ieh",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3_ipv6_cmp_src",
+		.description = "l3_ipv6_cmp_dst",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl3_ipv6_cmp_src",
+		.description = "l3_ipv6_cmp_dst",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
@@ -27725,256 +41531,139 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3_hdr_isIP",
+		.description = "l3_ipv6_cmp_src",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl3_hdr_isIP",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2524 >> 8) & 0xff,
-			2524 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_TL3_HDR_ISIP_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(437 >> 8) & 0xff,
-		437 & 0xff}
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl3_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2528 >> 8) & 0xff,
-			2528 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(438 >> 8) & 0xff,
-		438 & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl3_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2532 >> 8) & 0xff,
-			2532 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_TL3_HDR_TYPE_IPV6},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(439 >> 8) & 0xff,
-		439 & 0xff}
+		.description = "l3_ipv6_cmp_src",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3_hdr_error",
+		.description = "l3_hdr_isIP",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2536 >> 8) & 0xff,
-			2536 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(440 >> 8) & 0xff,
-		440 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl3_hdr_error",
+		.description = "l3_hdr_isIP",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2540 >> 8) & 0xff,
-			2540 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(441 >> 8) & 0xff,
-		441 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3_hdr_valid",
+		.description = "l3_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "l3_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3_hdr_error",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl3_hdr_valid",
+		.description = "l3_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2544 >> 8) & 0xff,
-			2544 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_TL3_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(442 >> 8) & 0xff,
-		442 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl2_two_vtags",
+		.description = "l3_hdr_valid",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl2_two_vtags",
+		.description = "l3_hdr_valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2548 >> 8) & 0xff,
-			2548 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_TL2_TWO_VTAGS_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl2_vtag_present",
+		.description = "l2_two_vtags",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl2_vtag_present",
+		.description = "l2_two_vtags",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2551 >> 8) & 0xff,
-			2551 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_TL2_VTAG_PRESENT_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl2_uc_mc_bc",
-		.field_bit_size = 2,
+		.description = "l2_vtag_present",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl2_uc_mc_bc",
-		.field_bit_size = 2,
+		.description = "l2_vtag_present",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl2_hdr_type",
+		.description = "l2_uc_mc_bc",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2554 >> 8) & 0xff,
-			2554 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl2_hdr_type",
+		.description = "l2_uc_mc_bc",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2555 >> 8) & 0xff,
-			2555 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl2_hdr_valid",
-		.field_bit_size = 1,
+		.description = "l2_hdr_type",
+		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl2_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2556 >> 8) & 0xff,
-			2556 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_TL2_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l2_hdr_type",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "hrec_next",
+		.description = "l2_hdr_error",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "hrec_next",
+		.description = "l2_hdr_error",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
@@ -27982,2834 +41671,1416 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
 	},
 	{
 	.field_info_mask = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
+		.description = "l2_hdr_valid",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
+		.description = "l2_hdr_valid",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
-		.field_opr1 = {
-		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "agg_error",
-		.field_bit_size = 1,
+		.description = "tun_hdr_flags",
+		.field_bit_size = 3,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "agg_error",
-		.field_bit_size = 1,
+		.description = "tun_hdr_flags",
+		.field_bit_size = 3,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "metadata",
-		.field_bit_size = 16,
+		.description = "tun_hdr_type",
+		.field_bit_size = 4,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-		(0xf000 >> 8) & 0xff,
-		0xf000 & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "metadata",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-		.field_opr1 = {
-			(2558 >> 8) & 0xff,
-			2558 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
-		.field_opr2 = {
-		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_CONST
+		.description = "tun_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "pkt_type_0",
-		.field_bit_size = 2,
+		.description = "tun_hdr_err",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "pkt_type_0",
-		.field_bit_size = 2,
+		.description = "tun_hdr_err",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "pkt_type_1",
-		.field_bit_size = 2,
+		.description = "tun_hdr_valid",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "pkt_type_1",
-		.field_bit_size = 2,
+		.description = "tun_hdr_valid",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "valid",
+		.description = "tl4_hdr_is_udp_tcp",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-		1}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "valid",
+		.description = "tl4_hdr_is_udp_tcp",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-		1}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
-	/* class_tid: 2, , table: wm_key_recipe.0 */
 	{
 	.field_info_mask = {
-		.description = "wc_profile_id",
-		.field_bit_size = 8,
+		.description = "tl4_hdr_type",
+		.field_bit_size = 4,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "wc_profile_id",
-		.field_bit_size = 8,
+		.description = "tl4_hdr_type",
+		.field_bit_size = 4,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
-		.field_opr1 = {
-		(BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_cntxt_id",
-		.field_bit_size = 10,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2560 >> 8) & 0xff,
-			2560 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tl4_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l2_cntxt_id",
-		.field_bit_size = 10,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2562 >> 8) & 0xff,
-			2562 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
-		.field_opr2 = {
-		(BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tl4_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "meta",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-		.field_opr1 = {
-			(2564 >> 8) & 0xff,
-			2564 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tl4_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "meta",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-		.field_opr1 = {
-			(2566 >> 8) & 0xff,
-			2566 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
-		.field_opr2 = {
-		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tl4_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "rcyc_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2568 >> 8) & 0xff,
-			2568 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tl3_ipv6_cmp_dst",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "rcyc_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2569 >> 8) & 0xff,
-			2569 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
-		.field_opr2 = {
-		(BNXT_ULP_RF_IDX_RECYCLE_CNT >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_RECYCLE_CNT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tl3_ipv6_cmp_dst",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl2_dmac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2570 >> 8) & 0xff,
-			2570 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tl3_ipv6_cmp_src",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl2_dmac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2574 >> 8) & 0xff,
-			2574 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tl3_ipv6_cmp_src",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl2_smac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2578 >> 8) & 0xff,
-			2578 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr2 = {
-		(443 >> 8) & 0xff,
-		443 & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tl3_hdr_isIP",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl2_smac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2585 >> 8) & 0xff,
-			2585 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr2 = {
-		(444 >> 8) & 0xff,
-		444 & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tl3_hdr_isIP",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl2_ovv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2592 >> 8) & 0xff,
-			2592 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tl3_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl2_ovv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2597 >> 8) & 0xff,
-			2597 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tl3_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl2_ivv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2602 >> 8) & 0xff,
-			2602 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(445 >> 8) & 0xff,
-		445 & 0xff}
+		.description = "tl3_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl2_ivv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2612 >> 8) & 0xff,
-			2612 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(446 >> 8) & 0xff,
-		446 & 0xff}
+		.description = "tl3_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl2_etype",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2622 >> 8) & 0xff,
-			2622 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tl3_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl2_etype",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2627 >> 8) & 0xff,
-			2627 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tl3_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3.sip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2632 >> 8) & 0xff,
-			2632 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tl2_two_vtags",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl3.sip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2636 >> 8) & 0xff,
-			2636 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tl2_two_vtags",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3.sip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2640 >> 8) & 0xff,
-			2640 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr2 = {
-		(447 >> 8) & 0xff,
-		447 & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tl2_vtag_present",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl3.sip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2645 >> 8) & 0xff,
-			2645 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr2 = {
-		(448 >> 8) & 0xff,
-		448 & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tl2_vtag_present",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3.dip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2650 >> 8) & 0xff,
-			2650 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tl2_uc_mc_bc",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl3.dip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2654 >> 8) & 0xff,
-			2654 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tl2_uc_mc_bc",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3.dip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2658 >> 8) & 0xff,
-			2658 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tl2_hdr_type",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl3.dip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2662 >> 8) & 0xff,
-			2662 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tl2_hdr_type",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3.ttl",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2666 >> 8) & 0xff,
-			2666 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(449 >> 8) & 0xff,
-		449 & 0xff}
+		.description = "tl2_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl3.ttl",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2674 >> 8) & 0xff,
-			2674 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(450 >> 8) & 0xff,
-		450 & 0xff}
+		.description = "tl2_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3.prot",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2682 >> 8) & 0xff,
-			2682 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(451 >> 8) & 0xff,
-		451 & 0xff}
+		.description = "hrec_next",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl3.prot",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2690 >> 8) & 0xff,
-			2690 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(452 >> 8) & 0xff,
-		452 & 0xff}
+		.description = "hrec_next",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3.qos",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "prof_func_id",
+		.field_bit_size = 7,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(2698 >> 8) & 0xff,
-			2698 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(453 >> 8) & 0xff,
-		453 & 0xff}
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "tl3.qos",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "prof_func_id",
+		.field_bit_size = 7,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr1 = {
-			(2706 >> 8) & 0xff,
-			2706 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(454 >> 8) & 0xff,
-		454 & 0xff}
+		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl4.src",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2714 >> 8) & 0xff,
-			2714 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(455 >> 8) & 0xff,
-		455 & 0xff}
+		.description = "agg_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl4.src",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2722 >> 8) & 0xff,
-			2722 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(456 >> 8) & 0xff,
-		456 & 0xff}
+		.description = "agg_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl4.dst",
+		.description = "metadata",
 		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2730 >> 8) & 0xff,
-			2730 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(457 >> 8) & 0xff,
-		457 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl4.dst",
+		.description = "metadata",
 		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2739 >> 8) & 0xff,
-			2739 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(458 >> 8) & 0xff,
-		458 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tids",
-		.field_bit_size = 24,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2748 >> 8) & 0xff,
-			2748 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(459 >> 8) & 0xff,
-		459 & 0xff}
+		.description = "pkt_type_0",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tids",
-		.field_bit_size = 24,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2754 >> 8) & 0xff,
-			2754 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(460 >> 8) & 0xff,
-		460 & 0xff}
+		.description = "pkt_type_0",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_dmac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "pkt_type_1",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "pkt_type_1",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-			(2760 >> 8) & 0xff,
-			2760 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(461 >> 8) & 0xff,
-		461 & 0xff}
+		1}
 		},
 	.field_info_spec = {
-		.description = "l2_dmac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-			(2767 >> 8) & 0xff,
-			2767 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(462 >> 8) & 0xff,
-		462 & 0xff}
+		1}
 		}
 	},
+	/* class_tid: 4, , table: l2_cntxt_tcam_cache.vf_egr_wr */
 	{
 	.field_info_mask = {
-		.description = "l2_smac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(2774 >> 8) & 0xff,
-			2774 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(463 >> 8) & 0xff,
-		463 & 0xff}
+			0xff,
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_smac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
-			(2781 >> 8) & 0xff,
-			2781 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(464 >> 8) & 0xff,
-		464 & 0xff}
+		(BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff}
 		}
 	},
+	/* class_tid: 4, , table: profile_tcam_cache.vfr_rd */
 	{
 	.field_info_mask = {
-		.description = "l2_ovv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(2788 >> 8) & 0xff,
-			2788 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(465 >> 8) & 0xff,
-		465 & 0xff}
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_ovv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2797 >> 8) & 0xff,
-			2797 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(466 >> 8) & 0xff,
-		466 & 0xff}
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_ivv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "prof_func_id",
+		.field_bit_size = 7,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(2806 >> 8) & 0xff,
-			2806 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(467 >> 8) & 0xff,
-		467 & 0xff}
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "prof_func_id",
+		.field_bit_size = 7,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+		.field_opr1 = {
+		(BNXT_ULP_GLB_RF_IDX_VF_2_VFR_PROF_FUNC_ID >> 8) & 0xff,
+		BNXT_ULP_GLB_RF_IDX_VF_2_VFR_PROF_FUNC_ID & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "hdr_sig_id",
+		.field_bit_size = 6,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l2_ivv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2824 >> 8) & 0xff,
-			2824 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(470 >> 8) & 0xff,
-		470 & 0xff}
+		.description = "hdr_sig_id",
+		.field_bit_size = 6,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
+	/* class_tid: 4, , table: l2_cntxt_tcam.vf_2_vfr_ing.0 */
 	{
 	.field_info_mask = {
-		.description = "l2_etype",
+		.description = "etype",
 		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2842 >> 8) & 0xff,
-			2842 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(473 >> 8) & 0xff,
-		473 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l2_etype",
+		.description = "etype",
 		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2851 >> 8) & 0xff,
-			2851 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(474 >> 8) & 0xff,
-		474 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3.sip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2860 >> 8) & 0xff,
-			2860 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(475 >> 8) & 0xff,
-		475 & 0xff}
+		.description = "l2_ivlan_tpid_sel",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l3.sip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2867 >> 8) & 0xff,
-			2867 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(476 >> 8) & 0xff,
-		476 & 0xff}
+		.description = "l2_ivlan_tpid_sel",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3.sip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2874 >> 8) & 0xff,
-			2874 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(477 >> 8) & 0xff,
-		477 & 0xff}
+		.description = "l2_ivlan_vid",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l3.sip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2881 >> 8) & 0xff,
-			2881 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(478 >> 8) & 0xff,
-		478 & 0xff}
+		.description = "l2_ivlan_vid",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3.dip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2888 >> 8) & 0xff,
-			2888 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(479 >> 8) & 0xff,
-		479 & 0xff}
+		.description = "l2_ovlan_tpid_sel",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l3.dip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2895 >> 8) & 0xff,
-			2895 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(480 >> 8) & 0xff,
-		480 & 0xff}
+		.description = "l2_ovlan_tpid_sel",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3.dip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2902 >> 8) & 0xff,
-			2902 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(481 >> 8) & 0xff,
-		481 & 0xff}
+		.description = "l2_ovlan_vid",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l3.dip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2909 >> 8) & 0xff,
-			2909 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(482 >> 8) & 0xff,
-		482 & 0xff}
+		.description = "l2_ovlan_vid",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3.ttl",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2916 >> 8) & 0xff,
-			2916 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(483 >> 8) & 0xff,
-		483 & 0xff}
+		.description = "two_vtags",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l3.ttl",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2930 >> 8) & 0xff,
-			2930 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(486 >> 8) & 0xff,
-		486 & 0xff}
+		.description = "two_vtags",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3.prot",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2944 >> 8) & 0xff,
-			2944 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(489 >> 8) & 0xff,
-		489 & 0xff}
+		.description = "vtag_present",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l3.prot",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2968 >> 8) & 0xff,
-			2968 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_IP_PROTO_TCP},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(496 >> 8) & 0xff,
-		496 & 0xff}
+		.description = "vtag_present",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3.qos",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2992 >> 8) & 0xff,
-			2992 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(503 >> 8) & 0xff,
-		503 & 0xff}
+		.description = "mac1_addr",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l3.qos",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3006 >> 8) & 0xff,
-			3006 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(506 >> 8) & 0xff,
-		506 & 0xff}
+		.description = "mac1_addr",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l4.src",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3020 >> 8) & 0xff,
-			3020 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(509 >> 8) & 0xff,
-		509 & 0xff}
+		.description = "mac0_addr",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l4.src",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3036 >> 8) & 0xff,
-			3036 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(513 >> 8) & 0xff,
-		513 & 0xff}
+		.description = "mac0_addr",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l4.dst",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3052 >> 8) & 0xff,
-			3052 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(517 >> 8) & 0xff,
-		517 & 0xff}
+		.description = "tunnel_id",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l4.dst",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3068 >> 8) & 0xff,
-			3068 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(521 >> 8) & 0xff,
-		521 & 0xff}
+		.description = "tunnel_id",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
-	/* class_tid: 2, , table: proto_header_cache.wr */
 	{
 	.field_info_mask = {
-		.description = "group_metadata",
+		.description = "tun_hdr_type",
 		.field_bit_size = 4,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "group_metadata",
+		.description = "tun_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-		.field_opr1 = {
-			(3084 >> 8) & 0xff,
-			3084 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		3},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
+		.description = "llc",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
+		.description = "llc",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "roce",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
+		1}
+		},
+	.field_info_spec = {
+		.description = "roce",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "hdr_bitmap",
-		.field_bit_size = 64,
+		.description = "metadata",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff}
+		(ULP_THOR_SYM_VF_2_VFR_META_MASK >> 8) & 0xff,
+		ULP_THOR_SYM_VF_2_VFR_META_MASK & 0xff}
 		},
 	.field_info_spec = {
-		.description = "hdr_bitmap",
-		.field_bit_size = 64,
+		.description = "metadata",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff}
+		(ULP_THOR_SYM_VF_2_VFR_META_VAL >> 8) & 0xff,
+		ULP_THOR_SYM_VF_2_VFR_META_VAL & 0xff}
 		}
 	},
-	/* class_tid: 2, , table: em_flow_conflict_cache.rd */
 	{
 	.field_info_mask = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
+		.description = "svif",
+		.field_bit_size = 11,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
+		.description = "svif",
+		.field_bit_size = 11,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "group_metadata",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "group_metadata",
+		.description = "parif",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-		.field_opr1 = {
-			(3089 >> 8) & 0xff,
-			3089 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_CHAIN_META_TYPE},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "parif",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
+		.description = "spif",
+		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
+		.description = "spif",
+		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
-		.field_opr1 = {
-		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "hdr_bitmap",
-		.field_bit_size = 64,
+		.description = "loopback",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "hdr_bitmap",
-		.field_bit_size = 64,
+		.description = "loopback",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff}
+		1}
 		}
 	},
-	/* class_tid: 2, , table: em_key_recipe.0 */
 	{
 	.field_info_mask = {
-		.description = "em_profile_id",
-		.field_bit_size = 8,
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "em_profile_id",
-		.field_bit_size = 8,
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
-		.field_opr1 = {
-		(BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_cntxt_id",
-		.field_bit_size = 10,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3336 >> 8) & 0xff,
-			3336 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "mpass_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l2_cntxt_id",
-		.field_bit_size = 10,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3338 >> 8) & 0xff,
-			3338 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
-		.field_opr2 = {
-		(BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "mpass_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "meta",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.description = "valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-			(3340 >> 8) & 0xff,
-			3340 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		1}
 		},
 	.field_info_spec = {
-		.description = "meta",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.description = "valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-			(3342 >> 8) & 0xff,
-			3342 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
-		.field_opr2 = {
-		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		1}
 		}
 	},
+	/* class_tid: 4, , table: l2_cntxt_tcam.vfr_2_vf_ing.0 */
 	{
 	.field_info_mask = {
-		.description = "rcyc_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3344 >> 8) & 0xff,
-			3344 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "rcyc_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3345 >> 8) & 0xff,
-			3345 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
-		.field_opr2 = {
-		(BNXT_ULP_RF_IDX_RECYCLE_CNT >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_RECYCLE_CNT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl2_dmac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3346 >> 8) & 0xff,
-			3346 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "l2_ivlan_tpid_sel",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl2_dmac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3350 >> 8) & 0xff,
-			3350 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "l2_ivlan_tpid_sel",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl2_smac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3354 >> 8) & 0xff,
-			3354 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "l2_ivlan_vid",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl2_smac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3358 >> 8) & 0xff,
-			3358 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "l2_ivlan_vid",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl2_ovv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3362 >> 8) & 0xff,
-			3362 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "l2_ovlan_tpid_sel",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl2_ovv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3367 >> 8) & 0xff,
-			3367 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "l2_ovlan_tpid_sel",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl2_ivv",
+		.description = "l2_ovlan_vid",
 		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3372 >> 8) & 0xff,
-			3372 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(562 >> 8) & 0xff,
-		562 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl2_ivv",
+		.description = "l2_ovlan_vid",
 		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3382 >> 8) & 0xff,
-			3382 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(563 >> 8) & 0xff,
-		563 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl2_etype",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3392 >> 8) & 0xff,
-			3392 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "two_vtags",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl2_etype",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3397 >> 8) & 0xff,
-			3397 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "two_vtags",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3.sip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3402 >> 8) & 0xff,
-			3402 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "vtag_present",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl3.sip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3406 >> 8) & 0xff,
-			3406 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "vtag_present",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3.sip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3410 >> 8) & 0xff,
-			3410 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "mac1_addr",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl3.sip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3414 >> 8) & 0xff,
-			3414 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "mac1_addr",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3.dip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3418 >> 8) & 0xff,
-			3418 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "mac0_addr",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl3.dip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3422 >> 8) & 0xff,
-			3422 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "mac0_addr",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3.dip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3426 >> 8) & 0xff,
-			3426 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tunnel_id",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl3.dip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3430 >> 8) & 0xff,
-			3430 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "tunnel_id",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3.ttl",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3434 >> 8) & 0xff,
-			3434 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(564 >> 8) & 0xff,
-		564 & 0xff}
+		.description = "tun_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl3.ttl",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3442 >> 8) & 0xff,
-			3442 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(565 >> 8) & 0xff,
-		565 & 0xff}
+		.description = "tun_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3.prot",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3450 >> 8) & 0xff,
-			3450 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(566 >> 8) & 0xff,
-		566 & 0xff}
+		.description = "llc",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl3.prot",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3458 >> 8) & 0xff,
-			3458 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(567 >> 8) & 0xff,
-		567 & 0xff}
+		.description = "llc",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3.qos",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "roce",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-			(3466 >> 8) & 0xff,
-			3466 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(568 >> 8) & 0xff,
-		568 & 0xff}
+		1}
 		},
 	.field_info_spec = {
-		.description = "tl3.qos",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3474 >> 8) & 0xff,
-			3474 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(569 >> 8) & 0xff,
-		569 & 0xff}
+		.description = "roce",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl4.src",
+		.description = "metadata",
 		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-			(3482 >> 8) & 0xff,
-			3482 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(570 >> 8) & 0xff,
-		570 & 0xff}
+		(ULP_THOR_SYM_VF_2_VFR_META_MASK >> 8) & 0xff,
+		ULP_THOR_SYM_VF_2_VFR_META_MASK & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tl4.src",
+		.description = "metadata",
 		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-			(3490 >> 8) & 0xff,
-			3490 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(571 >> 8) & 0xff,
-		571 & 0xff}
+		(ULP_THOR_SYM_VF_2_VF_META_VAL >> 8) & 0xff,
+		ULP_THOR_SYM_VF_2_VF_META_VAL & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl4.dst",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3498 >> 8) & 0xff,
-			3498 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(572 >> 8) & 0xff,
-		572 & 0xff}
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl4.dst",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3507 >> 8) & 0xff,
-			3507 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(573 >> 8) & 0xff,
-		573 & 0xff}
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tids",
-		.field_bit_size = 24,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3516 >> 8) & 0xff,
-			3516 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(574 >> 8) & 0xff,
-		574 & 0xff}
+		.description = "parif",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tids",
-		.field_bit_size = 24,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3522 >> 8) & 0xff,
-			3522 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(575 >> 8) & 0xff,
-		575 & 0xff}
+		.description = "parif",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_dmac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3528 >> 8) & 0xff,
-			3528 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(576 >> 8) & 0xff,
-		576 & 0xff}
+		.description = "spif",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l2_dmac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3535 >> 8) & 0xff,
-			3535 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(577 >> 8) & 0xff,
-		577 & 0xff}
+		.description = "spif",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_smac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "loopback",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(3542 >> 8) & 0xff,
-			3542 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(578 >> 8) & 0xff,
-		578 & 0xff}
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_smac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "loopback",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-			(3549 >> 8) & 0xff,
-			3549 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(579 >> 8) & 0xff,
-		579 & 0xff}
+		1}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_ovv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3556 >> 8) & 0xff,
-			3556 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(580 >> 8) & 0xff,
-		580 & 0xff}
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l2_ovv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3565 >> 8) & 0xff,
-			3565 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(581 >> 8) & 0xff,
-		581 & 0xff}
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_ivv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3574 >> 8) & 0xff,
-			3574 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(582 >> 8) & 0xff,
-		582 & 0xff}
+		.description = "mpass_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l2_ivv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3592 >> 8) & 0xff,
-			3592 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(585 >> 8) & 0xff,
-		585 & 0xff}
+		.description = "mpass_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_etype",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-			(3610 >> 8) & 0xff,
-			3610 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(588 >> 8) & 0xff,
-		588 & 0xff}
+		1}
 		},
 	.field_info_spec = {
-		.description = "l2_etype",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-			(3619 >> 8) & 0xff,
-			3619 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(589 >> 8) & 0xff,
-		589 & 0xff}
+		1}
 		}
 	},
+	/* class_tid: 4, , table: profile_tcam.vf_2_vfr.0 */
 	{
 	.field_info_mask = {
-		.description = "l3.sip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3628 >> 8) & 0xff,
-			3628 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(590 >> 8) & 0xff,
-		590 & 0xff}
+		.description = "l4_hdr_is_udp_tcp",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l3.sip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3635 >> 8) & 0xff,
-			3635 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(591 >> 8) & 0xff,
-		591 & 0xff}
+		.description = "l4_hdr_is_udp_tcp",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3.sip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3642 >> 8) & 0xff,
-			3642 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(592 >> 8) & 0xff,
-		592 & 0xff}
+		.description = "l4_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l3.sip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3649 >> 8) & 0xff,
-			3649 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(593 >> 8) & 0xff,
-		593 & 0xff}
+		.description = "l4_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3.dip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3656 >> 8) & 0xff,
-			3656 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(594 >> 8) & 0xff,
-		594 & 0xff}
+		.description = "l4_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l3.dip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3663 >> 8) & 0xff,
-			3663 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(595 >> 8) & 0xff,
-		595 & 0xff}
+		.description = "l4_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3.dip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3670 >> 8) & 0xff,
-			3670 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(596 >> 8) & 0xff,
-		596 & 0xff}
+		.description = "l4_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l3.dip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3677 >> 8) & 0xff,
-			3677 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(597 >> 8) & 0xff,
-		597 & 0xff}
+		.description = "l4_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "ieh",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "ieh",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3_ipv6_cmp_dst",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "l3_ipv6_cmp_dst",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3_ipv6_cmp_src",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "l3_ipv6_cmp_src",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3.ttl",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3684 >> 8) & 0xff,
-			3684 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(598 >> 8) & 0xff,
-		598 & 0xff}
+		.description = "l3_hdr_isIP",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l3.ttl",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3698 >> 8) & 0xff,
-			3698 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(601 >> 8) & 0xff,
-		601 & 0xff}
+		.description = "l3_hdr_isIP",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3.prot",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3712 >> 8) & 0xff,
-			3712 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(604 >> 8) & 0xff,
-		604 & 0xff}
+		.description = "l3_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l3.prot",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3726 >> 8) & 0xff,
-			3726 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(607 >> 8) & 0xff,
-		607 & 0xff}
+		.description = "l3_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3.qos",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3740 >> 8) & 0xff,
-			3740 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(610 >> 8) & 0xff,
-		610 & 0xff}
+		.description = "l3_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l3.qos",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3754 >> 8) & 0xff,
-			3754 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(613 >> 8) & 0xff,
-		613 & 0xff}
+		.description = "l3_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l4.src",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3768 >> 8) & 0xff,
-			3768 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(616 >> 8) & 0xff,
-		616 & 0xff}
+		.description = "l3_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l4.src",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3782 >> 8) & 0xff,
-			3782 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(619 >> 8) & 0xff,
-		619 & 0xff}
+		.description = "l3_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l4.dst",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3796 >> 8) & 0xff,
-			3796 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(622 >> 8) & 0xff,
-		622 & 0xff}
+		.description = "l2_two_vtags",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l4.dst",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3810 >> 8) & 0xff,
-			3810 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(625 >> 8) & 0xff,
-		625 & 0xff}
+		.description = "l2_two_vtags",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
-	/* class_tid: 2, , table: em_flow_conflict_cache.wr */
 	{
 	.field_info_mask = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
+		.description = "l2_vtag_present",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
+		.description = "l2_vtag_present",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "group_metadata",
-		.field_bit_size = 4,
+		.description = "l2_uc_mc_bc",
+		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "group_metadata",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-		.field_opr1 = {
-			(3824 >> 8) & 0xff,
-			3824 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_CHAIN_META_TYPE},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l2_uc_mc_bc",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
+		.description = "l2_hdr_type",
+		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
+		.description = "l2_hdr_type",
+		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
-		.field_opr1 = {
-		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "hdr_bitmap",
-		.field_bit_size = 64,
+		.description = "l2_hdr_error",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "hdr_bitmap",
-		.field_bit_size = 64,
+		.description = "l2_hdr_error",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
-		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
-	/* class_tid: 3, , table: port_table.ing_wr_0 */
 	{
 	.field_info_mask = {
-		.description = "dev.port_id",
-		.field_bit_size = 10,
+		.description = "l2_hdr_valid",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff,
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "dev.port_id",
-		.field_bit_size = 10,
+		.description = "l2_hdr_valid",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
-		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
-	/* class_tid: 3, , table: l2_cntxt_tcam_cache.ing_rd */
 	{
 	.field_info_mask = {
-		.description = "svif",
-		.field_bit_size = 11,
+		.description = "tun_hdr_flags",
+		.field_bit_size = 3,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff,
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "svif",
-		.field_bit_size = 11,
+		.description = "tun_hdr_flags",
+		.field_bit_size = 3,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
-		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
-	/* class_tid: 3, , table: l2_cntxt_tcam.ing_0 */
 	{
 	.field_info_mask = {
-		.description = "etype",
-		.field_bit_size = 16,
+		.description = "tun_hdr_type",
+		.field_bit_size = 4,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "etype",
-		.field_bit_size = 16,
+		.description = "tun_hdr_type",
+		.field_bit_size = 4,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_ivlan_tpid_sel",
-		.field_bit_size = 3,
+		.description = "tun_hdr_err",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l2_ivlan_tpid_sel",
-		.field_bit_size = 3,
+		.description = "tun_hdr_err",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_ivlan_vid",
-		.field_bit_size = 12,
+		.description = "tun_hdr_valid",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l2_ivlan_vid",
-		.field_bit_size = 12,
+		.description = "tun_hdr_valid",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_ovlan_tpid_sel",
-		.field_bit_size = 3,
+		.description = "tl4_hdr_is_udp_tcp",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l2_ovlan_tpid_sel",
-		.field_bit_size = 3,
+		.description = "tl4_hdr_is_udp_tcp",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_ovlan_vid",
-		.field_bit_size = 12,
+		.description = "tl4_hdr_type",
+		.field_bit_size = 4,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l2_ovlan_vid",
-		.field_bit_size = 12,
+		.description = "tl4_hdr_type",
+		.field_bit_size = 4,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "two_vtags",
+		.description = "tl4_hdr_error",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "two_vtags",
+		.description = "tl4_hdr_error",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
@@ -30817,13 +43088,13 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
 	},
 	{
 	.field_info_mask = {
-		.description = "vtag_present",
+		.description = "tl4_hdr_valid",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "vtag_present",
+		.description = "tl4_hdr_valid",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
@@ -30831,55 +43102,55 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
 	},
 	{
 	.field_info_mask = {
-		.description = "mac1_addr",
-		.field_bit_size = 48,
+		.description = "tl3_ipv6_cmp_dst",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "mac1_addr",
-		.field_bit_size = 48,
+		.description = "tl3_ipv6_cmp_dst",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "mac0_addr",
-		.field_bit_size = 48,
+		.description = "tl3_ipv6_cmp_src",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "mac0_addr",
-		.field_bit_size = 48,
+		.description = "tl3_ipv6_cmp_src",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_id",
-		.field_bit_size = 24,
+		.description = "tl3_hdr_isIP",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tunnel_id",
-		.field_bit_size = 24,
+		.description = "tl3_hdr_isIP",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tun_hdr_type",
+		.description = "tl3_hdr_type",
 		.field_bit_size = 4,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tun_hdr_type",
+		.description = "tl3_hdr_type",
 		.field_bit_size = 4,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
@@ -30887,13 +43158,13 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
 	},
 	{
 	.field_info_mask = {
-		.description = "llc",
+		.description = "tl3_hdr_error",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "llc",
+		.description = "tl3_hdr_error",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
@@ -30901,15 +43172,13 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
 	},
 	{
 	.field_info_mask = {
-		.description = "roce",
+		.description = "tl3_hdr_valid",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-		1}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "roce",
+		.description = "tl3_hdr_valid",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
@@ -30917,61 +43186,55 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
 	},
 	{
 	.field_info_mask = {
-		.description = "metadata",
-		.field_bit_size = 16,
+		.description = "tl2_two_vtags",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "metadata",
-		.field_bit_size = 16,
+		.description = "tl2_two_vtags",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "svif",
-		.field_bit_size = 11,
+		.description = "tl2_vtag_present",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff,
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "svif",
-		.field_bit_size = 11,
+		.description = "tl2_vtag_present",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
-		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "parif",
-		.field_bit_size = 4,
+		.description = "tl2_uc_mc_bc",
+		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "parif",
-		.field_bit_size = 4,
+		.description = "tl2_uc_mc_bc",
+		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "spif",
+		.description = "tl2_hdr_type",
 		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "spif",
+		.description = "tl2_hdr_type",
 		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
@@ -30979,13 +43242,13 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
 	},
 	{
 	.field_info_mask = {
-		.description = "loopback",
+		.description = "tl2_hdr_valid",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "loopback",
+		.description = "tl2_hdr_valid",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
@@ -30993,13 +43256,74 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
 	},
 	{
 	.field_info_mask = {
-		.description = "recycle_cnt",
+		.description = "hrec_next",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "hrec_next",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "prof_func_id",
+		.field_bit_size = 7,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "prof_func_id",
+		.field_bit_size = 7,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+		.field_opr1 = {
+		(BNXT_ULP_GLB_RF_IDX_VF_2_VFR_PROF_FUNC_ID >> 8) & 0xff,
+		BNXT_ULP_GLB_RF_IDX_VF_2_VFR_PROF_FUNC_ID & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "agg_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "agg_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "metadata",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "metadata",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "pkt_type_0",
 		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "recycle_cnt",
+		.description = "pkt_type_0",
 		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
@@ -31007,13 +43331,13 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
 	},
 	{
 	.field_info_mask = {
-		.description = "mpass_cnt",
+		.description = "pkt_type_1",
 		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "mpass_cnt",
+		.description = "pkt_type_1",
 		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
@@ -31037,28 +43361,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
 		1}
 		}
 	},
-	/* class_tid: 3, , table: l2_cntxt_tcam_cache.ing_wr */
-	{
-	.field_info_mask = {
-		.description = "svif",
-		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "svif",
-		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
-		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff}
-		}
-	},
-	/* class_tid: 3, , table: profile_tcam.prof_func_catch_all */
+	/* class_tid: 4, , table: profile_tcam.vfr_2_vf.0 */
 	{
 	.field_info_mask = {
 		.description = "l4_hdr_is_udp_tcp",
@@ -31590,10 +43893,10 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
 		.description = "prof_func_id",
 		.field_bit_size = 7,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
 		.field_opr1 = {
-		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
+		(BNXT_ULP_GLB_RF_IDX_ANY_2_VF_PROF_FUNC_ID >> 8) & 0xff,
+		BNXT_ULP_GLB_RF_IDX_ANY_2_VF_PROF_FUNC_ID & 0xff}
 		}
 	},
 	{
@@ -31670,7 +43973,199 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
 		1}
 		}
 	},
-	/* class_tid: 3, , table: port_table.egr_wr_0 */
+	/* class_tid: 4, , table: profile_tcam_cache.vfr_wr */
+	{
+	.field_info_mask = {
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "recycle_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "prof_func_id",
+		.field_bit_size = 7,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "prof_func_id",
+		.field_bit_size = 7,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+		.field_opr1 = {
+		(BNXT_ULP_GLB_RF_IDX_VF_2_VFR_PROF_FUNC_ID >> 8) & 0xff,
+		BNXT_ULP_GLB_RF_IDX_VF_2_VFR_PROF_FUNC_ID & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "hdr_sig_id",
+		.field_bit_size = 6,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "hdr_sig_id",
+		.field_bit_size = 6,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	/* class_tid: 4, , table: em.vf_2_vfr.0 */
+	{
+	.field_info_mask = {
+		.description = "em_profile_id",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "em_profile_id",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+		.field_opr1 = {
+		(BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_PROF_ID_0 >> 8) & 0xff,
+		BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_PROF_ID_0 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
+		(BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "meta",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "meta",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		(ULP_THOR_SYM_VF_2_VFR_META_VAL >> 8) & 0xff,
+		ULP_THOR_SYM_VF_2_VFR_META_VAL & 0xff}
+		}
+	},
+	/* class_tid: 4, , table: l2_cntxt_tcam_cache.rd_egr0 */
+	{
+	.field_info_mask = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
+		(BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
+		}
+	},
+	/* class_tid: 4, , table: l2_cntxt_tcam_cache.vfr_wr_egr0 */
+	{
+	.field_info_mask = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
+		(BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
+		}
+	},
+	/* class_tid: 4, , table: em.vfr_2_vf.0 */
+	{
+	.field_info_mask = {
+		.description = "em_profile_id",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "em_profile_id",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+		.field_opr1 = {
+		(BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_PROF_ID_1 >> 8) & 0xff,
+		BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_PROF_ID_1 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "meta",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "meta",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
+		(BNXT_ULP_CF_IDX_VF_META_FID >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_VF_META_FID & 0xff}
+		}
+	},
+	/* class_tid: 5, , table: port_table.ing_rd */
 	{
 	.field_info_mask = {
 		.description = "dev.port_id",
@@ -31691,7 +44186,27 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
 		BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
 		}
 	},
-	/* class_tid: 3, , table: l2_cntxt_tcam_cache.non_vfr_egr_rd */
+	/* class_tid: 5, , table: prof_func_cache.ing_rd */
+	{
+	.field_info_mask = {
+		.description = "svif",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "svif",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
+		(BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff}
+		}
+	},
+	/* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_rd */
 	{
 	.field_info_mask = {
 		.description = "svif",
@@ -31708,11 +44223,29 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
+		(BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff}
 		}
 	},
-	/* class_tid: 3, , table: l2_cntxt_tcam.non_vfr_egr_0 */
+	/* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_rd_sock */
+	{
+	.field_info_mask = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	/* class_tid: 5, , table: l2_cntxt_tcam.ing_0 */
 	{
 	.field_info_mask = {
 		.description = "etype",
@@ -31927,8 +44460,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
+		(BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff}
 		}
 	},
 	{
@@ -31992,34 +44525,229 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
 		.description = "mpass_cnt",
 		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "mpass_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		1}
+		},
+	.field_info_spec = {
+		.description = "valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		1}
+		}
+	},
+	/* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_wr */
+	{
+	.field_info_mask = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
+		(BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff}
+		}
+	},
+	/* class_tid: 6, , table: l2_cntxt_tcam_cache.ing_rd */
+	{
+	.field_info_mask = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
+		(BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff}
+		}
+	},
+	/* class_tid: 7, , table: flow_chain_cache.group_check */
+	{
+	.field_info_mask = {
+		.description = "group_id",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "group_id",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
+		(BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_GROUP_ID & 0xff}
+		}
+	},
+	/* class_tid: 7, , table: flow_chain_cache.write */
+	{
+	.field_info_mask = {
+		.description = "group_id",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "group_id",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
+		(BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_GROUP_ID & 0xff}
+		}
+	},
+	/* class_tid: 7, , table: group_miss_action_cache.rd_ing */
+	{
+	.field_info_mask = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
+		(BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "group_id",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "group_id",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
+		(BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_GROUP_ID & 0xff}
+		}
+	},
+	/* class_tid: 7, , table: group_miss_action_cache.write */
+	{
+	.field_info_mask = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
+		(BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "group_id",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "mpass_cnt",
-		.field_bit_size = 2,
+		.description = "group_id",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
+		(BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_GROUP_ID & 0xff}
 		}
 	},
+	/* class_tid: 7, , table: l2_cntxt_tcam_cache.ing_rd */
 	{
 	.field_info_mask = {
-		.description = "valid",
-		.field_bit_size = 1,
+		.description = "svif",
+		.field_bit_size = 11,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-		1}
+			0xff,
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "valid",
-		.field_bit_size = 1,
+		.description = "svif",
+		.field_bit_size = 11,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
-		1}
+		(BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff}
 		}
 	},
-	/* class_tid: 3, , table: profile_tcam.non_vfr_prof_func_egr_catch_all */
+	/* class_tid: 7, , table: profile_tcam_bypass.prof_func_group_catch_all */
 	{
 	.field_info_mask = {
 		.description = "l4_hdr_is_udp_tcp",
@@ -32576,13 +45304,26 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
 		.description = "metadata",
 		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		(0xffff >> 8) & 0xff,
+		0xffff & 0xff}
 		},
 	.field_info_spec = {
 		.description = "metadata",
 		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(4941 >> 8) & 0xff,
+			4941 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr3 = {
+		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_JUMP_META & 0xff}
 		}
 	},
 	{
@@ -32631,170 +45372,96 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
 		1}
 		}
 	},
-	/* class_tid: 3, , table: l2_cntxt_tcam_cache.non_vfr_egr_wr */
+	/* class_tid: 7, , table: flow_chain_cache.group_check_egr */
 	{
 	.field_info_mask = {
-		.description = "svif",
-		.field_bit_size = 11,
+		.description = "group_id",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
+			0xff,
+			0xff,
 			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "svif",
-		.field_bit_size = 11,
+		.description = "group_id",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
-		}
-	},
-	/* class_tid: 3, , table: tunnel_gparse_cache.def_cust_tun_rd */
-	{
-	.field_info_mask = {
-		.description = "tunnel_type",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tunnel_type",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-		ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN}
-		}
-	},
-	/* class_tid: 3, , table: tunnel_gparse_cache.def_cust_tun_wr */
-	{
-	.field_info_mask = {
-		.description = "tunnel_type",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tunnel_type",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-		ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN}
-		}
-	},
-	/* class_tid: 4, , table: profile_tcam_cache.vfr_glb_act_rec_rd */
-	{
-	.field_info_mask = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-		1}
+		(BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_GROUP_ID & 0xff}
 		}
 	},
+	/* class_tid: 7, , table: flow_chain_cache.write_egr */
 	{
 	.field_info_mask = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
+		.description = "group_id",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
+		.description = "group_id",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
-		(BNXT_ULP_GLB_RF_IDX_ANY_2_VF_PROF_FUNC_ID >> 8) & 0xff,
-		BNXT_ULP_GLB_RF_IDX_ANY_2_VF_PROF_FUNC_ID & 0xff}
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "hdr_sig_id",
-		.field_bit_size = 6,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "hdr_sig_id",
-		.field_bit_size = 6,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		(BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_GROUP_ID & 0xff}
 		}
 	},
-	/* class_tid: 4, , table: profile_tcam_cache.vfr_glb_act_rec_wr */
+	/* class_tid: 7, , table: group_miss_action_cache.rd_egr */
 	{
 	.field_info_mask = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
+		.description = "svif",
+		.field_bit_size = 11,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
+			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
+		.description = "svif",
+		.field_bit_size = 11,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
-		1}
+		(BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
+		.description = "group_id",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
+		.description = "group_id",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
-		(BNXT_ULP_GLB_RF_IDX_ANY_2_VF_PROF_FUNC_ID >> 8) & 0xff,
-		BNXT_ULP_GLB_RF_IDX_ANY_2_VF_PROF_FUNC_ID & 0xff}
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "hdr_sig_id",
-		.field_bit_size = 6,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "hdr_sig_id",
-		.field_bit_size = 6,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		(BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_GROUP_ID & 0xff}
 		}
 	},
-	/* class_tid: 4, , table: l2_cntxt_tcam_cache.vf_rd_egr */
+	/* class_tid: 7, , table: group_miss_action_cache.write_egr */
 	{
 	.field_info_mask = {
 		.description = "svif",
@@ -32811,230 +45478,33 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff}
+		(BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
 		}
 	},
-	/* class_tid: 4, , table: l2_cntxt_tcam_cache.get_drv_func_prof_func */
 	{
 	.field_info_mask = {
-		.description = "svif",
-		.field_bit_size = 11,
+		.description = "group_id",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
+			0xff,
+			0xff,
 			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "svif",
-		.field_bit_size = 11,
+		.description = "group_id",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
-		}
-	},
-	/* class_tid: 4, , table: l2_cntxt_tcam.vf_egr */
-	{
-	.field_info_mask = {
-		.description = "etype",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "etype",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l2_ivlan_tpid_sel",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "l2_ivlan_tpid_sel",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l2_ivlan_vid",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "l2_ivlan_vid",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l2_ovlan_tpid_sel",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "l2_ovlan_tpid_sel",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l2_ovlan_vid",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "l2_ovlan_vid",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "two_vtags",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "two_vtags",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "vtag_present",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "vtag_present",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "mac1_addr",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "mac1_addr",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "mac0_addr",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "mac0_addr",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tunnel_id",
-		.field_bit_size = 24,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "tunnel_id",
-		.field_bit_size = 24,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tun_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "tun_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "llc",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "llc",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "roce",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-		1}
-		},
-	.field_info_spec = {
-		.description = "roce",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "metadata",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "metadata",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		(BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_GROUP_ID & 0xff}
 		}
 	},
+	/* class_tid: 7, , table: l2_cntxt_tcam_cache.ing_rd_egr */
 	{
 	.field_info_mask = {
 		.description = "svif",
@@ -33051,99 +45521,11 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff}
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "parif",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "parif",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "spif",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "spif",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "loopback",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "loopback",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "mpass_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "mpass_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-		1}
-		},
-	.field_info_spec = {
-		.description = "valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-		1}
+		(BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
 		}
 	},
-	/* class_tid: 4, , table: profile_tcam.prof_func_catch_all */
+	/* class_tid: 7, , table: profile_tcam_bypass.prof_func_group_catch_all_egr */
 	{
 	.field_info_mask = {
 		.description = "l4_hdr_is_udp_tcp",
@@ -33700,13 +46082,26 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
 		.description = "metadata",
 		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		(0xffff >> 8) & 0xff,
+		0xffff & 0xff}
 		},
 	.field_info_spec = {
 		.description = "metadata",
 		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(4944 >> 8) & 0xff,
+			4944 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr3 = {
+		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_JUMP_META & 0xff}
 		}
 	},
 	{
@@ -33754,4220 +46149,5258 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
 		.field_opr1 = {
 		1}
 		}
-	},
-	/* class_tid: 4, , table: l2_cntxt_tcam_cache.vf_egr_wr */
+	}
+};
+
+struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	{
-	.field_info_mask = {
-		.description = "svif",
-		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.description = "tunnel_type",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff,
-			0xff}
+			(12 >> 8) & 0xff,
+			12 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN_IPV4},
+		.field_src3 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr3 = {
+		ULP_THOR_SYM_DPORT_TUN_TYPE_GENEVE}
 		},
-	.field_info_spec = {
-		.description = "svif",
-		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
-		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff}
-		}
-	},
-	/* class_tid: 4, , table: profile_tcam_cache.vfr_rd */
 	{
-	.field_info_mask = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.description = "tunnel_type",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff}
+			(24 >> 8) & 0xff,
+			24 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN_IPV4},
+		.field_src3 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr3 = {
+		ULP_THOR_SYM_DPORT_TUN_TYPE_GENEVE}
 		},
-	.field_info_spec = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
+	/* class_tid: 1, , table: control.dmac_calculation */
+	{
+	.description = "",
+	.field_bit_size = 48,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(31 >> 8) & 0xff,
+		31 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+	.field_opr2 = {
+	(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
+	BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(3 >> 8) & 0xff,
+	3 & 0xff}
 	},
 	{
-	.field_info_mask = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
+		.description = "",
+		.field_bit_size = 48,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(33 >> 8) & 0xff,
+		33 & 0xff,
+		(1 >> 8) & 0xff,
+		1 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
+	.field_opr2 = {
+		(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff,
+		(BNXT_ULP_PORT_TABLE_DRV_FUNC_MAC >> 8) & 0xff,
+		BNXT_ULP_PORT_TABLE_DRV_FUNC_MAC & 0xff},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(4 >> 8) & 0xff,
+	4 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
-		.field_opr1 = {
-		(BNXT_ULP_GLB_RF_IDX_VF_2_VFR_PROF_FUNC_ID >> 8) & 0xff,
-		BNXT_ULP_GLB_RF_IDX_VF_2_VFR_PROF_FUNC_ID & 0xff}
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "hdr_sig_id",
-		.field_bit_size = 6,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "",
+		.field_bit_size = 48,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(34 >> 8) & 0xff,
+		34 & 0xff,
+		(1 >> 8) & 0xff,
+		1 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
+	.field_opr2 = {
+		(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff,
+		(BNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_MAC >> 8) & 0xff,
+		BNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_MAC & 0xff},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	.field_info_spec = {
-		.description = "hdr_sig_id",
-		.field_bit_size = 6,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
+	/* class_tid: 1, , table: control.terminating_flow */
+	{
+	.description = "",
+	.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(144 >> 8) & 0xff,
+		144 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(6 >> 8) & 0xff,
+	6 & 0xff}
 	},
-	/* class_tid: 4, , table: l2_cntxt_tcam.vf_2_vfr_ing.0 */
 	{
-	.field_info_mask = {
-		.description = "etype",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "",
+		.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(147 >> 8) & 0xff,
+		147 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(7 >> 8) & 0xff,
+	7 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "etype",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l2_ivlan_tpid_sel",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "",
+		.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(150 >> 8) & 0xff,
+		150 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(8 >> 8) & 0xff,
+	8 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "l2_ivlan_tpid_sel",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l2_ivlan_vid",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "",
+		.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(152 >> 8) & 0xff,
+		152 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(9 >> 8) & 0xff,
+	9 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "l2_ivlan_vid",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l2_ovlan_tpid_sel",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "",
+		.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(154 >> 8) & 0xff,
+		154 & 0xff,
+		(1 >> 8) & 0xff,
+		1 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	.field_info_spec = {
-		.description = "l2_ovlan_tpid_sel",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l2_ovlan_vid",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl2_ivv.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(187 >> 8) & 0xff,
+		187 & 0xff,
+		(5 >> 8) & 0xff,
+		5 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	.field_info_spec = {
-		.description = "l2_ovlan_vid",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "two_vtags",
+		.description = "tl3_sip.en",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(201 >> 8) & 0xff,
+		201 & 0xff,
+		(1 >> 8) & 0xff,
+		1 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	.field_info_spec = {
-		.description = "two_vtags",
+	{
+		.description = "tl3_sip.en",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(202 >> 8) & 0xff,
+		202 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	{
+		.description = "tl3_dip.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(210 >> 8) & 0xff,
+		210 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	{
+		.description = "tl3_ttl.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(218 >> 8) & 0xff,
+		218 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	{
+		.description = "tl3_prot.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(226 >> 8) & 0xff,
+		226 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
 	{
-	.field_info_mask = {
-		.description = "vtag_present",
+		.description = "tl3_qos.en",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(234 >> 8) & 0xff,
+		234 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	.field_info_spec = {
-		.description = "vtag_present",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "mac1_addr",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl4_src.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(242 >> 8) & 0xff,
+		242 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	.field_info_spec = {
-		.description = "mac1_addr",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "mac0_addr",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl4_dst.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(251 >> 8) & 0xff,
+		251 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	.field_info_spec = {
-		.description = "mac0_addr",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tunnel_id",
-		.field_bit_size = 24,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tids.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(258 >> 8) & 0xff,
+		258 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	.field_info_spec = {
-		.description = "tunnel_id",
-		.field_bit_size = 24,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tun_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l2_dmac.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(265 >> 8) & 0xff,
+		265 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	.field_info_spec = {
-		.description = "tun_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "llc",
+		.description = "l2_smac.en",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(272 >> 8) & 0xff,
+		272 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	.field_info_spec = {
-		.description = "llc",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "roce",
+		.description = "l2_ovv.en",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-		1}
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(280 >> 8) & 0xff,
+		280 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	.field_info_spec = {
-		.description = "roce",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "metadata",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-		(ULP_THOR_SYM_VF_2_VFR_META_MASK >> 8) & 0xff,
-		ULP_THOR_SYM_VF_2_VFR_META_MASK & 0xff}
+		.description = "l2_ivv.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(289 >> 8) & 0xff,
+		289 & 0xff,
+		(5 >> 8) & 0xff,
+		5 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(24 >> 8) & 0xff,
+	24 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "metadata",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-		(ULP_THOR_SYM_VF_2_VFR_META_VAL >> 8) & 0xff,
-		ULP_THOR_SYM_VF_2_VFR_META_VAL & 0xff}
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "svif",
-		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l2_ivv.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(294 >> 8) & 0xff,
+		294 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(25 >> 8) & 0xff,
+	25 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "svif",
-		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "parif",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l2_ivv.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(298 >> 8) & 0xff,
+		298 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	.field_info_spec = {
-		.description = "parif",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "spif",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l2_etype.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(307 >> 8) & 0xff,
+		307 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	.field_info_spec = {
-		.description = "spif",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "loopback",
+		.description = "l3_sip.en",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(316 >> 8) & 0xff,
+		316 & 0xff,
+		(5 >> 8) & 0xff,
+		5 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(28 >> 8) & 0xff,
+	28 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "loopback",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-		1}
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3_sip.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(321 >> 8) & 0xff,
+		321 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(29 >> 8) & 0xff,
+	29 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "mpass_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3_sip.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(325 >> 8) & 0xff,
+		325 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	.field_info_spec = {
-		.description = "mpass_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "valid",
+		.description = "l3_dip.en",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-		1}
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(334 >> 8) & 0xff,
+		334 & 0xff,
+		(5 >> 8) & 0xff,
+		5 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(31 >> 8) & 0xff,
+	31 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "valid",
+	{
+		.description = "l3_dip.en",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-		1}
-		}
-	},
-	/* class_tid: 4, , table: l2_cntxt_tcam.vfr_2_vf_ing.0 */
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(339 >> 8) & 0xff,
+		339 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(32 >> 8) & 0xff,
+	32 & 0xff}
+		},
 	{
-	.field_info_mask = {
-		.description = "etype",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3_dip.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(343 >> 8) & 0xff,
+		343 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	.field_info_spec = {
-		.description = "etype",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l2_ivlan_tpid_sel",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3_ttl.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(352 >> 8) & 0xff,
+		352 & 0xff,
+		(5 >> 8) & 0xff,
+		5 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(34 >> 8) & 0xff,
+	34 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "l2_ivlan_tpid_sel",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l2_ivlan_vid",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3_ttl.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(357 >> 8) & 0xff,
+		357 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(35 >> 8) & 0xff,
+	35 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "l2_ivlan_vid",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l2_ovlan_tpid_sel",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3_ttl.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(361 >> 8) & 0xff,
+		361 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	.field_info_spec = {
-		.description = "l2_ovlan_tpid_sel",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l2_ovlan_vid",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3_prot.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(370 >> 8) & 0xff,
+		370 & 0xff,
+		(5 >> 8) & 0xff,
+		5 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(37 >> 8) & 0xff,
+	37 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "l2_ovlan_vid",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "two_vtags",
+		.description = "l3_prot.en",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(375 >> 8) & 0xff,
+		375 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(38 >> 8) & 0xff,
+	38 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "two_vtags",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "vtag_present",
+		.description = "l3_prot.en",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(379 >> 8) & 0xff,
+		379 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	.field_info_spec = {
-		.description = "vtag_present",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "mac1_addr",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3_qos.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(388 >> 8) & 0xff,
+		388 & 0xff,
+		(5 >> 8) & 0xff,
+		5 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(40 >> 8) & 0xff,
+	40 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "mac1_addr",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "mac0_addr",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3_qos.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(393 >> 8) & 0xff,
+		393 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(41 >> 8) & 0xff,
+	41 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "mac0_addr",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tunnel_id",
-		.field_bit_size = 24,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3_qos.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(397 >> 8) & 0xff,
+		397 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	.field_info_spec = {
-		.description = "tunnel_id",
-		.field_bit_size = 24,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tun_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4_src.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+	.field_opr1 = {
+		(403 >> 8) & 0xff,
+		403 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	.field_info_spec = {
-		.description = "tun_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "llc",
+		.description = "l4_src.en",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(406 >> 8) & 0xff,
+		406 & 0xff,
+		(1 >> 8) & 0xff,
+		1 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr2 = {
+	(44 >> 8) & 0xff,
+	44 & 0xff},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	.field_info_spec = {
-		.description = "llc",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "roce",
+		.description = "l4_src.en",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-		1}
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+	.field_opr1 = {
+		(407 >> 8) & 0xff,
+		407 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	.field_info_spec = {
-		.description = "roce",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "metadata",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-		(ULP_THOR_SYM_VF_2_VFR_META_MASK >> 8) & 0xff,
-		ULP_THOR_SYM_VF_2_VFR_META_MASK & 0xff}
+		.description = "l4_dst.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+	.field_opr1 = {
+		(412 >> 8) & 0xff,
+		412 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	.field_info_spec = {
-		.description = "metadata",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-		(ULP_THOR_SYM_VF_2_VF_META_VAL >> 8) & 0xff,
-		ULP_THOR_SYM_VF_2_VF_META_VAL & 0xff}
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "svif",
-		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4_dst.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(415 >> 8) & 0xff,
+		415 & 0xff,
+		(1 >> 8) & 0xff,
+		1 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr2 = {
+	(47 >> 8) & 0xff,
+	47 & 0xff},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	.field_info_spec = {
-		.description = "svif",
-		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "parif",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4_dst.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+	.field_opr1 = {
+		(416 >> 8) & 0xff,
+		416 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	.field_info_spec = {
-		.description = "parif",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "spif",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl2_ivv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(463 >> 8) & 0xff,
+			463 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "spif",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "loopback",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.description = "tl2_ivv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff}
+			(473 >> 8) & 0xff,
+			473 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "loopback",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-		1}
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl3.sip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(500 >> 8) & 0xff,
+			500 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "mpass_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl3.sip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(505 >> 8) & 0xff,
+			505 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "mpass_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.description = "tl3.ttl",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		1}
+			(526 >> 8) & 0xff,
+			526 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-		1}
-		}
-	},
-	/* class_tid: 4, , table: profile_tcam.vf_2_vfr.0 */
 	{
-	.field_info_mask = {
-		.description = "l4_hdr_is_udp_tcp",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl3.ttl",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(534 >> 8) & 0xff,
+			534 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "l4_hdr_is_udp_tcp",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l4_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(542 >> 8) & 0xff,
+			542 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "l4_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l4_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(550 >> 8) & 0xff,
+			550 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "l4_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l4_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl3.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(558 >> 8) & 0xff,
+			558 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "l4_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "ieh",
+		.description = "tl3.qos",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(566 >> 8) & 0xff,
+			566 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	{
+		.description = "tl4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(574 >> 8) & 0xff,
+			574 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "ieh",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l3_ipv6_cmp_dst",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(582 >> 8) & 0xff,
+			582 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "l3_ipv6_cmp_dst",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l3_ipv6_cmp_src",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(591 >> 8) & 0xff,
+			591 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "l3_ipv6_cmp_src",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l3_hdr_isIP",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(600 >> 8) & 0xff,
+			600 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "l3_hdr_isIP",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l3_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tids",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(607 >> 8) & 0xff,
+			607 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "l3_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l3_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tids",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(613 >> 8) & 0xff,
+			613 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "l3_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l3_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l2_dmac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(620 >> 8) & 0xff,
+			620 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "l3_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l2_two_vtags",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l2_dmac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(627 >> 8) & 0xff,
+			627 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "l2_two_vtags",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l2_vtag_present",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l2_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(634 >> 8) & 0xff,
+			634 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "l2_vtag_present",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l2_uc_mc_bc",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l2_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(641 >> 8) & 0xff,
+			641 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "l2_uc_mc_bc",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l2_hdr_type",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l2_ovv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(649 >> 8) & 0xff,
+			649 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "l2_hdr_type",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l2_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l2_ovv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(658 >> 8) & 0xff,
+			658 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "l2_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l2_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l2_ivv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(667 >> 8) & 0xff,
+			667 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(71 >> 8) & 0xff,
+		71 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "l2_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tun_hdr_flags",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l2_ivv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(672 >> 8) & 0xff,
+			672 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(72 >> 8) & 0xff,
+		72 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "tun_hdr_flags",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tun_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l2_ivv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(676 >> 8) & 0xff,
+			676 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "tun_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tun_hdr_err",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l2_ivv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(685 >> 8) & 0xff,
+			685 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(74 >> 8) & 0xff,
+		74 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "tun_hdr_err",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tun_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l2_ivv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(690 >> 8) & 0xff,
+			690 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(75 >> 8) & 0xff,
+		75 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "tun_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tl4_hdr_is_udp_tcp",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l2_ivv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(694 >> 8) & 0xff,
+			694 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "tl4_hdr_is_udp_tcp",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tl4_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l2_etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(703 >> 8) & 0xff,
+			703 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "tl4_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tl4_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l2_etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(712 >> 8) & 0xff,
+			712 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "tl4_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tl4_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.sip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(720 >> 8) & 0xff,
+			720 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "tl4_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tl3_ipv6_cmp_dst",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.sip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(727 >> 8) & 0xff,
+			727 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "tl3_ipv6_cmp_dst",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tl3_ipv6_cmp_src",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.sip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(734 >> 8) & 0xff,
+			734 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	{
+		.description = "l3.sip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(741 >> 8) & 0xff,
+			741 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "tl3_ipv6_cmp_src",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tl3_hdr_isIP",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.dip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(748 >> 8) & 0xff,
+			748 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "tl3_hdr_isIP",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tl3_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.dip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(755 >> 8) & 0xff,
+			755 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "tl3_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tl3_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.dip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(762 >> 8) & 0xff,
+			762 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "tl3_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tl3_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.dip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(769 >> 8) & 0xff,
+			769 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "tl3_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tl2_two_vtags",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.ttl",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(776 >> 8) & 0xff,
+			776 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(87 >> 8) & 0xff,
+		87 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "tl2_two_vtags",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tl2_vtag_present",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.ttl",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(780 >> 8) & 0xff,
+			780 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(88 >> 8) & 0xff,
+		88 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "tl2_vtag_present",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tl2_uc_mc_bc",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.ttl",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(783 >> 8) & 0xff,
+			783 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "tl2_uc_mc_bc",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tl2_hdr_type",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.ttl",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(790 >> 8) & 0xff,
+			790 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(90 >> 8) & 0xff,
+		90 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "tl2_hdr_type",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tl2_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.ttl",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(794 >> 8) & 0xff,
+			794 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(91 >> 8) & 0xff,
+		91 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "tl2_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "hrec_next",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.ttl",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(797 >> 8) & 0xff,
+			797 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "hrec_next",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.description = "l3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff}
+			(803 >> 8) & 0xff,
+			803 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(93 >> 8) & 0xff,
+		93 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+	{
+		.description = "l3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		(BNXT_ULP_GLB_RF_IDX_VF_2_VFR_PROF_FUNC_ID >> 8) & 0xff,
-		BNXT_ULP_GLB_RF_IDX_VF_2_VFR_PROF_FUNC_ID & 0xff}
-		}
-	},
+			(806 >> 8) & 0xff,
+			806 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(94 >> 8) & 0xff,
+		94 & 0xff}
+		},
 	{
-	.field_info_mask = {
-		.description = "agg_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(808 >> 8) & 0xff,
+			808 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(95 >> 8) & 0xff,
+		95 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "agg_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "metadata",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(810 >> 8) & 0xff,
+			810 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(96 >> 8) & 0xff,
+		96 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "metadata",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "pkt_type_0",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(814 >> 8) & 0xff,
+			814 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(97 >> 8) & 0xff,
+		97 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "pkt_type_0",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "pkt_type_1",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(818 >> 8) & 0xff,
+			818 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(98 >> 8) & 0xff,
+		98 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "pkt_type_1",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.description = "l3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		1}
+			(821 >> 8) & 0xff,
+			821 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	{
+		.description = "l3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		1}
-		}
-	},
-	/* class_tid: 4, , table: profile_tcam.vfr_2_vf.0 */
+			(827 >> 8) & 0xff,
+			827 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(100 >> 8) & 0xff,
+		100 & 0xff}
+		},
 	{
-	.field_info_mask = {
-		.description = "l4_hdr_is_udp_tcp",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(830 >> 8) & 0xff,
+			830 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(101 >> 8) & 0xff,
+		101 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "l4_hdr_is_udp_tcp",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l4_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(832 >> 8) & 0xff,
+			832 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(102 >> 8) & 0xff,
+		102 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "l4_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l4_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(834 >> 8) & 0xff,
+			834 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(103 >> 8) & 0xff,
+		103 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "l4_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l4_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(838 >> 8) & 0xff,
+			838 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(104 >> 8) & 0xff,
+		104 & 0xff}
+		},
+	{
+		.description = "l3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(842 >> 8) & 0xff,
+			842 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(105 >> 8) & 0xff,
+		105 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "l4_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "ieh",
+		.description = "l3.prot",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(845 >> 8) & 0xff,
+			845 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "ieh",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l3_ipv6_cmp_dst",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(852 >> 8) & 0xff,
+			852 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(107 >> 8) & 0xff,
+		107 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "l3_ipv6_cmp_dst",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l3_ipv6_cmp_src",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(856 >> 8) & 0xff,
+			856 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(108 >> 8) & 0xff,
+		108 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "l3_ipv6_cmp_src",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l3_hdr_isIP",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(859 >> 8) & 0xff,
+			859 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "l3_hdr_isIP",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l3_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(866 >> 8) & 0xff,
+			866 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(110 >> 8) & 0xff,
+		110 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "l3_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l3_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(870 >> 8) & 0xff,
+			870 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(111 >> 8) & 0xff,
+		111 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "l3_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l3_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(873 >> 8) & 0xff,
+			873 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	.field_info_spec = {
-		.description = "l3_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l2_two_vtags",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(880 >> 8) & 0xff,
+			880 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(113 >> 8) & 0xff,
+		113 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "l2_two_vtags",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l2_vtag_present",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(884 >> 8) & 0xff,
+			884 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(114 >> 8) & 0xff,
+		114 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "l2_vtag_present",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l2_uc_mc_bc",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(887 >> 8) & 0xff,
+			887 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(115 >> 8) & 0xff,
+		115 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "l2_uc_mc_bc",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l2_hdr_type",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(890 >> 8) & 0xff,
+			890 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_SKIP,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	.field_info_spec = {
-		.description = "l2_hdr_type",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l2_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(896 >> 8) & 0xff,
+			896 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(117 >> 8) & 0xff,
+		117 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "l2_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "l2_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(900 >> 8) & 0xff,
+			900 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(118 >> 8) & 0xff,
+		118 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "l2_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tun_hdr_flags",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(903 >> 8) & 0xff,
+			903 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(119 >> 8) & 0xff,
+		119 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "tun_hdr_flags",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tun_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(906 >> 8) & 0xff,
+			906 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_SKIP,
+		.field_src3 = BNXT_ULP_FIELD_SRC_CONST
 		},
-	.field_info_spec = {
-		.description = "tun_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tun_hdr_err",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(912 >> 8) & 0xff,
+			912 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(121 >> 8) & 0xff,
+		121 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "tun_hdr_err",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tun_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(916 >> 8) & 0xff,
+			916 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(122 >> 8) & 0xff,
+		122 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "tun_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tl4_hdr_is_udp_tcp",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(919 >> 8) & 0xff,
+			919 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(123 >> 8) & 0xff,
+		123 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "tl4_hdr_is_udp_tcp",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tl4_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(922 >> 8) & 0xff,
+			922 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_SKIP,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	.field_info_spec = {
-		.description = "tl4_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tl4_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(928 >> 8) & 0xff,
+			928 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(125 >> 8) & 0xff,
+		125 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "tl4_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tl4_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(932 >> 8) & 0xff,
+			932 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(126 >> 8) & 0xff,
+		126 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "tl4_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tl3_ipv6_cmp_dst",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(935 >> 8) & 0xff,
+			935 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(127 >> 8) & 0xff,
+		127 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "tl3_ipv6_cmp_dst",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tl3_ipv6_cmp_src",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(938 >> 8) & 0xff,
+			938 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_SKIP,
+		.field_src3 = BNXT_ULP_FIELD_SRC_CONST
 		},
-	.field_info_spec = {
-		.description = "tl3_ipv6_cmp_src",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
+	/* class_tid: 1, , table: control.profile_tcam_priority */
 	{
-	.field_info_mask = {
-		.description = "tl3_hdr_isIP",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "tl3_hdr_isIP",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
+	.description = "",
+	.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(943 >> 8) & 0xff,
+		943 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(129 >> 8) & 0xff,
+	129 & 0xff}
 	},
 	{
-	.field_info_mask = {
-		.description = "tl3_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "",
+		.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(945 >> 8) & 0xff,
+		945 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(130 >> 8) & 0xff,
+	130 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "tl3_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tl3_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "",
+		.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(947 >> 8) & 0xff,
+		947 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(131 >> 8) & 0xff,
+	131 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "tl3_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tl3_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "",
+		.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(949 >> 8) & 0xff,
+		949 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(132 >> 8) & 0xff,
+	132 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "tl3_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tl2_two_vtags",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "",
+		.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(951 >> 8) & 0xff,
+		951 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	ULP_THOR_SYM_PROF_TCAM_PRI_L3},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(133 >> 8) & 0xff,
+	133 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "tl2_two_vtags",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tl2_vtag_present",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "",
+		.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(953 >> 8) & 0xff,
+		953 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	ULP_THOR_SYM_PROF_TCAM_PRI_L3},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(134 >> 8) & 0xff,
+	134 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "tl2_vtag_present",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tl2_uc_mc_bc",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "",
+		.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(955 >> 8) & 0xff,
+		955 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	ULP_THOR_SYM_PROF_TCAM_PRI_L3},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(135 >> 8) & 0xff,
+	135 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "tl2_uc_mc_bc",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tl2_hdr_type",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "",
+		.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(957 >> 8) & 0xff,
+		957 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	ULP_THOR_SYM_PROF_TCAM_PRI_L3},
+	.field_src3 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr3 = {
+	ULP_THOR_SYM_PROF_TCAM_PRI_L2}
 		},
-	.field_info_spec = {
-		.description = "tl2_hdr_type",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "tl2_hdr_valid",
+		.description = "l4_hdr_is_udp_tcp",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(961 >> 8) & 0xff,
+			961 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(137 >> 8) & 0xff,
+		137 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "tl2_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "hrec_next",
+		.description = "l4_hdr_is_udp_tcp",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(963 >> 8) & 0xff,
+			963 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(138 >> 8) & 0xff,
+		138 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "hrec_next",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.description = "l4_hdr_is_udp_tcp",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff}
+			(965 >> 8) & 0xff,
+			965 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	.field_info_spec = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
-		.field_opr1 = {
-		(BNXT_ULP_GLB_RF_IDX_ANY_2_VF_PROF_FUNC_ID >> 8) & 0xff,
-		BNXT_ULP_GLB_RF_IDX_ANY_2_VF_PROF_FUNC_ID & 0xff}
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "agg_error",
+		.description = "l4_hdr_is_udp_tcp",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(969 >> 8) & 0xff,
+			969 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(140 >> 8) & 0xff,
+		140 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "agg_error",
+	{
+		.description = "l4_hdr_is_udp_tcp",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(971 >> 8) & 0xff,
+			971 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(141 >> 8) & 0xff,
+		141 & 0xff}
+		},
 	{
-	.field_info_mask = {
-		.description = "metadata",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4_hdr_is_udp_tcp",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(973 >> 8) & 0xff,
+			973 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	.field_info_spec = {
-		.description = "metadata",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "pkt_type_0",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(977 >> 8) & 0xff,
+			977 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(143 >> 8) & 0xff,
+		143 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "pkt_type_0",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "pkt_type_1",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(979 >> 8) & 0xff,
+			979 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(144 >> 8) & 0xff,
+		144 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "pkt_type_1",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.description = "l4_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		1}
+			(981 >> 8) & 0xff,
+			981 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	.field_info_spec = {
-		.description = "valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	{
+		.description = "l4_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		1}
-		}
-	},
-	/* class_tid: 4, , table: profile_tcam_cache.vfr_wr */
+			(985 >> 8) & 0xff,
+			985 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(146 >> 8) & 0xff,
+		146 & 0xff}
+		},
 	{
-	.field_info_mask = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.description = "l4_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff}
+			(987 >> 8) & 0xff,
+			987 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_L4_HDR_TYPE_UDP},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(147 >> 8) & 0xff,
+		147 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.description = "l4_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff}
+			(989 >> 8) & 0xff,
+			989 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_L4_HDR_TYPE_UDP},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	.field_info_spec = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+	{
+		.description = "l4_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		(BNXT_ULP_GLB_RF_IDX_VF_2_VFR_PROF_FUNC_ID >> 8) & 0xff,
-		BNXT_ULP_GLB_RF_IDX_VF_2_VFR_PROF_FUNC_ID & 0xff}
-		}
-	},
+			(993 >> 8) & 0xff,
+			993 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(149 >> 8) & 0xff,
+		149 & 0xff}
+		},
 	{
-	.field_info_mask = {
-		.description = "hdr_sig_id",
-		.field_bit_size = 6,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(995 >> 8) & 0xff,
+			995 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(150 >> 8) & 0xff,
+		150 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "hdr_sig_id",
-		.field_bit_size = 6,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	/* class_tid: 4, , table: em.vf_2_vfr.0 */
 	{
-	.field_info_mask = {
-		.description = "em_profile_id",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.description = "l4_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff}
+			(997 >> 8) & 0xff,
+			997 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	.field_info_spec = {
-		.description = "em_profile_id",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
-		.field_opr1 = {
-		(BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_PROF_ID_0 >> 8) & 0xff,
-		BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_PROF_ID_0 & 0xff}
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "svif",
-		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.description = "l4_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff,
-			0xff}
+			(1001 >> 8) & 0xff,
+			1001 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(152 >> 8) & 0xff,
+		152 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "svif",
-		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
-		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff}
-		}
-	},
 	{
-	.field_info_mask = {
-		.description = "meta",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.description = "l4_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff,
-			0xff}
+			(1003 >> 8) & 0xff,
+			1003 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(153 >> 8) & 0xff,
+		153 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "meta",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-		(ULP_THOR_SYM_VF_2_VFR_META_VAL >> 8) & 0xff,
-		ULP_THOR_SYM_VF_2_VFR_META_VAL & 0xff}
-		}
-	},
-	/* class_tid: 4, , table: l2_cntxt_tcam_cache.rd_egr0 */
 	{
-	.field_info_mask = {
-		.description = "svif",
-		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.description = "l4_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff,
-			0xff}
+			(1005 >> 8) & 0xff,
+			1005 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	.field_info_spec = {
-		.description = "svif",
-		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
-		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
-		}
-	},
-	/* class_tid: 4, , table: l2_cntxt_tcam_cache.vfr_wr_egr0 */
 	{
-	.field_info_mask = {
-		.description = "svif",
-		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.description = "l4_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff,
-			0xff}
+			(1009 >> 8) & 0xff,
+			1009 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(155 >> 8) & 0xff,
+		155 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "svif",
-		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+	{
+		.description = "l4_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
-		}
-	},
-	/* class_tid: 4, , table: em.vfr_2_vf.0 */
+			(1011 >> 8) & 0xff,
+			1011 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(156 >> 8) & 0xff,
+		156 & 0xff}
+		},
 	{
-	.field_info_mask = {
-		.description = "em_profile_id",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.description = "l4_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff}
+			(1013 >> 8) & 0xff,
+			1013 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	.field_info_spec = {
-		.description = "em_profile_id",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+	{
+		.description = "l4_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		(BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_PROF_ID_1 >> 8) & 0xff,
-		BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_PROF_ID_1 & 0xff}
-		}
-	},
+			(1017 >> 8) & 0xff,
+			1017 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_L4_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(158 >> 8) & 0xff,
+		158 & 0xff}
+		},
 	{
-	.field_info_mask = {
-		.description = "meta",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.description = "l4_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff,
-			0xff}
+			(1019 >> 8) & 0xff,
+			1019 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_L4_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(159 >> 8) & 0xff,
+		159 & 0xff}
 		},
-	.field_info_spec = {
-		.description = "meta",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+	{
+		.description = "l4_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_VF_META_FID >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_VF_META_FID & 0xff}
-		}
-	}
-};
-
-struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
+			(1021 >> 8) & 0xff,
+			1021 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_L4_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
 	{
-		.description = "tunnel_type",
-		.field_bit_size = 8,
+		.description = "l3_hdr_isIP",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(12 >> 8) & 0xff,
-			12 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
+			(1025 >> 8) & 0xff,
+			1025 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN_IPV4},
-		.field_src3 = BNXT_ULP_FIELD_SRC_CONST,
+		ULP_THOR_SYM_L3_HDR_ISIP_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		ULP_THOR_SYM_DPORT_TUN_TYPE_GENEVE}
+		(161 >> 8) & 0xff,
+		161 & 0xff}
 		},
 	{
-		.description = "tunnel_type",
-		.field_bit_size = 8,
+		.description = "l3_hdr_isIP",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(24 >> 8) & 0xff,
-			24 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
+			(1027 >> 8) & 0xff,
+			1027 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN_IPV4},
-		.field_src3 = BNXT_ULP_FIELD_SRC_CONST,
+		ULP_THOR_SYM_L3_HDR_ISIP_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		ULP_THOR_SYM_DPORT_TUN_TYPE_GENEVE}
+		(162 >> 8) & 0xff,
+		162 & 0xff}
 		},
-	/* class_tid: 1, , table: control.dmac_calculation */
 	{
-	.description = "",
-	.field_bit_size = 48,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(31 >> 8) & 0xff,
-		31 & 0xff,
-		(2 >> 8) & 0xff,
-		2 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-	.field_opr2 = {
-	(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-	BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(3 >> 8) & 0xff,
-	3 & 0xff}
-	},
+		.description = "l3_hdr_isIP",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1029 >> 8) & 0xff,
+			1029 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_L3_HDR_ISIP_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
 	{
-		.description = "",
-		.field_bit_size = 48,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(33 >> 8) & 0xff,
-		33 & 0xff,
-		(1 >> 8) & 0xff,
-		1 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
-	.field_opr2 = {
-		(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff,
-		(BNXT_ULP_PORT_TABLE_DRV_FUNC_MAC >> 8) & 0xff,
-		BNXT_ULP_PORT_TABLE_DRV_FUNC_MAC & 0xff},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(4 >> 8) & 0xff,
-	4 & 0xff}
+		.description = "l3_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1033 >> 8) & 0xff,
+			1033 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(164 >> 8) & 0xff,
+		164 & 0xff}
 		},
 	{
-		.description = "",
-		.field_bit_size = 48,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(34 >> 8) & 0xff,
-		34 & 0xff,
-		(1 >> 8) & 0xff,
-		1 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
-	.field_opr2 = {
-		(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff,
-		(BNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_MAC >> 8) & 0xff,
-		BNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_MAC & 0xff},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1035 >> 8) & 0xff,
+			1035 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(165 >> 8) & 0xff,
+		165 & 0xff}
 		},
-	/* class_tid: 1, , table: control.terminating_flow */
 	{
-	.description = "",
-	.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(128 >> 8) & 0xff,
-		128 & 0xff,
-		(3 >> 8) & 0xff,
-		3 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(6 >> 8) & 0xff,
-	6 & 0xff}
-	},
+		.description = "l3_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1037 >> 8) & 0xff,
+			1037 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
 	{
-		.description = "",
-		.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(131 >> 8) & 0xff,
-		131 & 0xff,
-		(3 >> 8) & 0xff,
-		3 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(7 >> 8) & 0xff,
-	7 & 0xff}
+		.description = "l3_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1041 >> 8) & 0xff,
+			1041 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_L3_HDR_TYPE_IPV6},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(167 >> 8) & 0xff,
+		167 & 0xff}
 		},
 	{
-		.description = "",
-		.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(134 >> 8) & 0xff,
-		134 & 0xff,
-		(2 >> 8) & 0xff,
-		2 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(8 >> 8) & 0xff,
-	8 & 0xff}
+		.description = "l3_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1043 >> 8) & 0xff,
+			1043 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(168 >> 8) & 0xff,
+		168 & 0xff}
 		},
 	{
-		.description = "",
-		.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(136 >> 8) & 0xff,
-		136 & 0xff,
-		(2 >> 8) & 0xff,
-		2 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(9 >> 8) & 0xff,
-	9 & 0xff}
+		.description = "l3_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1045 >> 8) & 0xff,
+			1045 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "",
-		.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(138 >> 8) & 0xff,
-		138 & 0xff,
-		(1 >> 8) & 0xff,
-		1 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1049 >> 8) & 0xff,
+			1049 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(170 >> 8) & 0xff,
+		170 & 0xff}
+		},
+	{
+		.description = "l3_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1051 >> 8) & 0xff,
+			1051 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(171 >> 8) & 0xff,
+		171 & 0xff}
 		},
 	{
-		.description = "tl2_ivv.en",
+		.description = "l3_hdr_error",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(168 >> 8) & 0xff,
-		168 & 0xff,
-		(5 >> 8) & 0xff,
-		5 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1053 >> 8) & 0xff,
+			1053 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "tl3_sip.en",
+		.description = "l3_hdr_error",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(182 >> 8) & 0xff,
-		182 & 0xff,
-		(1 >> 8) & 0xff,
-		1 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1057 >> 8) & 0xff,
+			1057 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(173 >> 8) & 0xff,
+		173 & 0xff}
 		},
 	{
-		.description = "tl3_sip.en",
+		.description = "l3_hdr_error",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(183 >> 8) & 0xff,
-		183 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1059 >> 8) & 0xff,
+			1059 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(174 >> 8) & 0xff,
+		174 & 0xff}
 		},
 	{
-		.description = "tl3_dip.en",
+		.description = "l3_hdr_error",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(191 >> 8) & 0xff,
-		191 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1061 >> 8) & 0xff,
+			1061 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "tl3_ttl.en",
+		.description = "l3_hdr_valid",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(199 >> 8) & 0xff,
-		199 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1065 >> 8) & 0xff,
+			1065 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(176 >> 8) & 0xff,
+		176 & 0xff}
 		},
 	{
-		.description = "tl3_prot.en",
+		.description = "l3_hdr_valid",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(207 >> 8) & 0xff,
-		207 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1067 >> 8) & 0xff,
+			1067 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(177 >> 8) & 0xff,
+		177 & 0xff}
 		},
 	{
-		.description = "tl3_qos.en",
+		.description = "l3_hdr_valid",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(215 >> 8) & 0xff,
-		215 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1069 >> 8) & 0xff,
+			1069 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "tl4_src.en",
+		.description = "l3_hdr_valid",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(223 >> 8) & 0xff,
-		223 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1073 >> 8) & 0xff,
+			1073 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_L3_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(179 >> 8) & 0xff,
+		179 & 0xff}
 		},
 	{
-		.description = "tl4_dst.en",
+		.description = "l3_hdr_valid",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(232 >> 8) & 0xff,
-		232 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1075 >> 8) & 0xff,
+			1075 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_L3_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(180 >> 8) & 0xff,
+		180 & 0xff}
 		},
 	{
-		.description = "tids.en",
+		.description = "l3_hdr_valid",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(239 >> 8) & 0xff,
-		239 & 0xff,
-		(3 >> 8) & 0xff,
-		3 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1077 >> 8) & 0xff,
+			1077 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_L3_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l2_dmac.en",
+		.description = "l2_two_vtags",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(246 >> 8) & 0xff,
-		246 & 0xff,
-		(3 >> 8) & 0xff,
-		3 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1082 >> 8) & 0xff,
+			1082 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_L2_TWO_VTAGS_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l2_smac.en",
+		.description = "l2_vtag_present",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(253 >> 8) & 0xff,
-		253 & 0xff,
-		(3 >> 8) & 0xff,
-		3 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1088 >> 8) & 0xff,
+			1088 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_L2_VTAG_PRESENT_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l2_ovv.en",
+		.description = "l2_hdr_error",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(261 >> 8) & 0xff,
-		261 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1095 >> 8) & 0xff,
+			1095 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l2_ivv.en",
+		.description = "l2_hdr_error",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(270 >> 8) & 0xff,
-		270 & 0xff,
-		(5 >> 8) & 0xff,
-		5 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(24 >> 8) & 0xff,
-	24 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1099 >> 8) & 0xff,
+			1099 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l2_ivv.en",
+		.description = "l2_hdr_valid",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(275 >> 8) & 0xff,
-		275 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(25 >> 8) & 0xff,
-	25 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1103 >> 8) & 0xff,
+			1103 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_L2_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l2_ivv.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(279 >> 8) & 0xff,
-		279 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tun_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1107 >> 8) & 0xff,
+			1107 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(187 >> 8) & 0xff,
+		187 & 0xff}
 		},
 	{
-		.description = "l2_etype.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(288 >> 8) & 0xff,
-		288 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tun_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1109 >> 8) & 0xff,
+			1109 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(188 >> 8) & 0xff,
+		188 & 0xff}
 		},
 	{
-		.description = "l3_sip.en",
+		.description = "tun_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1111 >> 8) & 0xff,
+			1111 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(189 >> 8) & 0xff,
+		189 & 0xff}
+		},
+	{
+		.description = "tun_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1113 >> 8) & 0xff,
+			1113 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(190 >> 8) & 0xff,
+		190 & 0xff}
+		},
+	{
+		.description = "tun_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1115 >> 8) & 0xff,
+			1115 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	{
+		.description = "tun_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1119 >> 8) & 0xff,
+			1119 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(192 >> 8) & 0xff,
+		192 & 0xff}
+		},
+	{
+		.description = "tun_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1121 >> 8) & 0xff,
+			1121 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_TUN_HDR_TYPE_GENEVE},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(193 >> 8) & 0xff,
+		193 & 0xff}
+		},
+	{
+		.description = "tun_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1123 >> 8) & 0xff,
+			1123 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_TUN_HDR_TYPE_GRE},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(194 >> 8) & 0xff,
+		194 & 0xff}
+		},
+	{
+		.description = "tun_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1125 >> 8) & 0xff,
+			1125 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_TUN_HDR_TYPE_UPAR1},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(195 >> 8) & 0xff,
+		195 & 0xff}
+		},
+	{
+		.description = "tun_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1127 >> 8) & 0xff,
+			1127 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_TUN_HDR_TYPE_UPAR2},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	{
+		.description = "tl4_hdr_is_udp_tcp",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(297 >> 8) & 0xff,
-		297 & 0xff,
-		(5 >> 8) & 0xff,
-		5 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(28 >> 8) & 0xff,
-	28 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1134 >> 8) & 0xff,
+			1134 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_sip.en",
+		.description = "tl4_hdr_is_udp_tcp",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(302 >> 8) & 0xff,
-		302 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(29 >> 8) & 0xff,
-	29 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1138 >> 8) & 0xff,
+			1138 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_TL4_HDR_IS_UDP_TCP_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_sip.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(306 >> 8) & 0xff,
-		306 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl4_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1142 >> 8) & 0xff,
+			1142 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_dip.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(315 >> 8) & 0xff,
-		315 & 0xff,
-		(5 >> 8) & 0xff,
-		5 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(31 >> 8) & 0xff,
-	31 & 0xff}
+		.description = "tl4_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1146 >> 8) & 0xff,
+			1146 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_TL4_HDR_TYPE_UDP},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_dip.en",
+		.description = "tl4_hdr_error",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(320 >> 8) & 0xff,
-		320 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(32 >> 8) & 0xff,
-	32 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1150 >> 8) & 0xff,
+			1150 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_dip.en",
+		.description = "tl4_hdr_error",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(324 >> 8) & 0xff,
-		324 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1154 >> 8) & 0xff,
+			1154 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_ttl.en",
+		.description = "tl4_hdr_valid",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(333 >> 8) & 0xff,
-		333 & 0xff,
-		(5 >> 8) & 0xff,
-		5 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(34 >> 8) & 0xff,
-	34 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1158 >> 8) & 0xff,
+			1158 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(203 >> 8) & 0xff,
+		203 & 0xff}
 		},
 	{
-		.description = "l3_ttl.en",
+		.description = "tl4_hdr_valid",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(338 >> 8) & 0xff,
-		338 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(35 >> 8) & 0xff,
-	35 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1160 >> 8) & 0xff,
+			1160 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ONES
 		},
 	{
-		.description = "l3_ttl.en",
+		.description = "tl4_hdr_valid",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(342 >> 8) & 0xff,
-		342 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1163 >> 8) & 0xff,
+			1163 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_TL4_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(205 >> 8) & 0xff,
+		205 & 0xff}
 		},
 	{
-		.description = "l3_prot.en",
+		.description = "tl4_hdr_valid",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(351 >> 8) & 0xff,
-		351 & 0xff,
-		(5 >> 8) & 0xff,
-		5 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(37 >> 8) & 0xff,
-	37 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1165 >> 8) & 0xff,
+			1165 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_prot.en",
+		.description = "tl3_hdr_isIP",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(356 >> 8) & 0xff,
-		356 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(38 >> 8) & 0xff,
-	38 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1168 >> 8) & 0xff,
+			1168 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_TL3_HDR_ISIP_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_prot.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(360 >> 8) & 0xff,
-		360 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl3_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1172 >> 8) & 0xff,
+			1172 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_qos.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(369 >> 8) & 0xff,
-		369 & 0xff,
-		(5 >> 8) & 0xff,
-		5 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(40 >> 8) & 0xff,
-	40 & 0xff}
+		.description = "tl3_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1176 >> 8) & 0xff,
+			1176 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_qos.en",
+		.description = "tl3_hdr_error",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(374 >> 8) & 0xff,
-		374 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(41 >> 8) & 0xff,
-	41 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1180 >> 8) & 0xff,
+			1180 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_qos.en",
+		.description = "tl3_hdr_error",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(378 >> 8) & 0xff,
-		378 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1184 >> 8) & 0xff,
+			1184 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l4_src.en",
+		.description = "tl3_hdr_valid",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-	.field_opr1 = {
-		(384 >> 8) & 0xff,
-		384 & 0xff,
-		(3 >> 8) & 0xff,
-		3 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1188 >> 8) & 0xff,
+			1188 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_TL3_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l4_src.en",
+		.description = "tl2_hdr_valid",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(387 >> 8) & 0xff,
-		387 & 0xff,
-		(1 >> 8) & 0xff,
-		1 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr2 = {
-	(44 >> 8) & 0xff,
-	44 & 0xff},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1200 >> 8) & 0xff,
+			1200 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_TL2_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l4_src.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-	.field_opr1 = {
-		(388 >> 8) & 0xff,
-		388 & 0xff,
-		(3 >> 8) & 0xff,
-		3 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "metadata",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1205 >> 8) & 0xff,
+			1205 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr2 = {
+		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l4_dst.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-	.field_opr1 = {
-		(393 >> 8) & 0xff,
-		393 & 0xff,
-		(3 >> 8) & 0xff,
-		3 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "meta",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1216 >> 8) & 0xff,
+			1216 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr2 = {
+		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l4_dst.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(396 >> 8) & 0xff,
-		396 & 0xff,
-		(1 >> 8) & 0xff,
-		1 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr2 = {
-	(47 >> 8) & 0xff,
-	47 & 0xff},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl2_ivv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1250 >> 8) & 0xff,
+			1250 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l4_dst.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-	.field_opr1 = {
-		(397 >> 8) & 0xff,
-		397 & 0xff,
-		(3 >> 8) & 0xff,
-		3 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "tl2_ivv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1260 >> 8) & 0xff,
+			1260 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	/* class_tid: 1, , table: control.profile_tcam_priority */
 	{
-	.description = "",
-	.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(403 >> 8) & 0xff,
-		403 & 0xff,
-		(2 >> 8) & 0xff,
-		2 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(49 >> 8) & 0xff,
-	49 & 0xff}
-	},
+		.description = "tl3.sip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1287 >> 8) & 0xff,
+			1287 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
 	{
-		.description = "",
-		.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(405 >> 8) & 0xff,
-		405 & 0xff,
-		(2 >> 8) & 0xff,
-		2 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(50 >> 8) & 0xff,
-	50 & 0xff}
+		.description = "tl3.sip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1292 >> 8) & 0xff,
+			1292 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "",
+		.description = "tl3.ttl",
 		.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(407 >> 8) & 0xff,
-		407 & 0xff,
-		(2 >> 8) & 0xff,
-		2 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(51 >> 8) & 0xff,
-	51 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1313 >> 8) & 0xff,
+			1313 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "",
+		.description = "tl3.ttl",
 		.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(409 >> 8) & 0xff,
-		409 & 0xff,
-		(2 >> 8) & 0xff,
-		2 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(52 >> 8) & 0xff,
-	52 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1321 >> 8) & 0xff,
+			1321 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "",
+		.description = "tl3.prot",
 		.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(411 >> 8) & 0xff,
-		411 & 0xff,
-		(2 >> 8) & 0xff,
-		2 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(53 >> 8) & 0xff,
-	53 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1329 >> 8) & 0xff,
+			1329 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "",
+		.description = "tl3.prot",
 		.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(413 >> 8) & 0xff,
-		413 & 0xff,
-		(2 >> 8) & 0xff,
-		2 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(54 >> 8) & 0xff,
-	54 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1337 >> 8) & 0xff,
+			1337 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "",
+		.description = "tl3.qos",
 		.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(415 >> 8) & 0xff,
-		415 & 0xff,
-		(2 >> 8) & 0xff,
-		2 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(55 >> 8) & 0xff,
-	55 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1345 >> 8) & 0xff,
+			1345 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "",
+		.description = "tl3.qos",
 		.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(417 >> 8) & 0xff,
-		417 & 0xff,
-		(2 >> 8) & 0xff,
-		2 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr3 = {
-	2}
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1353 >> 8) & 0xff,
+			1353 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l4_hdr_is_udp_tcp",
-		.field_bit_size = 1,
+		.description = "tl4.src",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(421 >> 8) & 0xff,
-			421 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(57 >> 8) & 0xff,
-		57 & 0xff}
+			(1361 >> 8) & 0xff,
+			1361 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l4_hdr_is_udp_tcp",
-		.field_bit_size = 1,
+		.description = "tl4.src",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(423 >> 8) & 0xff,
-			423 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(58 >> 8) & 0xff,
-		58 & 0xff}
+			(1369 >> 8) & 0xff,
+			1369 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l4_hdr_is_udp_tcp",
-		.field_bit_size = 1,
+		.description = "tl4.dst",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(425 >> 8) & 0xff,
-			425 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			(1378 >> 8) & 0xff,
+			1378 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l4_hdr_is_udp_tcp",
-		.field_bit_size = 1,
+		.description = "tl4.dst",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(429 >> 8) & 0xff,
-			429 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(1387 >> 8) & 0xff,
+			1387 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(60 >> 8) & 0xff,
-		60 & 0xff}
+		(BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l4_hdr_is_udp_tcp",
-		.field_bit_size = 1,
+		.description = "tids",
+		.field_bit_size = 24,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(431 >> 8) & 0xff,
-			431 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(1394 >> 8) & 0xff,
+			1394 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(61 >> 8) & 0xff,
-		61 & 0xff}
+		(BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l4_hdr_is_udp_tcp",
-		.field_bit_size = 1,
+		.description = "tids",
+		.field_bit_size = 24,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(433 >> 8) & 0xff,
-			433 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(1400 >> 8) & 0xff,
+			1400 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		(BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l4_hdr_type",
-		.field_bit_size = 4,
+		.description = "l2_dmac",
+		.field_bit_size = 48,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(437 >> 8) & 0xff,
-			437 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(63 >> 8) & 0xff,
-		63 & 0xff}
+			(1407 >> 8) & 0xff,
+			1407 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l4_hdr_type",
-		.field_bit_size = 4,
+		.description = "l2_dmac",
+		.field_bit_size = 48,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(439 >> 8) & 0xff,
-			439 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(64 >> 8) & 0xff,
-		64 & 0xff}
+			(1414 >> 8) & 0xff,
+			1414 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l4_hdr_type",
-		.field_bit_size = 4,
+		.description = "l2_smac",
+		.field_bit_size = 48,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(441 >> 8) & 0xff,
-			441 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			(1421 >> 8) & 0xff,
+			1421 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l4_hdr_type",
-		.field_bit_size = 4,
+		.description = "l2_smac",
+		.field_bit_size = 48,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(445 >> 8) & 0xff,
-			445 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+			(1428 >> 8) & 0xff,
+			1428 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	{
+		.description = "l2_ovv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1436 >> 8) & 0xff,
+			1436 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	{
+		.description = "l2_ovv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1445 >> 8) & 0xff,
+			1445 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	{
+		.description = "l2_ivv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1454 >> 8) & 0xff,
+			1454 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(66 >> 8) & 0xff,
-		66 & 0xff}
+		(238 >> 8) & 0xff,
+		238 & 0xff}
 		},
 	{
-		.description = "l4_hdr_type",
-		.field_bit_size = 4,
+		.description = "l2_ivv",
+		.field_bit_size = 12,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(447 >> 8) & 0xff,
-			447 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(1459 >> 8) & 0xff,
+			1459 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR_SYM_L4_HDR_TYPE_UDP},
+		(BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(67 >> 8) & 0xff,
-		67 & 0xff}
+		(239 >> 8) & 0xff,
+		239 & 0xff}
 		},
 	{
-		.description = "l4_hdr_type",
-		.field_bit_size = 4,
+		.description = "l2_ivv",
+		.field_bit_size = 12,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(449 >> 8) & 0xff,
-			449 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(1463 >> 8) & 0xff,
+			1463 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR_SYM_L4_HDR_TYPE_UDP},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		(BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l4_hdr_error",
-		.field_bit_size = 1,
+		.description = "l2_ivv",
+		.field_bit_size = 12,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(453 >> 8) & 0xff,
-			453 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+			(1472 >> 8) & 0xff,
+			1472 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(69 >> 8) & 0xff,
-		69 & 0xff}
+		(241 >> 8) & 0xff,
+		241 & 0xff}
 		},
 	{
-		.description = "l4_hdr_error",
-		.field_bit_size = 1,
+		.description = "l2_ivv",
+		.field_bit_size = 12,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(455 >> 8) & 0xff,
-			455 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+			(1477 >> 8) & 0xff,
+			1477 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(70 >> 8) & 0xff,
-		70 & 0xff}
+		(242 >> 8) & 0xff,
+		242 & 0xff}
 		},
 	{
-		.description = "l4_hdr_error",
-		.field_bit_size = 1,
+		.description = "l2_ivv",
+		.field_bit_size = 12,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(457 >> 8) & 0xff,
-			457 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			(1481 >> 8) & 0xff,
+			1481 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l4_hdr_error",
-		.field_bit_size = 1,
+		.description = "l2_etype",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(461 >> 8) & 0xff,
-			461 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(72 >> 8) & 0xff,
-		72 & 0xff}
+			(1490 >> 8) & 0xff,
+			1490 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l4_hdr_error",
-		.field_bit_size = 1,
+		.description = "l2_etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1499 >> 8) & 0xff,
+			1499 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	{
+		.description = "l3.sip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1507 >> 8) & 0xff,
+			1507 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	{
+		.description = "l3.sip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1514 >> 8) & 0xff,
+			1514 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	{
+		.description = "l3.sip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1521 >> 8) & 0xff,
+			1521 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	{
+		.description = "l3.sip.ipv6",
+		.field_bit_size = 128,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(463 >> 8) & 0xff,
-			463 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(73 >> 8) & 0xff,
-		73 & 0xff}
+			(1528 >> 8) & 0xff,
+			1528 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l4_hdr_error",
-		.field_bit_size = 1,
+		.description = "l3.dip.ipv4",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(465 >> 8) & 0xff,
-			465 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			(1535 >> 8) & 0xff,
+			1535 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l4_hdr_valid",
-		.field_bit_size = 1,
+		.description = "l3.dip.ipv4",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(469 >> 8) & 0xff,
-			469 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(75 >> 8) & 0xff,
-		75 & 0xff}
+			(1542 >> 8) & 0xff,
+			1542 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l4_hdr_valid",
-		.field_bit_size = 1,
+		.description = "l3.dip.ipv6",
+		.field_bit_size = 128,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(471 >> 8) & 0xff,
-			471 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(76 >> 8) & 0xff,
-		76 & 0xff}
+			(1549 >> 8) & 0xff,
+			1549 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l4_hdr_valid",
-		.field_bit_size = 1,
+		.description = "l3.dip.ipv6",
+		.field_bit_size = 128,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(473 >> 8) & 0xff,
-			473 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			(1556 >> 8) & 0xff,
+			1556 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l4_hdr_valid",
-		.field_bit_size = 1,
+		.description = "l3.ttl",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(477 >> 8) & 0xff,
-			477 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(1563 >> 8) & 0xff,
+			1563 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR_SYM_L4_HDR_VALID_YES},
+		(BNXT_ULP_GLB_HF_ID_I_IPV4_TTL >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(78 >> 8) & 0xff,
-		78 & 0xff}
+		(254 >> 8) & 0xff,
+		254 & 0xff}
 		},
 	{
-		.description = "l4_hdr_valid",
-		.field_bit_size = 1,
+		.description = "l3.ttl",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(479 >> 8) & 0xff,
-			479 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(1567 >> 8) & 0xff,
+			1567 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR_SYM_L4_HDR_VALID_YES},
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(79 >> 8) & 0xff,
-		79 & 0xff}
+		(255 >> 8) & 0xff,
+		255 & 0xff}
 		},
 	{
-		.description = "l4_hdr_valid",
-		.field_bit_size = 1,
+		.description = "l3.ttl",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(481 >> 8) & 0xff,
-			481 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(1570 >> 8) & 0xff,
+			1570 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR_SYM_L4_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l3_hdr_isIP",
-		.field_bit_size = 1,
+		.description = "l3.ttl",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(485 >> 8) & 0xff,
-			485 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(1577 >> 8) & 0xff,
+			1577 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR_SYM_L3_HDR_ISIP_YES},
+		(BNXT_ULP_GLB_HF_ID_I_IPV4_TTL >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(81 >> 8) & 0xff,
-		81 & 0xff}
+		(257 >> 8) & 0xff,
+		257 & 0xff}
 		},
 	{
-		.description = "l3_hdr_isIP",
-		.field_bit_size = 1,
+		.description = "l3.ttl",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(487 >> 8) & 0xff,
-			487 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(1581 >> 8) & 0xff,
+			1581 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR_SYM_L3_HDR_ISIP_YES},
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(82 >> 8) & 0xff,
-		82 & 0xff}
+		(258 >> 8) & 0xff,
+		258 & 0xff}
 		},
 	{
-		.description = "l3_hdr_isIP",
-		.field_bit_size = 1,
+		.description = "l3.ttl",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(489 >> 8) & 0xff,
-			489 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(1584 >> 8) & 0xff,
+			1584 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR_SYM_L3_HDR_ISIP_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l3_hdr_type",
-		.field_bit_size = 4,
+		.description = "l3.prot",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(493 >> 8) & 0xff,
-			493 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1590 >> 8) & 0xff,
+			1590 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(84 >> 8) & 0xff,
-		84 & 0xff}
+		(260 >> 8) & 0xff,
+		260 & 0xff}
 		},
 	{
-		.description = "l3_hdr_type",
-		.field_bit_size = 4,
+		.description = "l3.prot",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(495 >> 8) & 0xff,
-			495 & 0xff,
+			(1593 >> 8) & 0xff,
+			1593 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(85 >> 8) & 0xff,
-		85 & 0xff}
+		(261 >> 8) & 0xff,
+		261 & 0xff}
 		},
 	{
-		.description = "l3_hdr_type",
-		.field_bit_size = 4,
+		.description = "l3.prot",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(497 >> 8) & 0xff,
-			497 & 0xff,
+			(1595 >> 8) & 0xff,
+			1595 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(262 >> 8) & 0xff,
+		262 & 0xff}
 		},
 	{
-		.description = "l3_hdr_type",
-		.field_bit_size = 4,
+		.description = "l3.prot",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(501 >> 8) & 0xff,
-			501 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(1597 >> 8) & 0xff,
+			1597 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR_SYM_L3_HDR_TYPE_IPV6},
+		(BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(87 >> 8) & 0xff,
-		87 & 0xff}
+		(263 >> 8) & 0xff,
+		263 & 0xff}
 		},
 	{
-		.description = "l3_hdr_type",
-		.field_bit_size = 4,
+		.description = "l3.prot",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(503 >> 8) & 0xff,
-			503 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+			(1601 >> 8) & 0xff,
+			1601 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(88 >> 8) & 0xff,
-		88 & 0xff}
+		(264 >> 8) & 0xff,
+		264 & 0xff}
 		},
 	{
-		.description = "l3_hdr_type",
-		.field_bit_size = 4,
+		.description = "l3.prot",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(505 >> 8) & 0xff,
-			505 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			(1605 >> 8) & 0xff,
+			1605 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(265 >> 8) & 0xff,
+		265 & 0xff}
 		},
 	{
-		.description = "l3_hdr_error",
-		.field_bit_size = 1,
+		.description = "l3.prot",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(509 >> 8) & 0xff,
-			509 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+			(1608 >> 8) & 0xff,
+			1608 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	{
+		.description = "l3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1614 >> 8) & 0xff,
+			1614 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_IP_PROTO_UDP},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(90 >> 8) & 0xff,
-		90 & 0xff}
+		(267 >> 8) & 0xff,
+		267 & 0xff}
 		},
 	{
-		.description = "l3_hdr_error",
-		.field_bit_size = 1,
+		.description = "l3.prot",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(511 >> 8) & 0xff,
-			511 & 0xff,
+			(1617 >> 8) & 0xff,
+			1617 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_IP_PROTO_TCP},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(91 >> 8) & 0xff,
-		91 & 0xff}
+		(268 >> 8) & 0xff,
+		268 & 0xff}
 		},
 	{
-		.description = "l3_hdr_error",
-		.field_bit_size = 1,
+		.description = "l3.prot",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(513 >> 8) & 0xff,
-			513 & 0xff,
+			(1619 >> 8) & 0xff,
+			1619 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR_SYM_IP_PROTO_UDP},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(269 >> 8) & 0xff,
+		269 & 0xff}
 		},
 	{
-		.description = "l3_hdr_error",
-		.field_bit_size = 1,
+		.description = "l3.prot",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(517 >> 8) & 0xff,
-			517 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+			(1621 >> 8) & 0xff,
+			1621 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(93 >> 8) & 0xff,
-		93 & 0xff}
+		(270 >> 8) & 0xff,
+		270 & 0xff}
 		},
 	{
-		.description = "l3_hdr_error",
-		.field_bit_size = 1,
+		.description = "l3.prot",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(519 >> 8) & 0xff,
-			519 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+			(1625 >> 8) & 0xff,
+			1625 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(94 >> 8) & 0xff,
-		94 & 0xff}
+		(271 >> 8) & 0xff,
+		271 & 0xff}
 		},
 	{
-		.description = "l3_hdr_error",
-		.field_bit_size = 1,
+		.description = "l3.prot",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(521 >> 8) & 0xff,
-			521 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			(1629 >> 8) & 0xff,
+			1629 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(272 >> 8) & 0xff,
+		272 & 0xff}
 		},
 	{
-		.description = "l3_hdr_valid",
-		.field_bit_size = 1,
+		.description = "l3.prot",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(525 >> 8) & 0xff,
-			525 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+			(1632 >> 8) & 0xff,
+			1632 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	{
+		.description = "l3.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1639 >> 8) & 0xff,
+			1639 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_IPV4_QOS >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(96 >> 8) & 0xff,
-		96 & 0xff}
+		(274 >> 8) & 0xff,
+		274 & 0xff}
 		},
 	{
-		.description = "l3_hdr_valid",
-		.field_bit_size = 1,
+		.description = "l3.qos",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(527 >> 8) & 0xff,
-			527 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+			(1643 >> 8) & 0xff,
+			1643 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(97 >> 8) & 0xff,
-		97 & 0xff}
+		(275 >> 8) & 0xff,
+		275 & 0xff}
 		},
 	{
-		.description = "l3_hdr_valid",
-		.field_bit_size = 1,
+		.description = "l3.qos",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(529 >> 8) & 0xff,
-			529 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			(1646 >> 8) & 0xff,
+			1646 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l3_hdr_valid",
-		.field_bit_size = 1,
+		.description = "l3.qos",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(533 >> 8) & 0xff,
-			533 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(1653 >> 8) & 0xff,
+			1653 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR_SYM_L3_HDR_VALID_YES},
+		(BNXT_ULP_GLB_HF_ID_I_IPV4_QOS >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(99 >> 8) & 0xff,
-		99 & 0xff}
+		(277 >> 8) & 0xff,
+		277 & 0xff}
 		},
 	{
-		.description = "l3_hdr_valid",
-		.field_bit_size = 1,
+		.description = "l3.qos",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(535 >> 8) & 0xff,
-			535 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(1657 >> 8) & 0xff,
+			1657 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR_SYM_L3_HDR_VALID_YES},
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(100 >> 8) & 0xff,
-		100 & 0xff}
+		(278 >> 8) & 0xff,
+		278 & 0xff}
 		},
 	{
-		.description = "l3_hdr_valid",
-		.field_bit_size = 1,
+		.description = "l3.qos",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(537 >> 8) & 0xff,
-			537 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(1660 >> 8) & 0xff,
+			1660 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	{
+		.description = "l4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1667 >> 8) & 0xff,
+			1667 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR_SYM_L3_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		(BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(280 >> 8) & 0xff,
+		280 & 0xff}
 		},
 	{
-		.description = "l2_two_vtags",
-		.field_bit_size = 1,
+		.description = "l4.src",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(542 >> 8) & 0xff,
-			542 & 0xff,
+			(1671 >> 8) & 0xff,
+			1671 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR_SYM_L2_TWO_VTAGS_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(281 >> 8) & 0xff,
+		281 & 0xff}
 		},
 	{
-		.description = "l2_vtag_present",
-		.field_bit_size = 1,
+		.description = "l4.src",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(548 >> 8) & 0xff,
-			548 & 0xff,
+			(1674 >> 8) & 0xff,
+			1674 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR_SYM_L2_VTAG_PRESENT_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		(BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(282 >> 8) & 0xff,
+		282 & 0xff}
 		},
 	{
-		.description = "l2_hdr_error",
-		.field_bit_size = 1,
+		.description = "l4.src",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 		.field_opr1 = {
-			(555 >> 8) & 0xff,
-			555 & 0xff,
+			(1677 >> 8) & 0xff,
+			1677 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src2 = BNXT_ULP_FIELD_SRC_SKIP,
+		.field_src3 = BNXT_ULP_FIELD_SRC_CONST
 		},
 	{
-		.description = "l2_hdr_error",
-		.field_bit_size = 1,
+		.description = "l4.src",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(559 >> 8) & 0xff,
-			559 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			(1683 >> 8) & 0xff,
+			1683 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(284 >> 8) & 0xff,
+		284 & 0xff}
 		},
 	{
-		.description = "l2_hdr_valid",
-		.field_bit_size = 1,
+		.description = "l4.src",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(563 >> 8) & 0xff,
-			563 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(1687 >> 8) & 0xff,
+			1687 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR_SYM_L2_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(285 >> 8) & 0xff,
+		285 & 0xff}
 		},
 	{
-		.description = "tun_hdr_type",
-		.field_bit_size = 4,
+		.description = "l4.src",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(567 >> 8) & 0xff,
-			567 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+			(1690 >> 8) & 0xff,
+			1690 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(107 >> 8) & 0xff,
-		107 & 0xff}
+		(286 >> 8) & 0xff,
+		286 & 0xff}
 		},
 	{
-		.description = "tun_hdr_type",
-		.field_bit_size = 4,
+		.description = "l4.src",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 		.field_opr1 = {
-			(569 >> 8) & 0xff,
-			569 & 0xff,
+			(1693 >> 8) & 0xff,
+			1693 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(108 >> 8) & 0xff,
-		108 & 0xff}
+		.field_src2 = BNXT_ULP_FIELD_SRC_SKIP,
+		.field_src3 = BNXT_ULP_FIELD_SRC_CONST
 		},
 	{
-		.description = "tun_hdr_type",
-		.field_bit_size = 4,
+		.description = "l4.dst",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(571 >> 8) & 0xff,
-			571 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+			(1699 >> 8) & 0xff,
+			1699 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(109 >> 8) & 0xff,
-		109 & 0xff}
+		(288 >> 8) & 0xff,
+		288 & 0xff}
 		},
 	{
-		.description = "tun_hdr_type",
-		.field_bit_size = 4,
+		.description = "l4.dst",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(573 >> 8) & 0xff,
-			573 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+			(1703 >> 8) & 0xff,
+			1703 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(110 >> 8) & 0xff,
-		110 & 0xff}
+		(289 >> 8) & 0xff,
+		289 & 0xff}
 		},
 	{
-		.description = "tun_hdr_type",
-		.field_bit_size = 4,
+		.description = "l4.dst",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(575 >> 8) & 0xff,
-			575 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			(1706 >> 8) & 0xff,
+			1706 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(290 >> 8) & 0xff,
+		290 & 0xff}
 		},
 	{
-		.description = "tun_hdr_type",
-		.field_bit_size = 4,
+		.description = "l4.dst",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 		.field_opr1 = {
-			(579 >> 8) & 0xff,
-			579 & 0xff,
+			(1709 >> 8) & 0xff,
+			1709 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(112 >> 8) & 0xff,
-		112 & 0xff}
+		.field_src2 = BNXT_ULP_FIELD_SRC_SKIP,
+		.field_src3 = BNXT_ULP_FIELD_SRC_CONST
 		},
 	{
-		.description = "tun_hdr_type",
-		.field_bit_size = 4,
+		.description = "l4.dst",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(581 >> 8) & 0xff,
-			581 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(1715 >> 8) & 0xff,
+			1715 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR_SYM_TUN_HDR_TYPE_GENEVE},
+		(BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(113 >> 8) & 0xff,
-		113 & 0xff}
+		(292 >> 8) & 0xff,
+		292 & 0xff}
 		},
 	{
-		.description = "tun_hdr_type",
-		.field_bit_size = 4,
+		.description = "l4.dst",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(583 >> 8) & 0xff,
-			583 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(1719 >> 8) & 0xff,
+			1719 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR_SYM_TUN_HDR_TYPE_GRE},
+		(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(114 >> 8) & 0xff,
-		114 & 0xff}
+		(293 >> 8) & 0xff,
+		293 & 0xff}
 		},
 	{
-		.description = "tun_hdr_type",
-		.field_bit_size = 4,
+		.description = "l4.dst",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(585 >> 8) & 0xff,
-			585 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(1722 >> 8) & 0xff,
+			1722 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR_SYM_TUN_HDR_TYPE_UPAR1},
+		(BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(115 >> 8) & 0xff,
-		115 & 0xff}
+		(294 >> 8) & 0xff,
+		294 & 0xff}
 		},
 	{
-		.description = "tun_hdr_type",
-		.field_bit_size = 4,
+		.description = "l4.dst",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 		.field_opr1 = {
-			(587 >> 8) & 0xff,
-			587 & 0xff,
+			(1725 >> 8) & 0xff,
+			1725 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_TUN_HDR_TYPE_UPAR2},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src2 = BNXT_ULP_FIELD_SRC_SKIP,
+		.field_src3 = BNXT_ULP_FIELD_SRC_CONST
+		},
+	{
+		.description = "tl2_ivv.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1759 >> 8) & 0xff,
+		1759 & 0xff,
+		(5 >> 8) & 0xff,
+		5 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	{
+		.description = "tl3_sip.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1773 >> 8) & 0xff,
+		1773 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	{
+		.description = "tl3_dip.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1781 >> 8) & 0xff,
+		1781 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	{
+		.description = "tl3_ttl.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1789 >> 8) & 0xff,
+		1789 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	{
+		.description = "tl3_prot.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1797 >> 8) & 0xff,
+		1797 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	{
+		.description = "tl3_qos.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1805 >> 8) & 0xff,
+		1805 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	{
+		.description = "tl4_src.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1813 >> 8) & 0xff,
+		1813 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	{
+		.description = "tl4_dst.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1822 >> 8) & 0xff,
+		1822 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	{
+		.description = "tids.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1829 >> 8) & 0xff,
+		1829 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	{
+		.description = "l2_dmac.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1837 >> 8) & 0xff,
+		1837 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	{
+		.description = "l2_smac.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1845 >> 8) & 0xff,
+		1845 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	{
+		.description = "l2_ovv.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1853 >> 8) & 0xff,
+		1853 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	{
+		.description = "l2_ivv.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1862 >> 8) & 0xff,
+		1862 & 0xff,
+		(5 >> 8) & 0xff,
+		5 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(308 >> 8) & 0xff,
+	308 & 0xff}
+		},
+	{
+		.description = "l2_ivv.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1867 >> 8) & 0xff,
+		1867 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(309 >> 8) & 0xff,
+	309 & 0xff}
+		},
+	{
+		.description = "l2_ivv.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1871 >> 8) & 0xff,
+		1871 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	{
+		.description = "l2_etype.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1880 >> 8) & 0xff,
+		1880 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	{
+		.description = "l3_sip.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1888 >> 8) & 0xff,
+		1888 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(312 >> 8) & 0xff,
+	312 & 0xff}
+		},
+	{
+		.description = "l3_sip.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1892 >> 8) & 0xff,
+		1892 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(313 >> 8) & 0xff,
+	313 & 0xff}
+		},
+	{
+		.description = "l3_sip.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1895 >> 8) & 0xff,
+		1895 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	{
+		.description = "l3_dip.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1902 >> 8) & 0xff,
+		1902 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(315 >> 8) & 0xff,
+	315 & 0xff}
 		},
 	{
-		.description = "tl4_hdr_is_udp_tcp",
+		.description = "l3_dip.en",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(594 >> 8) & 0xff,
-			594 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1906 >> 8) & 0xff,
+		1906 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(316 >> 8) & 0xff,
+	316 & 0xff}
 		},
 	{
-		.description = "tl4_hdr_is_udp_tcp",
+		.description = "l3_dip.en",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(598 >> 8) & 0xff,
-			598 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_TL4_HDR_IS_UDP_TCP_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1909 >> 8) & 0xff,
+		1909 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "tl4_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(602 >> 8) & 0xff,
-			602 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3_ttl.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1916 >> 8) & 0xff,
+		1916 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(318 >> 8) & 0xff,
+	318 & 0xff}
 		},
 	{
-		.description = "tl4_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(606 >> 8) & 0xff,
-			606 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_TL4_HDR_TYPE_UDP},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3_ttl.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1920 >> 8) & 0xff,
+		1920 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(319 >> 8) & 0xff,
+	319 & 0xff}
 		},
 	{
-		.description = "tl4_hdr_error",
+		.description = "l3_ttl.en",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(610 >> 8) & 0xff,
-			610 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1923 >> 8) & 0xff,
+		1923 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "tl4_hdr_error",
+		.description = "l3_prot.en",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(614 >> 8) & 0xff,
-			614 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1930 >> 8) & 0xff,
+		1930 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(321 >> 8) & 0xff,
+	321 & 0xff}
 		},
 	{
-		.description = "tl4_hdr_valid",
+		.description = "l3_prot.en",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(618 >> 8) & 0xff,
-			618 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(123 >> 8) & 0xff,
-		123 & 0xff}
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1934 >> 8) & 0xff,
+		1934 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(322 >> 8) & 0xff,
+	322 & 0xff}
 		},
 	{
-		.description = "tl4_hdr_valid",
+		.description = "l3_prot.en",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(620 >> 8) & 0xff,
-			620 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ONES
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1937 >> 8) & 0xff,
+		1937 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "tl4_hdr_valid",
+		.description = "l3_qos.en",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(623 >> 8) & 0xff,
-			623 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_TL4_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(125 >> 8) & 0xff,
-		125 & 0xff}
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1944 >> 8) & 0xff,
+		1944 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(324 >> 8) & 0xff,
+	324 & 0xff}
 		},
 	{
-		.description = "tl4_hdr_valid",
+		.description = "l3_qos.en",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(625 >> 8) & 0xff,
-			625 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1948 >> 8) & 0xff,
+		1948 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(325 >> 8) & 0xff,
+	325 & 0xff}
 		},
 	{
-		.description = "tl3_hdr_isIP",
+		.description = "l3_qos.en",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(628 >> 8) & 0xff,
-			628 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_TL3_HDR_ISIP_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1951 >> 8) & 0xff,
+		1951 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "tl3_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(632 >> 8) & 0xff,
-			632 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4_src.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1958 >> 8) & 0xff,
+		1958 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(327 >> 8) & 0xff,
+	327 & 0xff}
 		},
 	{
-		.description = "tl3_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(636 >> 8) & 0xff,
-			636 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4_src.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1962 >> 8) & 0xff,
+		1962 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(328 >> 8) & 0xff,
+	328 & 0xff}
 		},
 	{
-		.description = "tl3_hdr_error",
+		.description = "l4_src.en",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(640 >> 8) & 0xff,
-			640 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1965 >> 8) & 0xff,
+		1965 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "tl3_hdr_error",
+		.description = "l4_dst.en",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(644 >> 8) & 0xff,
-			644 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1972 >> 8) & 0xff,
+		1972 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(330 >> 8) & 0xff,
+	330 & 0xff}
 		},
 	{
-		.description = "tl3_hdr_valid",
+		.description = "l4_dst.en",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(648 >> 8) & 0xff,
-			648 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_TL3_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1976 >> 8) & 0xff,
+		1976 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(331 >> 8) & 0xff,
+	331 & 0xff}
 		},
 	{
-		.description = "tl2_hdr_valid",
+		.description = "l4_dst.en",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(660 >> 8) & 0xff,
-			660 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_TL2_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1979 >> 8) & 0xff,
+		1979 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
 		.description = "tl2_ivv",
@@ -37975,14 +51408,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(705 >> 8) & 0xff,
-			705 & 0xff,
+			(2025 >> 8) & 0xff,
+			2025 & 0xff,
 			(5 >> 8) & 0xff,
 			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -37991,8 +51421,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(715 >> 8) & 0xff,
-			715 & 0xff,
+			(2035 >> 8) & 0xff,
+			2035 & 0xff,
 			(5 >> 8) & 0xff,
 			5 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -38001,52 +51431,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
-	{
-		.description = "tl3.sip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(742 >> 8) & 0xff,
-			742 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
-		},
-	{
-		.description = "tl3.sip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(747 >> 8) & 0xff,
-			747 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
-		},
 	{
 		.description = "tl3.ttl",
 		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(768 >> 8) & 0xff,
-			768 & 0xff,
+			(2086 >> 8) & 0xff,
+			2086 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -38055,8 +51450,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(776 >> 8) & 0xff,
-			776 & 0xff,
+			(2094 >> 8) & 0xff,
+			2094 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -38071,14 +51466,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(784 >> 8) & 0xff,
-			784 & 0xff,
+			(2102 >> 8) & 0xff,
+			2102 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -38087,8 +51479,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(792 >> 8) & 0xff,
-			792 & 0xff,
+			(2110 >> 8) & 0xff,
+			2110 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -38103,14 +51495,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(800 >> 8) & 0xff,
-			800 & 0xff,
+			(2118 >> 8) & 0xff,
+			2118 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -38119,8 +51508,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(808 >> 8) & 0xff,
-			808 & 0xff,
+			(2126 >> 8) & 0xff,
+			2126 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -38135,14 +51524,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(816 >> 8) & 0xff,
-			816 & 0xff,
+			(2134 >> 8) & 0xff,
+			2134 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -38151,8 +51537,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(824 >> 8) & 0xff,
-			824 & 0xff,
+			(2142 >> 8) & 0xff,
+			2142 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -38167,14 +51553,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(833 >> 8) & 0xff,
-			833 & 0xff,
+			(2151 >> 8) & 0xff,
+			2151 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -38183,8 +51566,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(842 >> 8) & 0xff,
-			842 & 0xff,
+			(2160 >> 8) & 0xff,
+			2160 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -38199,14 +51582,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(849 >> 8) & 0xff,
-			849 & 0xff,
+			(2167 >> 8) & 0xff,
+			2167 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -38215,8 +51595,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(855 >> 8) & 0xff,
-			855 & 0xff,
+			(2173 >> 8) & 0xff,
+			2173 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -38231,14 +51611,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(862 >> 8) & 0xff,
-			862 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
+			(2181 >> 8) & 0xff,
+			2181 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -38247,10 +51624,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(869 >> 8) & 0xff,
-			869 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
+			(2190 >> 8) & 0xff,
+			2190 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
 		(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
@@ -38263,14 +51640,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(876 >> 8) & 0xff,
-			876 & 0xff,
+			(2198 >> 8) & 0xff,
+			2198 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -38279,8 +51653,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(883 >> 8) & 0xff,
-			883 & 0xff,
+			(2205 >> 8) & 0xff,
+			2205 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -38295,14 +51669,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(891 >> 8) & 0xff,
-			891 & 0xff,
+			(2213 >> 8) & 0xff,
+			2213 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -38311,8 +51682,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(900 >> 8) & 0xff,
-			900 & 0xff,
+			(2222 >> 8) & 0xff,
+			2222 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -38327,18 +51698,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(909 >> 8) & 0xff,
-			909 & 0xff,
+			(2231 >> 8) & 0xff,
+			2231 & 0xff,
 			(5 >> 8) & 0xff,
 			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(156 >> 8) & 0xff,
-		156 & 0xff}
+		(353 >> 8) & 0xff,
+		353 & 0xff}
 		},
 	{
 		.description = "l2_ivv",
@@ -38346,18 +51714,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(914 >> 8) & 0xff,
-			914 & 0xff,
+			(2236 >> 8) & 0xff,
+			2236 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(157 >> 8) & 0xff,
-		157 & 0xff}
+		(354 >> 8) & 0xff,
+		354 & 0xff}
 		},
 	{
 		.description = "l2_ivv",
@@ -38365,14 +51730,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(918 >> 8) & 0xff,
-			918 & 0xff,
+			(2240 >> 8) & 0xff,
+			2240 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -38381,8 +51743,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(927 >> 8) & 0xff,
-			927 & 0xff,
+			(2249 >> 8) & 0xff,
+			2249 & 0xff,
 			(5 >> 8) & 0xff,
 			5 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -38391,8 +51753,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(159 >> 8) & 0xff,
-		159 & 0xff}
+		(356 >> 8) & 0xff,
+		356 & 0xff}
 		},
 	{
 		.description = "l2_ivv",
@@ -38400,8 +51762,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(932 >> 8) & 0xff,
-			932 & 0xff,
+			(2254 >> 8) & 0xff,
+			2254 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -38410,8 +51772,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(160 >> 8) & 0xff,
-		160 & 0xff}
+		(357 >> 8) & 0xff,
+		357 & 0xff}
 		},
 	{
 		.description = "l2_ivv",
@@ -38419,8 +51781,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(936 >> 8) & 0xff,
-			936 & 0xff,
+			(2258 >> 8) & 0xff,
+			2258 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -38435,14 +51797,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(945 >> 8) & 0xff,
-			945 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff},
+			(2267 >> 8) & 0xff,
+			2267 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -38451,8 +51810,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(954 >> 8) & 0xff,
-			954 & 0xff,
+			(2276 >> 8) & 0xff,
+			2276 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -38467,14 +51826,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(962 >> 8) & 0xff,
-			962 & 0xff,
+			(2284 >> 8) & 0xff,
+			2284 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -38483,8 +51839,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(969 >> 8) & 0xff,
-			969 & 0xff,
+			(2291 >> 8) & 0xff,
+			2291 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -38499,14 +51855,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(976 >> 8) & 0xff,
-			976 & 0xff,
+			(2298 >> 8) & 0xff,
+			2298 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -38515,8 +51868,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(983 >> 8) & 0xff,
-			983 & 0xff,
+			(2305 >> 8) & 0xff,
+			2305 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -38531,14 +51884,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(990 >> 8) & 0xff,
-			990 & 0xff,
+			(2312 >> 8) & 0xff,
+			2312 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -38547,8 +51897,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(997 >> 8) & 0xff,
-			997 & 0xff,
+			(2319 >> 8) & 0xff,
+			2319 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -38563,14 +51913,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1004 >> 8) & 0xff,
-			1004 & 0xff,
+			(2326 >> 8) & 0xff,
+			2326 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -38579,8 +51926,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1011 >> 8) & 0xff,
-			1011 & 0xff,
+			(2333 >> 8) & 0xff,
+			2333 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -38595,18 +51942,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1018 >> 8) & 0xff,
-			1018 & 0xff,
+			(2340 >> 8) & 0xff,
+			2340 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV4_TTL >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(172 >> 8) & 0xff,
-		172 & 0xff}
+		(369 >> 8) & 0xff,
+		369 & 0xff}
 		},
 	{
 		.description = "l3.ttl",
@@ -38614,18 +51958,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1022 >> 8) & 0xff,
-			1022 & 0xff,
+			(2344 >> 8) & 0xff,
+			2344 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(173 >> 8) & 0xff,
-		173 & 0xff}
+		(370 >> 8) & 0xff,
+		370 & 0xff}
 		},
 	{
 		.description = "l3.ttl",
@@ -38633,14 +51974,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1025 >> 8) & 0xff,
-			1025 & 0xff,
+			(2347 >> 8) & 0xff,
+			2347 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -38649,8 +51987,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1032 >> 8) & 0xff,
-			1032 & 0xff,
+			(2354 >> 8) & 0xff,
+			2354 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -38659,8 +51997,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(175 >> 8) & 0xff,
-		175 & 0xff}
+		(372 >> 8) & 0xff,
+		372 & 0xff}
 		},
 	{
 		.description = "l3.ttl",
@@ -38668,8 +52006,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1036 >> 8) & 0xff,
-			1036 & 0xff,
+			(2358 >> 8) & 0xff,
+			2358 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -38678,8 +52016,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(176 >> 8) & 0xff,
-		176 & 0xff}
+		(373 >> 8) & 0xff,
+		373 & 0xff}
 		},
 	{
 		.description = "l3.ttl",
@@ -38687,8 +52025,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1039 >> 8) & 0xff,
-			1039 & 0xff,
+			(2361 >> 8) & 0xff,
+			2361 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -38703,85 +52041,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1045 >> 8) & 0xff,
-			1045 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(178 >> 8) & 0xff,
-		178 & 0xff}
-		},
-	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1048 >> 8) & 0xff,
-			1048 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(179 >> 8) & 0xff,
-		179 & 0xff}
-		},
-	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1050 >> 8) & 0xff,
-			1050 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(180 >> 8) & 0xff,
-		180 & 0xff}
-		},
-	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1052 >> 8) & 0xff,
-			1052 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(181 >> 8) & 0xff,
-		181 & 0xff}
-		},
-	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1056 >> 8) & 0xff,
-			1056 & 0xff,
+			(2368 >> 8) & 0xff,
+			2368 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(182 >> 8) & 0xff,
-		182 & 0xff}
+		(375 >> 8) & 0xff,
+		375 & 0xff}
 		},
 	{
 		.description = "l3.prot",
@@ -38789,18 +52057,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1060 >> 8) & 0xff,
-			1060 & 0xff,
+			(2372 >> 8) & 0xff,
+			2372 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(183 >> 8) & 0xff,
-		183 & 0xff}
+		(376 >> 8) & 0xff,
+		376 & 0xff}
 		},
 	{
 		.description = "l3.prot",
@@ -38808,14 +52073,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1063 >> 8) & 0xff,
-			1063 & 0xff,
+			(2375 >> 8) & 0xff,
+			2375 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -38824,81 +52086,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1069 >> 8) & 0xff,
-			1069 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_IP_PROTO_UDP},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(185 >> 8) & 0xff,
-		185 & 0xff}
-		},
-	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1072 >> 8) & 0xff,
-			1072 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_IP_PROTO_TCP},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(186 >> 8) & 0xff,
-		186 & 0xff}
-		},
-	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1074 >> 8) & 0xff,
-			1074 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR_SYM_IP_PROTO_UDP},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(187 >> 8) & 0xff,
-		187 & 0xff}
-		},
-	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1076 >> 8) & 0xff,
-			1076 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(188 >> 8) & 0xff,
-		188 & 0xff}
-		},
-	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1080 >> 8) & 0xff,
-			1080 & 0xff,
+			(2382 >> 8) & 0xff,
+			2382 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -38907,8 +52096,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(189 >> 8) & 0xff,
-		189 & 0xff}
+		(378 >> 8) & 0xff,
+		378 & 0xff}
 		},
 	{
 		.description = "l3.prot",
@@ -38916,8 +52105,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1084 >> 8) & 0xff,
-			1084 & 0xff,
+			(2386 >> 8) & 0xff,
+			2386 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -38926,8 +52115,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(190 >> 8) & 0xff,
-		190 & 0xff}
+		(379 >> 8) & 0xff,
+		379 & 0xff}
 		},
 	{
 		.description = "l3.prot",
@@ -38935,8 +52124,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1087 >> 8) & 0xff,
-			1087 & 0xff,
+			(2389 >> 8) & 0xff,
+			2389 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -38951,18 +52140,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1094 >> 8) & 0xff,
-			1094 & 0xff,
+			(2396 >> 8) & 0xff,
+			2396 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV4_QOS >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(192 >> 8) & 0xff,
-		192 & 0xff}
+		(381 >> 8) & 0xff,
+		381 & 0xff}
 		},
 	{
 		.description = "l3.qos",
@@ -38970,18 +52156,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1098 >> 8) & 0xff,
-			1098 & 0xff,
+			(2400 >> 8) & 0xff,
+			2400 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(193 >> 8) & 0xff,
-		193 & 0xff}
+		(382 >> 8) & 0xff,
+		382 & 0xff}
 		},
 	{
 		.description = "l3.qos",
@@ -38989,14 +52172,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1101 >> 8) & 0xff,
-			1101 & 0xff,
+			(2403 >> 8) & 0xff,
+			2403 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -39005,8 +52185,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1108 >> 8) & 0xff,
-			1108 & 0xff,
+			(2410 >> 8) & 0xff,
+			2410 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -39015,8 +52195,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(195 >> 8) & 0xff,
-		195 & 0xff}
+		(384 >> 8) & 0xff,
+		384 & 0xff}
 		},
 	{
 		.description = "l3.qos",
@@ -39024,8 +52204,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1112 >> 8) & 0xff,
-			1112 & 0xff,
+			(2414 >> 8) & 0xff,
+			2414 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -39034,8 +52214,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(196 >> 8) & 0xff,
-		196 & 0xff}
+		(385 >> 8) & 0xff,
+		385 & 0xff}
 		},
 	{
 		.description = "l3.qos",
@@ -39043,8 +52223,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1115 >> 8) & 0xff,
-			1115 & 0xff,
+			(2417 >> 8) & 0xff,
+			2417 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -39059,18 +52239,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1122 >> 8) & 0xff,
-			1122 & 0xff,
+			(2424 >> 8) & 0xff,
+			2424 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(198 >> 8) & 0xff,
-		198 & 0xff}
+		(387 >> 8) & 0xff,
+		387 & 0xff}
 		},
 	{
 		.description = "l4.src",
@@ -39078,18 +52255,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1126 >> 8) & 0xff,
-			1126 & 0xff,
+			(2428 >> 8) & 0xff,
+			2428 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(199 >> 8) & 0xff,
-		199 & 0xff}
+		(388 >> 8) & 0xff,
+		388 & 0xff}
 		},
 	{
 		.description = "l4.src",
@@ -39097,31 +52271,12 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1129 >> 8) & 0xff,
-			1129 & 0xff,
+			(2431 >> 8) & 0xff,
+			2431 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(200 >> 8) & 0xff,
-		200 & 0xff}
-		},
-	{
-		.description = "l4.src",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-		.field_opr1 = {
-			(1132 >> 8) & 0xff,
-			1132 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_SKIP,
-		.field_src3 = BNXT_ULP_FIELD_SRC_CONST
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
 		.description = "l4.src",
@@ -39129,8 +52284,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1138 >> 8) & 0xff,
-			1138 & 0xff,
+			(2438 >> 8) & 0xff,
+			2438 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -39139,8 +52294,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(202 >> 8) & 0xff,
-		202 & 0xff}
+		(390 >> 8) & 0xff,
+		390 & 0xff}
 		},
 	{
 		.description = "l4.src",
@@ -39148,8 +52303,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1142 >> 8) & 0xff,
-			1142 & 0xff,
+			(2442 >> 8) & 0xff,
+			2442 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -39158,8 +52313,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(203 >> 8) & 0xff,
-		203 & 0xff}
+		(391 >> 8) & 0xff,
+		391 & 0xff}
 		},
 	{
 		.description = "l4.src",
@@ -39167,31 +52322,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1145 >> 8) & 0xff,
-			1145 & 0xff,
+			(2445 >> 8) & 0xff,
+			2445 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
 		(BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,
 		BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(204 >> 8) & 0xff,
-		204 & 0xff}
-		},
-	{
-		.description = "l4.src",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-		.field_opr1 = {
-			(1148 >> 8) & 0xff,
-			1148 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_SKIP,
-		.field_src3 = BNXT_ULP_FIELD_SRC_CONST
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
 		.description = "l4.dst",
@@ -39199,18 +52338,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1154 >> 8) & 0xff,
-			1154 & 0xff,
+			(2452 >> 8) & 0xff,
+			2452 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(206 >> 8) & 0xff,
-		206 & 0xff}
+		(393 >> 8) & 0xff,
+		393 & 0xff}
 		},
 	{
 		.description = "l4.dst",
@@ -39218,18 +52354,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1158 >> 8) & 0xff,
-			1158 & 0xff,
+			(2456 >> 8) & 0xff,
+			2456 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(207 >> 8) & 0xff,
-		207 & 0xff}
+		(394 >> 8) & 0xff,
+		394 & 0xff}
 		},
 	{
 		.description = "l4.dst",
@@ -39237,31 +52370,12 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1161 >> 8) & 0xff,
-			1161 & 0xff,
+			(2459 >> 8) & 0xff,
+			2459 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(208 >> 8) & 0xff,
-		208 & 0xff}
-		},
-	{
-		.description = "l4.dst",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-		.field_opr1 = {
-			(1164 >> 8) & 0xff,
-			1164 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_SKIP,
-		.field_src3 = BNXT_ULP_FIELD_SRC_CONST
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
 		.description = "l4.dst",
@@ -39269,8 +52383,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1170 >> 8) & 0xff,
-			1170 & 0xff,
+			(2466 >> 8) & 0xff,
+			2466 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -39279,8 +52393,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(210 >> 8) & 0xff,
-		210 & 0xff}
+		(396 >> 8) & 0xff,
+		396 & 0xff}
 		},
 	{
 		.description = "l4.dst",
@@ -39288,8 +52402,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1174 >> 8) & 0xff,
-			1174 & 0xff,
+			(2470 >> 8) & 0xff,
+			2470 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -39298,8 +52412,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(211 >> 8) & 0xff,
-		211 & 0xff}
+		(397 >> 8) & 0xff,
+		397 & 0xff}
 		},
 	{
 		.description = "l4.dst",
@@ -39307,31 +52421,100 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1177 >> 8) & 0xff,
-			1177 & 0xff,
+			(2473 >> 8) & 0xff,
+			2473 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
 		(BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
 		BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(212 >> 8) & 0xff,
-		212 & 0xff}
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
+	/* class_tid: 2, , table: control.terminating_flow */
 	{
-		.description = "l4.dst",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-		.field_opr1 = {
-			(1180 >> 8) & 0xff,
-			1180 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_SKIP,
-		.field_src3 = BNXT_ULP_FIELD_SRC_CONST
+	.description = "",
+	.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(2569 >> 8) & 0xff,
+		2569 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(399 >> 8) & 0xff,
+	399 & 0xff}
+	},
+	{
+		.description = "",
+		.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(2571 >> 8) & 0xff,
+		2571 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(400 >> 8) & 0xff,
+	400 & 0xff}
+		},
+	{
+		.description = "",
+		.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(2573 >> 8) & 0xff,
+		2573 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(401 >> 8) & 0xff,
+	401 & 0xff}
+		},
+	{
+		.description = "",
+		.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(2575 >> 8) & 0xff,
+		2575 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	{
+		.description = "tl2_smac.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(2601 >> 8) & 0xff,
+		2601 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+	.field_src3 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr3 = {
+	1}
 		},
 	{
 		.description = "tl2_ivv.en",
@@ -39339,8 +52522,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1214 >> 8) & 0xff,
-		1214 & 0xff,
+		(2614 >> 8) & 0xff,
+		2614 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -39354,8 +52537,23 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1228 >> 8) & 0xff,
-		1228 & 0xff,
+		(2628 >> 8) & 0xff,
+		2628 & 0xff,
+		(1 >> 8) & 0xff,
+		1 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	{
+		.description = "tl3_sip.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(2629 >> 8) & 0xff,
+		2629 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -39369,8 +52567,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1236 >> 8) & 0xff,
-		1236 & 0xff,
+		(2637 >> 8) & 0xff,
+		2637 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -39384,8 +52582,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1244 >> 8) & 0xff,
-		1244 & 0xff,
+		(2645 >> 8) & 0xff,
+		2645 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -39399,8 +52597,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1252 >> 8) & 0xff,
-		1252 & 0xff,
+		(2653 >> 8) & 0xff,
+		2653 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -39414,8 +52612,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1260 >> 8) & 0xff,
-		1260 & 0xff,
+		(2661 >> 8) & 0xff,
+		2661 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -39429,8 +52627,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1268 >> 8) & 0xff,
-		1268 & 0xff,
+		(2669 >> 8) & 0xff,
+		2669 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -39444,8 +52642,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1277 >> 8) & 0xff,
-		1277 & 0xff,
+		(2678 >> 8) & 0xff,
+		2678 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -39459,8 +52657,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1284 >> 8) & 0xff,
-		1284 & 0xff,
+		(2685 >> 8) & 0xff,
+		2685 & 0xff,
 		(3 >> 8) & 0xff,
 		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -39474,10 +52672,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1292 >> 8) & 0xff,
-		1292 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
+		(2692 >> 8) & 0xff,
+		2692 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
 	1},
@@ -39489,8 +52687,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1300 >> 8) & 0xff,
-		1300 & 0xff,
+		(2699 >> 8) & 0xff,
+		2699 & 0xff,
 		(3 >> 8) & 0xff,
 		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -39504,8 +52702,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1308 >> 8) & 0xff,
-		1308 & 0xff,
+		(2707 >> 8) & 0xff,
+		2707 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -39519,8 +52717,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1317 >> 8) & 0xff,
-		1317 & 0xff,
+		(2716 >> 8) & 0xff,
+		2716 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -39528,8 +52726,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(226 >> 8) & 0xff,
-	226 & 0xff}
+	(417 >> 8) & 0xff,
+	417 & 0xff}
 		},
 	{
 		.description = "l2_ivv.en",
@@ -39537,8 +52735,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1322 >> 8) & 0xff,
-		1322 & 0xff,
+		(2721 >> 8) & 0xff,
+		2721 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -39546,8 +52744,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(227 >> 8) & 0xff,
-	227 & 0xff}
+	(418 >> 8) & 0xff,
+	418 & 0xff}
 		},
 	{
 		.description = "l2_ivv.en",
@@ -39555,8 +52753,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1326 >> 8) & 0xff,
-		1326 & 0xff,
+		(2725 >> 8) & 0xff,
+		2725 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -39570,8 +52768,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1335 >> 8) & 0xff,
-		1335 & 0xff,
+		(2734 >> 8) & 0xff,
+		2734 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -39585,17 +52783,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1343 >> 8) & 0xff,
-		1343 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
+		(2743 >> 8) & 0xff,
+		2743 & 0xff,
+		(5 >> 8) & 0xff,
+		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(230 >> 8) & 0xff,
-	230 & 0xff}
+	(421 >> 8) & 0xff,
+	421 & 0xff}
 		},
 	{
 		.description = "l3_sip.en",
@@ -39603,17 +52801,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1347 >> 8) & 0xff,
-		1347 & 0xff,
-		(3 >> 8) & 0xff,
-		3 & 0xff},
+		(2748 >> 8) & 0xff,
+		2748 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(231 >> 8) & 0xff,
-	231 & 0xff}
+	(422 >> 8) & 0xff,
+	422 & 0xff}
 		},
 	{
 		.description = "l3_sip.en",
@@ -39621,10 +52819,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1350 >> 8) & 0xff,
-		1350 & 0xff,
-		(3 >> 8) & 0xff,
-		3 & 0xff},
+		(2752 >> 8) & 0xff,
+		2752 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
 	1},
@@ -39636,17 +52834,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1357 >> 8) & 0xff,
-		1357 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
+		(2761 >> 8) & 0xff,
+		2761 & 0xff,
+		(5 >> 8) & 0xff,
+		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(233 >> 8) & 0xff,
-	233 & 0xff}
+	(424 >> 8) & 0xff,
+	424 & 0xff}
 		},
 	{
 		.description = "l3_dip.en",
@@ -39654,17 +52852,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1361 >> 8) & 0xff,
-		1361 & 0xff,
-		(3 >> 8) & 0xff,
-		3 & 0xff},
+		(2766 >> 8) & 0xff,
+		2766 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(234 >> 8) & 0xff,
-	234 & 0xff}
+	(425 >> 8) & 0xff,
+	425 & 0xff}
 		},
 	{
 		.description = "l3_dip.en",
@@ -39672,10 +52870,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1364 >> 8) & 0xff,
-		1364 & 0xff,
-		(3 >> 8) & 0xff,
-		3 & 0xff},
+		(2770 >> 8) & 0xff,
+		2770 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
 	1},
@@ -39687,17 +52885,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1371 >> 8) & 0xff,
-		1371 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
+		(2779 >> 8) & 0xff,
+		2779 & 0xff,
+		(5 >> 8) & 0xff,
+		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(236 >> 8) & 0xff,
-	236 & 0xff}
+	(427 >> 8) & 0xff,
+	427 & 0xff}
 		},
 	{
 		.description = "l3_ttl.en",
@@ -39705,17 +52903,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1375 >> 8) & 0xff,
-		1375 & 0xff,
-		(3 >> 8) & 0xff,
-		3 & 0xff},
+		(2784 >> 8) & 0xff,
+		2784 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(237 >> 8) & 0xff,
-	237 & 0xff}
+	(428 >> 8) & 0xff,
+	428 & 0xff}
 		},
 	{
 		.description = "l3_ttl.en",
@@ -39723,10 +52921,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1378 >> 8) & 0xff,
-		1378 & 0xff,
-		(3 >> 8) & 0xff,
-		3 & 0xff},
+		(2788 >> 8) & 0xff,
+		2788 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
 	1},
@@ -39738,17 +52936,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1385 >> 8) & 0xff,
-		1385 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
+		(2797 >> 8) & 0xff,
+		2797 & 0xff,
+		(5 >> 8) & 0xff,
+		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(239 >> 8) & 0xff,
-	239 & 0xff}
+	(430 >> 8) & 0xff,
+	430 & 0xff}
 		},
 	{
 		.description = "l3_prot.en",
@@ -39756,17 +52954,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1389 >> 8) & 0xff,
-		1389 & 0xff,
-		(3 >> 8) & 0xff,
-		3 & 0xff},
+		(2802 >> 8) & 0xff,
+		2802 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(240 >> 8) & 0xff,
-	240 & 0xff}
+	(431 >> 8) & 0xff,
+	431 & 0xff}
 		},
 	{
 		.description = "l3_prot.en",
@@ -39774,10 +52972,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1392 >> 8) & 0xff,
-		1392 & 0xff,
-		(3 >> 8) & 0xff,
-		3 & 0xff},
+		(2806 >> 8) & 0xff,
+		2806 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
 	1},
@@ -39789,17 +52987,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1399 >> 8) & 0xff,
-		1399 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
+		(2815 >> 8) & 0xff,
+		2815 & 0xff,
+		(5 >> 8) & 0xff,
+		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(242 >> 8) & 0xff,
-	242 & 0xff}
+	(433 >> 8) & 0xff,
+	433 & 0xff}
 		},
 	{
 		.description = "l3_qos.en",
@@ -39807,17 +53005,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1403 >> 8) & 0xff,
-		1403 & 0xff,
-		(3 >> 8) & 0xff,
-		3 & 0xff},
+		(2820 >> 8) & 0xff,
+		2820 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(243 >> 8) & 0xff,
-	243 & 0xff}
+	(434 >> 8) & 0xff,
+	434 & 0xff}
 		},
 	{
 		.description = "l3_qos.en",
@@ -39825,10 +53023,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1406 >> 8) & 0xff,
-		1406 & 0xff,
-		(3 >> 8) & 0xff,
-		3 & 0xff},
+		(2824 >> 8) & 0xff,
+		2824 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
 	1},
@@ -39838,19 +53036,16 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.description = "l4_src.en",
 		.field_bit_size = 1,
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 	.field_opr1 = {
-		(1413 >> 8) & 0xff,
-		1413 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
+		(2830 >> 8) & 0xff,
+		2830 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
 	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(245 >> 8) & 0xff,
-	245 & 0xff}
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
 		.description = "l4_src.en",
@@ -39858,26 +53053,24 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1417 >> 8) & 0xff,
-		1417 & 0xff,
-		(3 >> 8) & 0xff,
-		3 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		(2833 >> 8) & 0xff,
+		2833 & 0xff,
+		(1 >> 8) & 0xff,
+		1 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(246 >> 8) & 0xff,
-	246 & 0xff}
+	(437 >> 8) & 0xff,
+	437 & 0xff},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
 		.description = "l4_src.en",
 		.field_bit_size = 1,
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 	.field_opr1 = {
-		(1420 >> 8) & 0xff,
-		1420 & 0xff,
+		(2834 >> 8) & 0xff,
+		2834 & 0xff,
 		(3 >> 8) & 0xff,
 		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -39889,19 +53082,16 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.description = "l4_dst.en",
 		.field_bit_size = 1,
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 	.field_opr1 = {
-		(1427 >> 8) & 0xff,
-		1427 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
+		(2839 >> 8) & 0xff,
+		2839 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
 	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(248 >> 8) & 0xff,
-	248 & 0xff}
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
 		.description = "l4_dst.en",
@@ -39909,26 +53099,24 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1431 >> 8) & 0xff,
-		1431 & 0xff,
-		(3 >> 8) & 0xff,
-		3 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		(2842 >> 8) & 0xff,
+		2842 & 0xff,
+		(1 >> 8) & 0xff,
+		1 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(249 >> 8) & 0xff,
-	249 & 0xff}
+	(440 >> 8) & 0xff,
+	440 & 0xff},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
 		.description = "l4_dst.en",
 		.field_bit_size = 1,
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 	.field_opr1 = {
-		(1434 >> 8) & 0xff,
-		1434 & 0xff,
+		(2843 >> 8) & 0xff,
+		2843 & 0xff,
 		(3 >> 8) & 0xff,
 		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -39936,17 +53124,43 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	{
+		.description = "tl2_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2871 >> 8) & 0xff,
+			2871 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_SKIP,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	{
+		.description = "tl2_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2878 >> 8) & 0xff,
+			2878 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_SKIP,
+		.field_src3 = BNXT_ULP_FIELD_SRC_CONST
+		},
 	{
 		.description = "tl2_ivv",
 		.field_bit_size = 12,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1480 >> 8) & 0xff,
-			1480 & 0xff,
+			(2896 >> 8) & 0xff,
+			2896 & 0xff,
 			(5 >> 8) & 0xff,
 			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -39955,14 +53169,37 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1490 >> 8) & 0xff,
-			1490 & 0xff,
+			(2906 >> 8) & 0xff,
+			2906 & 0xff,
 			(5 >> 8) & 0xff,
 			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	{
+		.description = "tl3.sip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2933 >> 8) & 0xff,
+			2933 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	{
+		.description = "tl3.sip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2938 >> 8) & 0xff,
+			2938 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -39971,11 +53208,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1541 >> 8) & 0xff,
-			1541 & 0xff,
+			(2959 >> 8) & 0xff,
+			2959 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -39984,14 +53221,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1549 >> 8) & 0xff,
-			1549 & 0xff,
+			(2967 >> 8) & 0xff,
+			2967 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -40000,11 +53234,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1557 >> 8) & 0xff,
-			1557 & 0xff,
+			(2975 >> 8) & 0xff,
+			2975 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -40013,14 +53247,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1565 >> 8) & 0xff,
-			1565 & 0xff,
+			(2983 >> 8) & 0xff,
+			2983 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -40029,11 +53260,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1573 >> 8) & 0xff,
-			1573 & 0xff,
+			(2991 >> 8) & 0xff,
+			2991 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -40042,14 +53273,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1581 >> 8) & 0xff,
-			1581 & 0xff,
+			(2999 >> 8) & 0xff,
+			2999 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -40058,11 +53286,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1589 >> 8) & 0xff,
-			1589 & 0xff,
+			(3007 >> 8) & 0xff,
+			3007 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -40071,14 +53299,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1597 >> 8) & 0xff,
-			1597 & 0xff,
+			(3015 >> 8) & 0xff,
+			3015 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -40087,11 +53312,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1606 >> 8) & 0xff,
-			1606 & 0xff,
+			(3024 >> 8) & 0xff,
+			3024 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -40100,14 +53325,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1615 >> 8) & 0xff,
-			1615 & 0xff,
+			(3033 >> 8) & 0xff,
+			3033 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -40116,11 +53338,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1622 >> 8) & 0xff,
-			1622 & 0xff,
+			(3040 >> 8) & 0xff,
+			3040 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -40129,14 +53351,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1628 >> 8) & 0xff,
-			1628 & 0xff,
+			(3046 >> 8) & 0xff,
+			3046 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -40145,11 +53364,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1636 >> 8) & 0xff,
-			1636 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+			(3053 >> 8) & 0xff,
+			3053 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -40158,14 +53377,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1645 >> 8) & 0xff,
-			1645 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
+			(3060 >> 8) & 0xff,
+			3060 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -40174,11 +53390,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1653 >> 8) & 0xff,
-			1653 & 0xff,
+			(3067 >> 8) & 0xff,
+			3067 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -40187,14 +53403,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1660 >> 8) & 0xff,
-			1660 & 0xff,
+			(3074 >> 8) & 0xff,
+			3074 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -40203,11 +53416,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1668 >> 8) & 0xff,
-			1668 & 0xff,
+			(3082 >> 8) & 0xff,
+			3082 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -40216,14 +53429,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1677 >> 8) & 0xff,
-			1677 & 0xff,
+			(3091 >> 8) & 0xff,
+			3091 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -40232,15 +53442,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1686 >> 8) & 0xff,
-			1686 & 0xff,
+			(3100 >> 8) & 0xff,
+			3100 & 0xff,
 			(5 >> 8) & 0xff,
 			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(271 >> 8) & 0xff,
-		271 & 0xff}
+		(466 >> 8) & 0xff,
+		466 & 0xff}
 		},
 	{
 		.description = "l2_ivv",
@@ -40248,15 +53458,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1691 >> 8) & 0xff,
-			1691 & 0xff,
+			(3105 >> 8) & 0xff,
+			3105 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(272 >> 8) & 0xff,
-		272 & 0xff}
+		(467 >> 8) & 0xff,
+		467 & 0xff}
 		},
 	{
 		.description = "l2_ivv",
@@ -40264,11 +53474,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1695 >> 8) & 0xff,
-			1695 & 0xff,
+			(3109 >> 8) & 0xff,
+			3109 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -40277,18 +53487,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1704 >> 8) & 0xff,
-			1704 & 0xff,
+			(3118 >> 8) & 0xff,
+			3118 & 0xff,
 			(5 >> 8) & 0xff,
 			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(274 >> 8) & 0xff,
-		274 & 0xff}
+		(469 >> 8) & 0xff,
+		469 & 0xff}
 		},
 	{
 		.description = "l2_ivv",
@@ -40296,18 +53503,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1709 >> 8) & 0xff,
-			1709 & 0xff,
+			(3123 >> 8) & 0xff,
+			3123 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(275 >> 8) & 0xff,
-		275 & 0xff}
+		(470 >> 8) & 0xff,
+		470 & 0xff}
 		},
 	{
 		.description = "l2_ivv",
@@ -40315,14 +53519,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1713 >> 8) & 0xff,
-			1713 & 0xff,
+			(3127 >> 8) & 0xff,
+			3127 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -40331,11 +53532,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1722 >> 8) & 0xff,
-			1722 & 0xff,
+			(3136 >> 8) & 0xff,
+			3136 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -40344,14 +53545,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1731 >> 8) & 0xff,
-			1731 & 0xff,
+			(3145 >> 8) & 0xff,
+			3145 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -40360,11 +53558,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1739 >> 8) & 0xff,
-			1739 & 0xff,
+			(3153 >> 8) & 0xff,
+			3153 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -40373,14 +53571,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1746 >> 8) & 0xff,
-			1746 & 0xff,
+			(3160 >> 8) & 0xff,
+			3160 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -40389,11 +53584,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1753 >> 8) & 0xff,
-			1753 & 0xff,
+			(3167 >> 8) & 0xff,
+			3167 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -40402,14 +53597,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1760 >> 8) & 0xff,
-			1760 & 0xff,
+			(3174 >> 8) & 0xff,
+			3174 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -40418,11 +53610,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1767 >> 8) & 0xff,
-			1767 & 0xff,
+			(3181 >> 8) & 0xff,
+			3181 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -40431,14 +53623,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1774 >> 8) & 0xff,
-			1774 & 0xff,
+			(3188 >> 8) & 0xff,
+			3188 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -40447,11 +53636,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1781 >> 8) & 0xff,
-			1781 & 0xff,
+			(3195 >> 8) & 0xff,
+			3195 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -40460,1203 +53649,654 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1788 >> 8) & 0xff,
-			1788 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
-		},
-	{
-		.description = "l3.ttl",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1795 >> 8) & 0xff,
-			1795 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(287 >> 8) & 0xff,
-		287 & 0xff}
-		},
-	{
-		.description = "l3.ttl",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1799 >> 8) & 0xff,
-			1799 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(288 >> 8) & 0xff,
-		288 & 0xff}
-		},
-	{
-		.description = "l3.ttl",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1802 >> 8) & 0xff,
-			1802 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
-		},
-	{
-		.description = "l3.ttl",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1809 >> 8) & 0xff,
-			1809 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV4_TTL >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(290 >> 8) & 0xff,
-		290 & 0xff}
-		},
-	{
-		.description = "l3.ttl",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1813 >> 8) & 0xff,
-			1813 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(291 >> 8) & 0xff,
-		291 & 0xff}
-		},
-	{
-		.description = "l3.ttl",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1816 >> 8) & 0xff,
-			1816 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
-		},
-	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1823 >> 8) & 0xff,
-			1823 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(293 >> 8) & 0xff,
-		293 & 0xff}
-		},
-	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1827 >> 8) & 0xff,
-			1827 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(294 >> 8) & 0xff,
-		294 & 0xff}
-		},
-	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1830 >> 8) & 0xff,
-			1830 & 0xff,
+			(3202 >> 8) & 0xff,
+			3202 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l3.prot",
+		.description = "l3.ttl",
 		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1837 >> 8) & 0xff,
-			1837 & 0xff,
+			(3209 >> 8) & 0xff,
+			3209 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(296 >> 8) & 0xff,
-		296 & 0xff}
+		(482 >> 8) & 0xff,
+		482 & 0xff}
 		},
 	{
-		.description = "l3.prot",
+		.description = "l3.ttl",
 		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1841 >> 8) & 0xff,
-			1841 & 0xff,
+			(3213 >> 8) & 0xff,
+			3213 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(297 >> 8) & 0xff,
-		297 & 0xff}
+		(483 >> 8) & 0xff,
+		483 & 0xff}
 		},
 	{
-		.description = "l3.prot",
+		.description = "l3.ttl",
 		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1844 >> 8) & 0xff,
-			1844 & 0xff,
+			(3216 >> 8) & 0xff,
+			3216 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l3.qos",
+		.description = "l3.ttl",
 		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1851 >> 8) & 0xff,
-			1851 & 0xff,
+			(3223 >> 8) & 0xff,
+			3223 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(299 >> 8) & 0xff,
-		299 & 0xff}
+		(485 >> 8) & 0xff,
+		485 & 0xff}
 		},
 	{
-		.description = "l3.qos",
+		.description = "l3.ttl",
 		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1855 >> 8) & 0xff,
-			1855 & 0xff,
+			(3227 >> 8) & 0xff,
+			3227 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(300 >> 8) & 0xff,
-		300 & 0xff}
+		(486 >> 8) & 0xff,
+		486 & 0xff}
 		},
 	{
-		.description = "l3.qos",
+		.description = "l3.ttl",
 		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1858 >> 8) & 0xff,
-			1858 & 0xff,
+			(3230 >> 8) & 0xff,
+			3230 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l3.qos",
+		.description = "l3.prot",
 		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1865 >> 8) & 0xff,
-			1865 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV4_QOS >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff},
+			(3236 >> 8) & 0xff,
+			3236 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(302 >> 8) & 0xff,
-		302 & 0xff}
+		(488 >> 8) & 0xff,
+		488 & 0xff}
 		},
 	{
-		.description = "l3.qos",
+		.description = "l3.prot",
 		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1869 >> 8) & 0xff,
-			1869 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff},
+			(3239 >> 8) & 0xff,
+			3239 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(303 >> 8) & 0xff,
-		303 & 0xff}
+		(489 >> 8) & 0xff,
+		489 & 0xff}
 		},
 	{
-		.description = "l3.qos",
+		.description = "l3.prot",
 		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1872 >> 8) & 0xff,
-			1872 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
-		},
-	{
-		.description = "l4.src",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1879 >> 8) & 0xff,
-			1879 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+			(3241 >> 8) & 0xff,
+			3241 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(305 >> 8) & 0xff,
-		305 & 0xff}
+		(490 >> 8) & 0xff,
+		490 & 0xff}
 		},
 	{
-		.description = "l4.src",
-		.field_bit_size = 16,
+		.description = "l3.prot",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1883 >> 8) & 0xff,
-			1883 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+			(3243 >> 8) & 0xff,
+			3243 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(306 >> 8) & 0xff,
-		306 & 0xff}
-		},
-	{
-		.description = "l4.src",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1886 >> 8) & 0xff,
-			1886 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		(491 >> 8) & 0xff,
+		491 & 0xff}
 		},
 	{
-		.description = "l4.src",
-		.field_bit_size = 16,
+		.description = "l3.prot",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1893 >> 8) & 0xff,
-			1893 & 0xff,
+			(3247 >> 8) & 0xff,
+			3247 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(308 >> 8) & 0xff,
-		308 & 0xff}
+		(492 >> 8) & 0xff,
+		492 & 0xff}
 		},
 	{
-		.description = "l4.src",
-		.field_bit_size = 16,
+		.description = "l3.prot",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1897 >> 8) & 0xff,
-			1897 & 0xff,
+			(3251 >> 8) & 0xff,
+			3251 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(309 >> 8) & 0xff,
-		309 & 0xff}
+		(493 >> 8) & 0xff,
+		493 & 0xff}
 		},
 	{
-		.description = "l4.src",
-		.field_bit_size = 16,
+		.description = "l3.prot",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1900 >> 8) & 0xff,
-			1900 & 0xff,
+			(3254 >> 8) & 0xff,
+			3254 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l4.dst",
-		.field_bit_size = 16,
+		.description = "l3.prot",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1907 >> 8) & 0xff,
-			1907 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+			(3260 >> 8) & 0xff,
+			3260 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(311 >> 8) & 0xff,
-		311 & 0xff}
+		(495 >> 8) & 0xff,
+		495 & 0xff}
 		},
 	{
-		.description = "l4.dst",
-		.field_bit_size = 16,
+		.description = "l3.prot",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1911 >> 8) & 0xff,
-			1911 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+			(3263 >> 8) & 0xff,
+			3263 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(312 >> 8) & 0xff,
-		312 & 0xff}
+		(496 >> 8) & 0xff,
+		496 & 0xff}
 		},
 	{
-		.description = "l4.dst",
-		.field_bit_size = 16,
+		.description = "l3.prot",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1914 >> 8) & 0xff,
-			1914 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+			(3265 >> 8) & 0xff,
+			3265 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(497 >> 8) & 0xff,
+		497 & 0xff}
 		},
 	{
-		.description = "l4.dst",
-		.field_bit_size = 16,
+		.description = "l3.prot",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1921 >> 8) & 0xff,
-			1921 & 0xff,
+			(3267 >> 8) & 0xff,
+			3267 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(314 >> 8) & 0xff,
-		314 & 0xff}
+		(498 >> 8) & 0xff,
+		498 & 0xff}
 		},
 	{
-		.description = "l4.dst",
-		.field_bit_size = 16,
+		.description = "l3.prot",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1925 >> 8) & 0xff,
-			1925 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
+			(3271 >> 8) & 0xff,
+			3271 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(315 >> 8) & 0xff,
-		315 & 0xff}
+		(499 >> 8) & 0xff,
+		499 & 0xff}
 		},
 	{
-		.description = "l4.dst",
-		.field_bit_size = 16,
+		.description = "l3.prot",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1928 >> 8) & 0xff,
-			1928 & 0xff,
+			(3275 >> 8) & 0xff,
+			3275 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
-		},
-	/* class_tid: 2, , table: control.terminating_flow */
-	{
-	.description = "",
-	.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2024 >> 8) & 0xff,
-		2024 & 0xff,
-		(2 >> 8) & 0xff,
-		2 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(317 >> 8) & 0xff,
-	317 & 0xff}
-	},
-	{
-		.description = "",
-		.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2026 >> 8) & 0xff,
-		2026 & 0xff,
-		(2 >> 8) & 0xff,
-		2 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(318 >> 8) & 0xff,
-	318 & 0xff}
-		},
-	{
-		.description = "",
-		.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2028 >> 8) & 0xff,
-		2028 & 0xff,
-		(2 >> 8) & 0xff,
-		2 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(319 >> 8) & 0xff,
-	319 & 0xff}
-		},
-	{
-		.description = "",
-		.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2030 >> 8) & 0xff,
-		2030 & 0xff,
-		(2 >> 8) & 0xff,
-		2 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	{
-		.description = "tl2_smac.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2053 >> 8) & 0xff,
-		2053 & 0xff,
-		(3 >> 8) & 0xff,
-		3 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-	.field_src3 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr3 = {
-	1}
-		},
-	{
-		.description = "tl2_ivv.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2066 >> 8) & 0xff,
-		2066 & 0xff,
-		(5 >> 8) & 0xff,
-		5 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	{
-		.description = "tl3_sip.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2080 >> 8) & 0xff,
-		2080 & 0xff,
-		(1 >> 8) & 0xff,
-		1 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	{
-		.description = "tl3_sip.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2081 >> 8) & 0xff,
-		2081 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	{
-		.description = "tl3_dip.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2089 >> 8) & 0xff,
-		2089 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	{
-		.description = "tl3_ttl.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2097 >> 8) & 0xff,
-		2097 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	{
-		.description = "tl3_prot.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2105 >> 8) & 0xff,
-		2105 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	{
-		.description = "tl3_qos.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2113 >> 8) & 0xff,
-		2113 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	{
-		.description = "tl4_src.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2121 >> 8) & 0xff,
-		2121 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	{
-		.description = "tl4_dst.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2130 >> 8) & 0xff,
-		2130 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	{
-		.description = "tids.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2137 >> 8) & 0xff,
-		2137 & 0xff,
-		(3 >> 8) & 0xff,
-		3 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	{
-		.description = "l2_dmac.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2144 >> 8) & 0xff,
-		2144 & 0xff,
-		(3 >> 8) & 0xff,
-		3 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	{
-		.description = "l2_smac.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2151 >> 8) & 0xff,
-		2151 & 0xff,
-		(3 >> 8) & 0xff,
-		3 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	{
-		.description = "l2_ovv.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2159 >> 8) & 0xff,
-		2159 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	{
-		.description = "l2_ivv.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2168 >> 8) & 0xff,
-		2168 & 0xff,
-		(5 >> 8) & 0xff,
-		5 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(335 >> 8) & 0xff,
-	335 & 0xff}
-		},
-	{
-		.description = "l2_ivv.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2173 >> 8) & 0xff,
-		2173 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(336 >> 8) & 0xff,
-	336 & 0xff}
-		},
-	{
-		.description = "l2_ivv.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2177 >> 8) & 0xff,
-		2177 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(500 >> 8) & 0xff,
+		500 & 0xff}
 		},
 	{
-		.description = "l2_etype.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2186 >> 8) & 0xff,
-		2186 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3278 >> 8) & 0xff,
+			3278 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l3_sip.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2195 >> 8) & 0xff,
-		2195 & 0xff,
-		(5 >> 8) & 0xff,
-		5 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(339 >> 8) & 0xff,
-	339 & 0xff}
+		.description = "l3.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3285 >> 8) & 0xff,
+			3285 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(502 >> 8) & 0xff,
+		502 & 0xff}
 		},
 	{
-		.description = "l3_sip.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2200 >> 8) & 0xff,
-		2200 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(340 >> 8) & 0xff,
-	340 & 0xff}
+		.description = "l3.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3289 >> 8) & 0xff,
+			3289 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(503 >> 8) & 0xff,
+		503 & 0xff}
 		},
 	{
-		.description = "l3_sip.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2204 >> 8) & 0xff,
-		2204 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3292 >> 8) & 0xff,
+			3292 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l3_dip.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2213 >> 8) & 0xff,
-		2213 & 0xff,
-		(5 >> 8) & 0xff,
-		5 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(342 >> 8) & 0xff,
-	342 & 0xff}
+		.description = "l3.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3299 >> 8) & 0xff,
+			3299 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(505 >> 8) & 0xff,
+		505 & 0xff}
 		},
 	{
-		.description = "l3_dip.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2218 >> 8) & 0xff,
-		2218 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(343 >> 8) & 0xff,
-	343 & 0xff}
+		.description = "l3.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3303 >> 8) & 0xff,
+			3303 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(506 >> 8) & 0xff,
+		506 & 0xff}
 		},
 	{
-		.description = "l3_dip.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2222 >> 8) & 0xff,
-		2222 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l3.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3306 >> 8) & 0xff,
+			3306 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l3_ttl.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2231 >> 8) & 0xff,
-		2231 & 0xff,
-		(5 >> 8) & 0xff,
-		5 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(345 >> 8) & 0xff,
-	345 & 0xff}
+		.description = "l4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3313 >> 8) & 0xff,
+			3313 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(508 >> 8) & 0xff,
+		508 & 0xff}
 		},
 	{
-		.description = "l3_ttl.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2236 >> 8) & 0xff,
-		2236 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(346 >> 8) & 0xff,
-	346 & 0xff}
+		.description = "l4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3317 >> 8) & 0xff,
+			3317 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(509 >> 8) & 0xff,
+		509 & 0xff}
 		},
 	{
-		.description = "l3_ttl.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2240 >> 8) & 0xff,
-		2240 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3320 >> 8) & 0xff,
+			3320 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(510 >> 8) & 0xff,
+		510 & 0xff}
 		},
 	{
-		.description = "l3_prot.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2249 >> 8) & 0xff,
-		2249 & 0xff,
-		(5 >> 8) & 0xff,
-		5 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(348 >> 8) & 0xff,
-	348 & 0xff}
+		.description = "l4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(3323 >> 8) & 0xff,
+			3323 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_SKIP,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_prot.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2254 >> 8) & 0xff,
-		2254 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(349 >> 8) & 0xff,
-	349 & 0xff}
+		.description = "l4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3329 >> 8) & 0xff,
+			3329 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(512 >> 8) & 0xff,
+		512 & 0xff}
 		},
 	{
-		.description = "l3_prot.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2258 >> 8) & 0xff,
-		2258 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3333 >> 8) & 0xff,
+			3333 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(513 >> 8) & 0xff,
+		513 & 0xff}
 		},
 	{
-		.description = "l3_qos.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2267 >> 8) & 0xff,
-		2267 & 0xff,
-		(5 >> 8) & 0xff,
-		5 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(351 >> 8) & 0xff,
-	351 & 0xff}
+		.description = "l4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3336 >> 8) & 0xff,
+			3336 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(514 >> 8) & 0xff,
+		514 & 0xff}
 		},
 	{
-		.description = "l3_qos.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2272 >> 8) & 0xff,
-		2272 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(352 >> 8) & 0xff,
-	352 & 0xff}
+		.description = "l4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(3339 >> 8) & 0xff,
+			3339 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_SKIP,
+		.field_src3 = BNXT_ULP_FIELD_SRC_CONST
 		},
 	{
-		.description = "l3_qos.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2276 >> 8) & 0xff,
-		2276 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3345 >> 8) & 0xff,
+			3345 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(516 >> 8) & 0xff,
+		516 & 0xff}
 		},
 	{
-		.description = "l4_src.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-	.field_opr1 = {
-		(2282 >> 8) & 0xff,
-		2282 & 0xff,
-		(3 >> 8) & 0xff,
-		3 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3349 >> 8) & 0xff,
+			3349 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(517 >> 8) & 0xff,
+		517 & 0xff}
 		},
 	{
-		.description = "l4_src.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2285 >> 8) & 0xff,
-		2285 & 0xff,
-		(1 >> 8) & 0xff,
-		1 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr2 = {
-	(355 >> 8) & 0xff,
-	355 & 0xff},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3352 >> 8) & 0xff,
+			3352 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(518 >> 8) & 0xff,
+		518 & 0xff}
 		},
 	{
-		.description = "l4_src.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-	.field_opr1 = {
-		(2286 >> 8) & 0xff,
-		2286 & 0xff,
-		(3 >> 8) & 0xff,
-		3 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(3355 >> 8) & 0xff,
+			3355 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_SKIP,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l4_dst.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-	.field_opr1 = {
-		(2291 >> 8) & 0xff,
-		2291 & 0xff,
-		(3 >> 8) & 0xff,
-		3 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3361 >> 8) & 0xff,
+			3361 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(520 >> 8) & 0xff,
+		520 & 0xff}
 		},
 	{
-		.description = "l4_dst.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2294 >> 8) & 0xff,
-		2294 & 0xff,
-		(1 >> 8) & 0xff,
-		1 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr2 = {
-	(358 >> 8) & 0xff,
-	358 & 0xff},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3365 >> 8) & 0xff,
+			3365 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(521 >> 8) & 0xff,
+		521 & 0xff}
 		},
 	{
-		.description = "l4_dst.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-	.field_opr1 = {
-		(2295 >> 8) & 0xff,
-		2295 & 0xff,
-		(3 >> 8) & 0xff,
-		3 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3368 >> 8) & 0xff,
+			3368 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(522 >> 8) & 0xff,
+		522 & 0xff}
+		},
+	{
+		.description = "l4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(3371 >> 8) & 0xff,
+			3371 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_SKIP,
+		.field_src3 = BNXT_ULP_FIELD_SRC_CONST
 		},
 	/* class_tid: 2, , table: control.profile_tcam_priority */
 	{
@@ -41665,15 +54305,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2301 >> 8) & 0xff,
-		2301 & 0xff,
+		(3376 >> 8) & 0xff,
+		3376 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(360 >> 8) & 0xff,
-	360 & 0xff}
+	(524 >> 8) & 0xff,
+	524 & 0xff}
 	},
 	{
 		.description = "",
@@ -41681,15 +54321,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2303 >> 8) & 0xff,
-		2303 & 0xff,
+		(3378 >> 8) & 0xff,
+		3378 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(361 >> 8) & 0xff,
-	361 & 0xff}
+	(525 >> 8) & 0xff,
+	525 & 0xff}
 		},
 	{
 		.description = "",
@@ -41697,15 +54337,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2305 >> 8) & 0xff,
-		2305 & 0xff,
+		(3380 >> 8) & 0xff,
+		3380 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(362 >> 8) & 0xff,
-	362 & 0xff}
+	(526 >> 8) & 0xff,
+	526 & 0xff}
 		},
 	{
 		.description = "",
@@ -41713,15 +54353,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2307 >> 8) & 0xff,
-		2307 & 0xff,
+		(3382 >> 8) & 0xff,
+		3382 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(363 >> 8) & 0xff,
-	363 & 0xff}
+	(527 >> 8) & 0xff,
+	527 & 0xff}
 		},
 	{
 		.description = "",
@@ -41729,17 +54369,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2309 >> 8) & 0xff,
-		2309 & 0xff,
+		(3384 >> 8) & 0xff,
+		3384 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
-	1},
+	ULP_THOR_SYM_PROF_TCAM_PRI_L3},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(364 >> 8) & 0xff,
-	364 & 0xff}
+	(528 >> 8) & 0xff,
+	528 & 0xff}
 		},
 	{
 		.description = "",
@@ -41747,17 +54387,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2311 >> 8) & 0xff,
-		2311 & 0xff,
+		(3386 >> 8) & 0xff,
+		3386 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
-	1},
+	ULP_THOR_SYM_PROF_TCAM_PRI_L3},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(365 >> 8) & 0xff,
-	365 & 0xff}
+	(529 >> 8) & 0xff,
+	529 & 0xff}
 		},
 	{
 		.description = "",
@@ -41765,17 +54405,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2313 >> 8) & 0xff,
-		2313 & 0xff,
+		(3388 >> 8) & 0xff,
+		3388 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
-	1},
+	ULP_THOR_SYM_PROF_TCAM_PRI_L3},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(366 >> 8) & 0xff,
-	366 & 0xff}
+	(530 >> 8) & 0xff,
+	530 & 0xff}
 		},
 	{
 		.description = "",
@@ -41783,16 +54423,16 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2315 >> 8) & 0xff,
-		2315 & 0xff,
+		(3390 >> 8) & 0xff,
+		3390 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
-	1},
+	ULP_THOR_SYM_PROF_TCAM_PRI_L3},
 	.field_src3 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr3 = {
-	2}
+	ULP_THOR_SYM_PROF_TCAM_PRI_L2}
 		},
 	{
 		.description = "l4_hdr_is_udp_tcp",
@@ -41800,15 +54440,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2319 >> 8) & 0xff,
-			2319 & 0xff,
+			(3394 >> 8) & 0xff,
+			3394 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(368 >> 8) & 0xff,
-		368 & 0xff}
+		(532 >> 8) & 0xff,
+		532 & 0xff}
 		},
 	{
 		.description = "l4_hdr_is_udp_tcp",
@@ -41816,15 +54456,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2321 >> 8) & 0xff,
-			2321 & 0xff,
+			(3396 >> 8) & 0xff,
+			3396 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(369 >> 8) & 0xff,
-		369 & 0xff}
+		(533 >> 8) & 0xff,
+		533 & 0xff}
 		},
 	{
 		.description = "l4_hdr_is_udp_tcp",
@@ -41832,8 +54472,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2323 >> 8) & 0xff,
-			2323 & 0xff,
+			(3398 >> 8) & 0xff,
+			3398 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -41845,8 +54485,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2327 >> 8) & 0xff,
-			2327 & 0xff,
+			(3402 >> 8) & 0xff,
+			3402 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -41854,8 +54494,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(371 >> 8) & 0xff,
-		371 & 0xff}
+		(535 >> 8) & 0xff,
+		535 & 0xff}
 		},
 	{
 		.description = "l4_hdr_is_udp_tcp",
@@ -41863,8 +54503,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2329 >> 8) & 0xff,
-			2329 & 0xff,
+			(3404 >> 8) & 0xff,
+			3404 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -41872,8 +54512,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(372 >> 8) & 0xff,
-		372 & 0xff}
+		(536 >> 8) & 0xff,
+		536 & 0xff}
 		},
 	{
 		.description = "l4_hdr_is_udp_tcp",
@@ -41881,8 +54521,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2331 >> 8) & 0xff,
-			2331 & 0xff,
+			(3406 >> 8) & 0xff,
+			3406 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -41896,15 +54536,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2335 >> 8) & 0xff,
-			2335 & 0xff,
+			(3410 >> 8) & 0xff,
+			3410 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(374 >> 8) & 0xff,
-		374 & 0xff}
+		(538 >> 8) & 0xff,
+		538 & 0xff}
 		},
 	{
 		.description = "l4_hdr_type",
@@ -41912,15 +54552,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2337 >> 8) & 0xff,
-			2337 & 0xff,
+			(3412 >> 8) & 0xff,
+			3412 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(375 >> 8) & 0xff,
-		375 & 0xff}
+		(539 >> 8) & 0xff,
+		539 & 0xff}
 		},
 	{
 		.description = "l4_hdr_type",
@@ -41928,8 +54568,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2339 >> 8) & 0xff,
-			2339 & 0xff,
+			(3414 >> 8) & 0xff,
+			3414 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -41941,15 +54581,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2343 >> 8) & 0xff,
-			2343 & 0xff,
+			(3418 >> 8) & 0xff,
+			3418 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(377 >> 8) & 0xff,
-		377 & 0xff}
+		(541 >> 8) & 0xff,
+		541 & 0xff}
 		},
 	{
 		.description = "l4_hdr_type",
@@ -41957,8 +54597,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2345 >> 8) & 0xff,
-			2345 & 0xff,
+			(3420 >> 8) & 0xff,
+			3420 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -41966,8 +54606,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		ULP_THOR_SYM_L4_HDR_TYPE_UDP},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(378 >> 8) & 0xff,
-		378 & 0xff}
+		(542 >> 8) & 0xff,
+		542 & 0xff}
 		},
 	{
 		.description = "l4_hdr_type",
@@ -41975,8 +54615,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2347 >> 8) & 0xff,
-			2347 & 0xff,
+			(3422 >> 8) & 0xff,
+			3422 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -41990,15 +54630,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2351 >> 8) & 0xff,
-			2351 & 0xff,
+			(3426 >> 8) & 0xff,
+			3426 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(380 >> 8) & 0xff,
-		380 & 0xff}
+		(544 >> 8) & 0xff,
+		544 & 0xff}
 		},
 	{
 		.description = "l4_hdr_error",
@@ -42006,15 +54646,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2353 >> 8) & 0xff,
-			2353 & 0xff,
+			(3428 >> 8) & 0xff,
+			3428 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(381 >> 8) & 0xff,
-		381 & 0xff}
+		(545 >> 8) & 0xff,
+		545 & 0xff}
 		},
 	{
 		.description = "l4_hdr_error",
@@ -42022,8 +54662,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2355 >> 8) & 0xff,
-			2355 & 0xff,
+			(3430 >> 8) & 0xff,
+			3430 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -42035,15 +54675,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2359 >> 8) & 0xff,
-			2359 & 0xff,
+			(3434 >> 8) & 0xff,
+			3434 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(383 >> 8) & 0xff,
-		383 & 0xff}
+		(547 >> 8) & 0xff,
+		547 & 0xff}
 		},
 	{
 		.description = "l4_hdr_error",
@@ -42051,15 +54691,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2361 >> 8) & 0xff,
-			2361 & 0xff,
+			(3436 >> 8) & 0xff,
+			3436 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(384 >> 8) & 0xff,
-		384 & 0xff}
+		(548 >> 8) & 0xff,
+		548 & 0xff}
 		},
 	{
 		.description = "l4_hdr_error",
@@ -42067,8 +54707,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2363 >> 8) & 0xff,
-			2363 & 0xff,
+			(3438 >> 8) & 0xff,
+			3438 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
@@ -42080,15 +54720,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2367 >> 8) & 0xff,
-			2367 & 0xff,
+			(3442 >> 8) & 0xff,
+			3442 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(386 >> 8) & 0xff,
-		386 & 0xff}
+		(550 >> 8) & 0xff,
+		550 & 0xff}
 		},
 	{
 		.description = "l4_hdr_valid",
@@ -42096,15 +54736,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2369 >> 8) & 0xff,
-			2369 & 0xff,
+			(3444 >> 8) & 0xff,
+			3444 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(387 >> 8) & 0xff,
-		387 & 0xff}
+		(551 >> 8) & 0xff,
+		551 & 0xff}
 		},
 	{
 		.description = "l4_hdr_valid",
@@ -42112,8 +54752,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2371 >> 8) & 0xff,
-			2371 & 0xff,
+			(3446 >> 8) & 0xff,
+			3446 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -42125,8 +54765,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2375 >> 8) & 0xff,
-			2375 & 0xff,
+			(3450 >> 8) & 0xff,
+			3450 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -42134,8 +54774,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		ULP_THOR_SYM_L4_HDR_VALID_YES},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(389 >> 8) & 0xff,
-		389 & 0xff}
+		(553 >> 8) & 0xff,
+		553 & 0xff}
 		},
 	{
 		.description = "l4_hdr_valid",
@@ -42143,8 +54783,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2377 >> 8) & 0xff,
-			2377 & 0xff,
+			(3452 >> 8) & 0xff,
+			3452 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -42152,8 +54792,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		ULP_THOR_SYM_L4_HDR_VALID_YES},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(390 >> 8) & 0xff,
-		390 & 0xff}
+		(554 >> 8) & 0xff,
+		554 & 0xff}
 		},
 	{
 		.description = "l4_hdr_valid",
@@ -42161,8 +54801,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2379 >> 8) & 0xff,
-			2379 & 0xff,
+			(3454 >> 8) & 0xff,
+			3454 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -42176,8 +54816,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2383 >> 8) & 0xff,
-			2383 & 0xff,
+			(3458 >> 8) & 0xff,
+			3458 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -42185,8 +54825,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		ULP_THOR_SYM_L3_HDR_ISIP_YES},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(392 >> 8) & 0xff,
-		392 & 0xff}
+		(556 >> 8) & 0xff,
+		556 & 0xff}
 		},
 	{
 		.description = "l3_hdr_isIP",
@@ -42194,8 +54834,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2385 >> 8) & 0xff,
-			2385 & 0xff,
+			(3460 >> 8) & 0xff,
+			3460 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -42203,8 +54843,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		ULP_THOR_SYM_L3_HDR_ISIP_YES},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(393 >> 8) & 0xff,
-		393 & 0xff}
+		(557 >> 8) & 0xff,
+		557 & 0xff}
 		},
 	{
 		.description = "l3_hdr_isIP",
@@ -42212,8 +54852,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2387 >> 8) & 0xff,
-			2387 & 0xff,
+			(3462 >> 8) & 0xff,
+			3462 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -42227,15 +54867,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2391 >> 8) & 0xff,
-			2391 & 0xff,
+			(3466 >> 8) & 0xff,
+			3466 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(395 >> 8) & 0xff,
-		395 & 0xff}
+		(559 >> 8) & 0xff,
+		559 & 0xff}
 		},
 	{
 		.description = "l3_hdr_type",
@@ -42243,15 +54883,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2393 >> 8) & 0xff,
-			2393 & 0xff,
+			(3468 >> 8) & 0xff,
+			3468 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(396 >> 8) & 0xff,
-		396 & 0xff}
+		(560 >> 8) & 0xff,
+		560 & 0xff}
 		},
 	{
 		.description = "l3_hdr_type",
@@ -42259,8 +54899,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2395 >> 8) & 0xff,
-			2395 & 0xff,
+			(3470 >> 8) & 0xff,
+			3470 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -42272,8 +54912,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2399 >> 8) & 0xff,
-			2399 & 0xff,
+			(3474 >> 8) & 0xff,
+			3474 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -42281,8 +54921,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		ULP_THOR_SYM_L3_HDR_TYPE_IPV6},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(398 >> 8) & 0xff,
-		398 & 0xff}
+		(562 >> 8) & 0xff,
+		562 & 0xff}
 		},
 	{
 		.description = "l3_hdr_type",
@@ -42290,15 +54930,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2401 >> 8) & 0xff,
-			2401 & 0xff,
+			(3476 >> 8) & 0xff,
+			3476 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(399 >> 8) & 0xff,
-		399 & 0xff}
+		(563 >> 8) & 0xff,
+		563 & 0xff}
 		},
 	{
 		.description = "l3_hdr_type",
@@ -42306,8 +54946,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2403 >> 8) & 0xff,
-			2403 & 0xff,
+			(3478 >> 8) & 0xff,
+			3478 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
@@ -42319,15 +54959,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2407 >> 8) & 0xff,
-			2407 & 0xff,
+			(3482 >> 8) & 0xff,
+			3482 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(401 >> 8) & 0xff,
-		401 & 0xff}
+		(565 >> 8) & 0xff,
+		565 & 0xff}
 		},
 	{
 		.description = "l3_hdr_error",
@@ -42335,15 +54975,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2409 >> 8) & 0xff,
-			2409 & 0xff,
+			(3484 >> 8) & 0xff,
+			3484 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(402 >> 8) & 0xff,
-		402 & 0xff}
+		(566 >> 8) & 0xff,
+		566 & 0xff}
 		},
 	{
 		.description = "l3_hdr_error",
@@ -42351,8 +54991,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2411 >> 8) & 0xff,
-			2411 & 0xff,
+			(3486 >> 8) & 0xff,
+			3486 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -42364,15 +55004,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2415 >> 8) & 0xff,
-			2415 & 0xff,
+			(3490 >> 8) & 0xff,
+			3490 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(404 >> 8) & 0xff,
-		404 & 0xff}
+		(568 >> 8) & 0xff,
+		568 & 0xff}
 		},
 	{
 		.description = "l3_hdr_error",
@@ -42380,15 +55020,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2417 >> 8) & 0xff,
-			2417 & 0xff,
+			(3492 >> 8) & 0xff,
+			3492 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(405 >> 8) & 0xff,
-		405 & 0xff}
+		(569 >> 8) & 0xff,
+		569 & 0xff}
 		},
 	{
 		.description = "l3_hdr_error",
@@ -42396,8 +55036,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2419 >> 8) & 0xff,
-			2419 & 0xff,
+			(3494 >> 8) & 0xff,
+			3494 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
@@ -42409,15 +55049,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2423 >> 8) & 0xff,
-			2423 & 0xff,
+			(3498 >> 8) & 0xff,
+			3498 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(407 >> 8) & 0xff,
-		407 & 0xff}
+		(571 >> 8) & 0xff,
+		571 & 0xff}
 		},
 	{
 		.description = "l3_hdr_valid",
@@ -42425,15 +55065,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2425 >> 8) & 0xff,
-			2425 & 0xff,
+			(3500 >> 8) & 0xff,
+			3500 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(408 >> 8) & 0xff,
-		408 & 0xff}
+		(572 >> 8) & 0xff,
+		572 & 0xff}
 		},
 	{
 		.description = "l3_hdr_valid",
@@ -42441,8 +55081,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2427 >> 8) & 0xff,
-			2427 & 0xff,
+			(3502 >> 8) & 0xff,
+			3502 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -42454,8 +55094,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2431 >> 8) & 0xff,
-			2431 & 0xff,
+			(3506 >> 8) & 0xff,
+			3506 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -42463,8 +55103,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		ULP_THOR_SYM_L3_HDR_VALID_YES},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(410 >> 8) & 0xff,
-		410 & 0xff}
+		(574 >> 8) & 0xff,
+		574 & 0xff}
 		},
 	{
 		.description = "l3_hdr_valid",
@@ -42472,8 +55112,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2433 >> 8) & 0xff,
-			2433 & 0xff,
+			(3508 >> 8) & 0xff,
+			3508 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -42481,8 +55121,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		ULP_THOR_SYM_L3_HDR_VALID_YES},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(411 >> 8) & 0xff,
-		411 & 0xff}
+		(575 >> 8) & 0xff,
+		575 & 0xff}
 		},
 	{
 		.description = "l3_hdr_valid",
@@ -42490,8 +55130,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2435 >> 8) & 0xff,
-			2435 & 0xff,
+			(3510 >> 8) & 0xff,
+			3510 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -42505,8 +55145,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2440 >> 8) & 0xff,
-			2440 & 0xff,
+			(3515 >> 8) & 0xff,
+			3515 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -42520,8 +55160,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2446 >> 8) & 0xff,
-			2446 & 0xff,
+			(3521 >> 8) & 0xff,
+			3521 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -42535,8 +55175,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2453 >> 8) & 0xff,
-			2453 & 0xff,
+			(3528 >> 8) & 0xff,
+			3528 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -42548,8 +55188,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2457 >> 8) & 0xff,
-			2457 & 0xff,
+			(3532 >> 8) & 0xff,
+			3532 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
@@ -42561,8 +55201,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2461 >> 8) & 0xff,
-			2461 & 0xff,
+			(3536 >> 8) & 0xff,
+			3536 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -42576,15 +55216,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2465 >> 8) & 0xff,
-			2465 & 0xff,
+			(3540 >> 8) & 0xff,
+			3540 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(418 >> 8) & 0xff,
-		418 & 0xff}
+		(582 >> 8) & 0xff,
+		582 & 0xff}
 		},
 	{
 		.description = "tun_hdr_type",
@@ -42592,15 +55232,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2467 >> 8) & 0xff,
-			2467 & 0xff,
+			(3542 >> 8) & 0xff,
+			3542 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(419 >> 8) & 0xff,
-		419 & 0xff}
+		(583 >> 8) & 0xff,
+		583 & 0xff}
 		},
 	{
 		.description = "tun_hdr_type",
@@ -42608,15 +55248,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2469 >> 8) & 0xff,
-			2469 & 0xff,
+			(3544 >> 8) & 0xff,
+			3544 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(420 >> 8) & 0xff,
-		420 & 0xff}
+		(584 >> 8) & 0xff,
+		584 & 0xff}
 		},
 	{
 		.description = "tun_hdr_type",
@@ -42624,15 +55264,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2471 >> 8) & 0xff,
-			2471 & 0xff,
+			(3546 >> 8) & 0xff,
+			3546 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(421 >> 8) & 0xff,
-		421 & 0xff}
+		(585 >> 8) & 0xff,
+		585 & 0xff}
 		},
 	{
 		.description = "tun_hdr_type",
@@ -42640,8 +55280,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2473 >> 8) & 0xff,
-			2473 & 0xff,
+			(3548 >> 8) & 0xff,
+			3548 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -42653,15 +55293,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2477 >> 8) & 0xff,
-			2477 & 0xff,
+			(3552 >> 8) & 0xff,
+			3552 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(423 >> 8) & 0xff,
-		423 & 0xff}
+		(587 >> 8) & 0xff,
+		587 & 0xff}
 		},
 	{
 		.description = "tun_hdr_type",
@@ -42669,8 +55309,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2479 >> 8) & 0xff,
-			2479 & 0xff,
+			(3554 >> 8) & 0xff,
+			3554 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -42678,8 +55318,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		ULP_THOR_SYM_TUN_HDR_TYPE_GENEVE},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(424 >> 8) & 0xff,
-		424 & 0xff}
+		(588 >> 8) & 0xff,
+		588 & 0xff}
 		},
 	{
 		.description = "tun_hdr_type",
@@ -42687,8 +55327,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2481 >> 8) & 0xff,
-			2481 & 0xff,
+			(3556 >> 8) & 0xff,
+			3556 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -42696,8 +55336,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		ULP_THOR_SYM_TUN_HDR_TYPE_GRE},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(425 >> 8) & 0xff,
-		425 & 0xff}
+		(589 >> 8) & 0xff,
+		589 & 0xff}
 		},
 	{
 		.description = "tun_hdr_type",
@@ -42705,8 +55345,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2483 >> 8) & 0xff,
-			2483 & 0xff,
+			(3558 >> 8) & 0xff,
+			3558 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -42714,8 +55354,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		ULP_THOR_SYM_TUN_HDR_TYPE_UPAR1},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(426 >> 8) & 0xff,
-		426 & 0xff}
+		(590 >> 8) & 0xff,
+		590 & 0xff}
 		},
 	{
 		.description = "tun_hdr_type",
@@ -42723,8 +55363,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2485 >> 8) & 0xff,
-			2485 & 0xff,
+			(3560 >> 8) & 0xff,
+			3560 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -42738,8 +55378,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2492 >> 8) & 0xff,
-			2492 & 0xff,
+			(3567 >> 8) & 0xff,
+			3567 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -42751,8 +55391,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2496 >> 8) & 0xff,
-			2496 & 0xff,
+			(3571 >> 8) & 0xff,
+			3571 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -42766,8 +55406,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2500 >> 8) & 0xff,
-			2500 & 0xff,
+			(3575 >> 8) & 0xff,
+			3575 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -42779,8 +55419,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2504 >> 8) & 0xff,
-			2504 & 0xff,
+			(3579 >> 8) & 0xff,
+			3579 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -42794,8 +55434,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2508 >> 8) & 0xff,
-			2508 & 0xff,
+			(3583 >> 8) & 0xff,
+			3583 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -42807,8 +55447,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2512 >> 8) & 0xff,
-			2512 & 0xff,
+			(3587 >> 8) & 0xff,
+			3587 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
@@ -42820,15 +55460,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2516 >> 8) & 0xff,
-			2516 & 0xff,
+			(3591 >> 8) & 0xff,
+			3591 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(434 >> 8) & 0xff,
-		434 & 0xff}
+		(598 >> 8) & 0xff,
+		598 & 0xff}
 		},
 	{
 		.description = "tl4_hdr_valid",
@@ -42836,8 +55476,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2518 >> 8) & 0xff,
-			2518 & 0xff,
+			(3593 >> 8) & 0xff,
+			3593 & 0xff,
 			(1 >> 8) & 0xff,
 			1 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
@@ -42849,8 +55489,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2521 >> 8) & 0xff,
-			2521 & 0xff,
+			(3596 >> 8) & 0xff,
+			3596 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -42858,8 +55498,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		ULP_THOR_SYM_TL4_HDR_VALID_YES},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(436 >> 8) & 0xff,
-		436 & 0xff}
+		(600 >> 8) & 0xff,
+		600 & 0xff}
 		},
 	{
 		.description = "tl4_hdr_valid",
@@ -42867,8 +55507,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2523 >> 8) & 0xff,
-			2523 & 0xff,
+			(3598 >> 8) & 0xff,
+			3598 & 0xff,
 			(1 >> 8) & 0xff,
 			1 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
@@ -42880,8 +55520,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2526 >> 8) & 0xff,
-			2526 & 0xff,
+			(3601 >> 8) & 0xff,
+			3601 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -42895,8 +55535,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2530 >> 8) & 0xff,
-			2530 & 0xff,
+			(3605 >> 8) & 0xff,
+			3605 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -42908,8 +55548,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2534 >> 8) & 0xff,
-			2534 & 0xff,
+			(3609 >> 8) & 0xff,
+			3609 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
@@ -42921,8 +55561,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2538 >> 8) & 0xff,
-			2538 & 0xff,
+			(3613 >> 8) & 0xff,
+			3613 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -42934,8 +55574,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2542 >> 8) & 0xff,
-			2542 & 0xff,
+			(3617 >> 8) & 0xff,
+			3617 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
@@ -42947,8 +55587,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2546 >> 8) & 0xff,
-			2546 & 0xff,
+			(3621 >> 8) & 0xff,
+			3621 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -42956,14 +55596,46 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		ULP_THOR_SYM_TL3_HDR_VALID_YES},
 		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	{
+		.description = "metadata",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3635 >> 8) & 0xff,
+			3635 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr2 = {
+		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	{
+		.description = "meta",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3646 >> 8) & 0xff,
+			3646 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr2 = {
+		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
 	{
 		.description = "tl2_smac",
 		.field_bit_size = 48,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2582 >> 8) & 0xff,
-			2582 & 0xff,
+			(3661 >> 8) & 0xff,
+			3661 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_SKIP,
@@ -42978,8 +55650,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2589 >> 8) & 0xff,
-			2589 & 0xff,
+			(3668 >> 8) & 0xff,
+			3668 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_SKIP,
@@ -42994,8 +55666,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2607 >> 8) & 0xff,
-			2607 & 0xff,
+			(3686 >> 8) & 0xff,
+			3686 & 0xff,
 			(5 >> 8) & 0xff,
 			5 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43010,8 +55682,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2617 >> 8) & 0xff,
-			2617 & 0xff,
+			(3696 >> 8) & 0xff,
+			3696 & 0xff,
 			(5 >> 8) & 0xff,
 			5 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43026,8 +55698,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2644 >> 8) & 0xff,
-			2644 & 0xff,
+			(3723 >> 8) & 0xff,
+			3723 & 0xff,
 			(1 >> 8) & 0xff,
 			1 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43042,8 +55714,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2649 >> 8) & 0xff,
-			2649 & 0xff,
+			(3728 >> 8) & 0xff,
+			3728 & 0xff,
 			(1 >> 8) & 0xff,
 			1 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43058,8 +55730,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2670 >> 8) & 0xff,
-			2670 & 0xff,
+			(3749 >> 8) & 0xff,
+			3749 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43074,8 +55746,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2678 >> 8) & 0xff,
-			2678 & 0xff,
+			(3757 >> 8) & 0xff,
+			3757 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43090,8 +55762,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2686 >> 8) & 0xff,
-			2686 & 0xff,
+			(3765 >> 8) & 0xff,
+			3765 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43106,8 +55778,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2694 >> 8) & 0xff,
-			2694 & 0xff,
+			(3773 >> 8) & 0xff,
+			3773 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43122,8 +55794,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2702 >> 8) & 0xff,
-			2702 & 0xff,
+			(3781 >> 8) & 0xff,
+			3781 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43138,8 +55810,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2710 >> 8) & 0xff,
-			2710 & 0xff,
+			(3789 >> 8) & 0xff,
+			3789 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43154,8 +55826,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2718 >> 8) & 0xff,
-			2718 & 0xff,
+			(3797 >> 8) & 0xff,
+			3797 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43170,8 +55842,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2726 >> 8) & 0xff,
-			2726 & 0xff,
+			(3805 >> 8) & 0xff,
+			3805 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43186,8 +55858,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2735 >> 8) & 0xff,
-			2735 & 0xff,
+			(3814 >> 8) & 0xff,
+			3814 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43202,8 +55874,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2744 >> 8) & 0xff,
-			2744 & 0xff,
+			(3823 >> 8) & 0xff,
+			3823 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43218,8 +55890,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2751 >> 8) & 0xff,
-			2751 & 0xff,
+			(3830 >> 8) & 0xff,
+			3830 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43234,8 +55906,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2757 >> 8) & 0xff,
-			2757 & 0xff,
+			(3836 >> 8) & 0xff,
+			3836 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43250,8 +55922,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2764 >> 8) & 0xff,
-			2764 & 0xff,
+			(3843 >> 8) & 0xff,
+			3843 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43266,8 +55938,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2771 >> 8) & 0xff,
-			2771 & 0xff,
+			(3850 >> 8) & 0xff,
+			3850 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43282,8 +55954,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2778 >> 8) & 0xff,
-			2778 & 0xff,
+			(3857 >> 8) & 0xff,
+			3857 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43298,8 +55970,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2785 >> 8) & 0xff,
-			2785 & 0xff,
+			(3864 >> 8) & 0xff,
+			3864 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43314,8 +55986,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2793 >> 8) & 0xff,
-			2793 & 0xff,
+			(3872 >> 8) & 0xff,
+			3872 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43330,8 +56002,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2802 >> 8) & 0xff,
-			2802 & 0xff,
+			(3881 >> 8) & 0xff,
+			3881 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43346,8 +56018,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2811 >> 8) & 0xff,
-			2811 & 0xff,
+			(3890 >> 8) & 0xff,
+			3890 & 0xff,
 			(5 >> 8) & 0xff,
 			5 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43356,8 +56028,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(468 >> 8) & 0xff,
-		468 & 0xff}
+		(634 >> 8) & 0xff,
+		634 & 0xff}
 		},
 	{
 		.description = "l2_ivv",
@@ -43365,8 +56037,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2816 >> 8) & 0xff,
-			2816 & 0xff,
+			(3895 >> 8) & 0xff,
+			3895 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43375,8 +56047,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(469 >> 8) & 0xff,
-		469 & 0xff}
+		(635 >> 8) & 0xff,
+		635 & 0xff}
 		},
 	{
 		.description = "l2_ivv",
@@ -43384,8 +56056,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2820 >> 8) & 0xff,
-			2820 & 0xff,
+			(3899 >> 8) & 0xff,
+			3899 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43400,8 +56072,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2829 >> 8) & 0xff,
-			2829 & 0xff,
+			(3908 >> 8) & 0xff,
+			3908 & 0xff,
 			(5 >> 8) & 0xff,
 			5 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43410,8 +56082,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(471 >> 8) & 0xff,
-		471 & 0xff}
+		(637 >> 8) & 0xff,
+		637 & 0xff}
 		},
 	{
 		.description = "l2_ivv",
@@ -43419,8 +56091,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2834 >> 8) & 0xff,
-			2834 & 0xff,
+			(3913 >> 8) & 0xff,
+			3913 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43429,8 +56101,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(472 >> 8) & 0xff,
-		472 & 0xff}
+		(638 >> 8) & 0xff,
+		638 & 0xff}
 		},
 	{
 		.description = "l2_ivv",
@@ -43438,8 +56110,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2838 >> 8) & 0xff,
-			2838 & 0xff,
+			(3917 >> 8) & 0xff,
+			3917 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43454,8 +56126,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2847 >> 8) & 0xff,
-			2847 & 0xff,
+			(3926 >> 8) & 0xff,
+			3926 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43470,8 +56142,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2856 >> 8) & 0xff,
-			2856 & 0xff,
+			(3935 >> 8) & 0xff,
+			3935 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43486,8 +56158,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2864 >> 8) & 0xff,
-			2864 & 0xff,
+			(3943 >> 8) & 0xff,
+			3943 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43502,8 +56174,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2871 >> 8) & 0xff,
-			2871 & 0xff,
+			(3950 >> 8) & 0xff,
+			3950 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43518,8 +56190,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2878 >> 8) & 0xff,
-			2878 & 0xff,
+			(3957 >> 8) & 0xff,
+			3957 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43534,8 +56206,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2885 >> 8) & 0xff,
-			2885 & 0xff,
+			(3964 >> 8) & 0xff,
+			3964 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43550,8 +56222,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2892 >> 8) & 0xff,
-			2892 & 0xff,
+			(3971 >> 8) & 0xff,
+			3971 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43566,8 +56238,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2899 >> 8) & 0xff,
-			2899 & 0xff,
+			(3978 >> 8) & 0xff,
+			3978 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43582,8 +56254,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2906 >> 8) & 0xff,
-			2906 & 0xff,
+			(3985 >> 8) & 0xff,
+			3985 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43598,8 +56270,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2913 >> 8) & 0xff,
-			2913 & 0xff,
+			(3992 >> 8) & 0xff,
+			3992 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43614,8 +56286,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2920 >> 8) & 0xff,
-			2920 & 0xff,
+			(3999 >> 8) & 0xff,
+			3999 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43624,8 +56296,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(484 >> 8) & 0xff,
-		484 & 0xff}
+		(650 >> 8) & 0xff,
+		650 & 0xff}
 		},
 	{
 		.description = "l3.ttl",
@@ -43633,8 +56305,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2924 >> 8) & 0xff,
-			2924 & 0xff,
+			(4003 >> 8) & 0xff,
+			4003 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43643,8 +56315,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(485 >> 8) & 0xff,
-		485 & 0xff}
+		(651 >> 8) & 0xff,
+		651 & 0xff}
 		},
 	{
 		.description = "l3.ttl",
@@ -43652,8 +56324,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2927 >> 8) & 0xff,
-			2927 & 0xff,
+			(4006 >> 8) & 0xff,
+			4006 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43668,8 +56340,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2934 >> 8) & 0xff,
-			2934 & 0xff,
+			(4013 >> 8) & 0xff,
+			4013 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43678,8 +56350,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(487 >> 8) & 0xff,
-		487 & 0xff}
+		(653 >> 8) & 0xff,
+		653 & 0xff}
 		},
 	{
 		.description = "l3.ttl",
@@ -43687,8 +56359,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2938 >> 8) & 0xff,
-			2938 & 0xff,
+			(4017 >> 8) & 0xff,
+			4017 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43697,8 +56369,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(488 >> 8) & 0xff,
-		488 & 0xff}
+		(654 >> 8) & 0xff,
+		654 & 0xff}
 		},
 	{
 		.description = "l3.ttl",
@@ -43706,8 +56378,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2941 >> 8) & 0xff,
-			2941 & 0xff,
+			(4020 >> 8) & 0xff,
+			4020 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43722,15 +56394,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2947 >> 8) & 0xff,
-			2947 & 0xff,
+			(4026 >> 8) & 0xff,
+			4026 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(490 >> 8) & 0xff,
-		490 & 0xff}
+		(656 >> 8) & 0xff,
+		656 & 0xff}
 		},
 	{
 		.description = "l3.prot",
@@ -43738,15 +56410,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2950 >> 8) & 0xff,
-			2950 & 0xff,
+			(4029 >> 8) & 0xff,
+			4029 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(491 >> 8) & 0xff,
-		491 & 0xff}
+		(657 >> 8) & 0xff,
+		657 & 0xff}
 		},
 	{
 		.description = "l3.prot",
@@ -43754,15 +56426,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2952 >> 8) & 0xff,
-			2952 & 0xff,
+			(4031 >> 8) & 0xff,
+			4031 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(492 >> 8) & 0xff,
-		492 & 0xff}
+		(658 >> 8) & 0xff,
+		658 & 0xff}
 		},
 	{
 		.description = "l3.prot",
@@ -43770,8 +56442,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2954 >> 8) & 0xff,
-			2954 & 0xff,
+			(4033 >> 8) & 0xff,
+			4033 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43780,8 +56452,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(493 >> 8) & 0xff,
-		493 & 0xff}
+		(659 >> 8) & 0xff,
+		659 & 0xff}
 		},
 	{
 		.description = "l3.prot",
@@ -43789,8 +56461,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2958 >> 8) & 0xff,
-			2958 & 0xff,
+			(4037 >> 8) & 0xff,
+			4037 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43799,8 +56471,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(494 >> 8) & 0xff,
-		494 & 0xff}
+		(660 >> 8) & 0xff,
+		660 & 0xff}
 		},
 	{
 		.description = "l3.prot",
@@ -43808,8 +56480,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2962 >> 8) & 0xff,
-			2962 & 0xff,
+			(4041 >> 8) & 0xff,
+			4041 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43818,8 +56490,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(495 >> 8) & 0xff,
-		495 & 0xff}
+		(661 >> 8) & 0xff,
+		661 & 0xff}
 		},
 	{
 		.description = "l3.prot",
@@ -43827,8 +56499,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2965 >> 8) & 0xff,
-			2965 & 0xff,
+			(4044 >> 8) & 0xff,
+			4044 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43843,8 +56515,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2971 >> 8) & 0xff,
-			2971 & 0xff,
+			(4050 >> 8) & 0xff,
+			4050 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -43852,8 +56524,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		ULP_THOR_SYM_IP_PROTO_UDP},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(497 >> 8) & 0xff,
-		497 & 0xff}
+		(663 >> 8) & 0xff,
+		663 & 0xff}
 		},
 	{
 		.description = "l3.prot",
@@ -43861,8 +56533,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2974 >> 8) & 0xff,
-			2974 & 0xff,
+			(4053 >> 8) & 0xff,
+			4053 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -43870,8 +56542,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		ULP_THOR_SYM_IP_PROTO_TCP},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(498 >> 8) & 0xff,
-		498 & 0xff}
+		(664 >> 8) & 0xff,
+		664 & 0xff}
 		},
 	{
 		.description = "l3.prot",
@@ -43879,8 +56551,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2976 >> 8) & 0xff,
-			2976 & 0xff,
+			(4055 >> 8) & 0xff,
+			4055 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -43888,8 +56560,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		ULP_THOR_SYM_IP_PROTO_UDP},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(499 >> 8) & 0xff,
-		499 & 0xff}
+		(665 >> 8) & 0xff,
+		665 & 0xff}
 		},
 	{
 		.description = "l3.prot",
@@ -43897,8 +56569,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2978 >> 8) & 0xff,
-			2978 & 0xff,
+			(4057 >> 8) & 0xff,
+			4057 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43907,8 +56579,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(500 >> 8) & 0xff,
-		500 & 0xff}
+		(666 >> 8) & 0xff,
+		666 & 0xff}
 		},
 	{
 		.description = "l3.prot",
@@ -43916,8 +56588,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2982 >> 8) & 0xff,
-			2982 & 0xff,
+			(4061 >> 8) & 0xff,
+			4061 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43926,8 +56598,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(501 >> 8) & 0xff,
-		501 & 0xff}
+		(667 >> 8) & 0xff,
+		667 & 0xff}
 		},
 	{
 		.description = "l3.prot",
@@ -43935,8 +56607,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2986 >> 8) & 0xff,
-			2986 & 0xff,
+			(4065 >> 8) & 0xff,
+			4065 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43945,8 +56617,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(502 >> 8) & 0xff,
-		502 & 0xff}
+		(668 >> 8) & 0xff,
+		668 & 0xff}
 		},
 	{
 		.description = "l3.prot",
@@ -43954,8 +56626,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2989 >> 8) & 0xff,
-			2989 & 0xff,
+			(4068 >> 8) & 0xff,
+			4068 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43970,8 +56642,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2996 >> 8) & 0xff,
-			2996 & 0xff,
+			(4075 >> 8) & 0xff,
+			4075 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43980,8 +56652,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(504 >> 8) & 0xff,
-		504 & 0xff}
+		(670 >> 8) & 0xff,
+		670 & 0xff}
 		},
 	{
 		.description = "l3.qos",
@@ -43989,8 +56661,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3000 >> 8) & 0xff,
-			3000 & 0xff,
+			(4079 >> 8) & 0xff,
+			4079 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -43999,8 +56671,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(505 >> 8) & 0xff,
-		505 & 0xff}
+		(671 >> 8) & 0xff,
+		671 & 0xff}
 		},
 	{
 		.description = "l3.qos",
@@ -44008,8 +56680,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3003 >> 8) & 0xff,
-			3003 & 0xff,
+			(4082 >> 8) & 0xff,
+			4082 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -44024,8 +56696,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3010 >> 8) & 0xff,
-			3010 & 0xff,
+			(4089 >> 8) & 0xff,
+			4089 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -44034,8 +56706,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(507 >> 8) & 0xff,
-		507 & 0xff}
+		(673 >> 8) & 0xff,
+		673 & 0xff}
 		},
 	{
 		.description = "l3.qos",
@@ -44043,8 +56715,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3014 >> 8) & 0xff,
-			3014 & 0xff,
+			(4093 >> 8) & 0xff,
+			4093 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -44053,8 +56725,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(508 >> 8) & 0xff,
-		508 & 0xff}
+		(674 >> 8) & 0xff,
+		674 & 0xff}
 		},
 	{
 		.description = "l3.qos",
@@ -44062,8 +56734,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3017 >> 8) & 0xff,
-			3017 & 0xff,
+			(4096 >> 8) & 0xff,
+			4096 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -44078,8 +56750,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3024 >> 8) & 0xff,
-			3024 & 0xff,
+			(4103 >> 8) & 0xff,
+			4103 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -44088,8 +56760,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(510 >> 8) & 0xff,
-		510 & 0xff}
+		(676 >> 8) & 0xff,
+		676 & 0xff}
 		},
 	{
 		.description = "l4.src",
@@ -44097,8 +56769,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3028 >> 8) & 0xff,
-			3028 & 0xff,
+			(4107 >> 8) & 0xff,
+			4107 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -44107,8 +56779,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(511 >> 8) & 0xff,
-		511 & 0xff}
+		(677 >> 8) & 0xff,
+		677 & 0xff}
 		},
 	{
 		.description = "l4.src",
@@ -44116,8 +56788,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3031 >> 8) & 0xff,
-			3031 & 0xff,
+			(4110 >> 8) & 0xff,
+			4110 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -44126,8 +56798,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(512 >> 8) & 0xff,
-		512 & 0xff}
+		(678 >> 8) & 0xff,
+		678 & 0xff}
 		},
 	{
 		.description = "l4.src",
@@ -44135,8 +56807,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 		.field_opr1 = {
-			(3034 >> 8) & 0xff,
-			3034 & 0xff,
+			(4113 >> 8) & 0xff,
+			4113 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_SKIP,
@@ -44148,8 +56820,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3040 >> 8) & 0xff,
-			3040 & 0xff,
+			(4119 >> 8) & 0xff,
+			4119 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -44158,8 +56830,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(514 >> 8) & 0xff,
-		514 & 0xff}
+		(680 >> 8) & 0xff,
+		680 & 0xff}
 		},
 	{
 		.description = "l4.src",
@@ -44167,8 +56839,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3044 >> 8) & 0xff,
-			3044 & 0xff,
+			(4123 >> 8) & 0xff,
+			4123 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -44177,8 +56849,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(515 >> 8) & 0xff,
-		515 & 0xff}
+		(681 >> 8) & 0xff,
+		681 & 0xff}
 		},
 	{
 		.description = "l4.src",
@@ -44186,8 +56858,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3047 >> 8) & 0xff,
-			3047 & 0xff,
+			(4126 >> 8) & 0xff,
+			4126 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -44196,8 +56868,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(516 >> 8) & 0xff,
-		516 & 0xff}
+		(682 >> 8) & 0xff,
+		682 & 0xff}
 		},
 	{
 		.description = "l4.src",
@@ -44205,8 +56877,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 		.field_opr1 = {
-			(3050 >> 8) & 0xff,
-			3050 & 0xff,
+			(4129 >> 8) & 0xff,
+			4129 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_SKIP,
@@ -44218,8 +56890,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3056 >> 8) & 0xff,
-			3056 & 0xff,
+			(4135 >> 8) & 0xff,
+			4135 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -44228,8 +56900,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(518 >> 8) & 0xff,
-		518 & 0xff}
+		(684 >> 8) & 0xff,
+		684 & 0xff}
 		},
 	{
 		.description = "l4.dst",
@@ -44237,8 +56909,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3060 >> 8) & 0xff,
-			3060 & 0xff,
+			(4139 >> 8) & 0xff,
+			4139 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -44247,8 +56919,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(519 >> 8) & 0xff,
-		519 & 0xff}
+		(685 >> 8) & 0xff,
+		685 & 0xff}
 		},
 	{
 		.description = "l4.dst",
@@ -44256,8 +56928,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3063 >> 8) & 0xff,
-			3063 & 0xff,
+			(4142 >> 8) & 0xff,
+			4142 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -44266,8 +56938,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(520 >> 8) & 0xff,
-		520 & 0xff}
+		(686 >> 8) & 0xff,
+		686 & 0xff}
 		},
 	{
 		.description = "l4.dst",
@@ -44275,8 +56947,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 		.field_opr1 = {
-			(3066 >> 8) & 0xff,
-			3066 & 0xff,
+			(4145 >> 8) & 0xff,
+			4145 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_SKIP,
@@ -44288,8 +56960,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3072 >> 8) & 0xff,
-			3072 & 0xff,
+			(4151 >> 8) & 0xff,
+			4151 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -44298,8 +56970,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(522 >> 8) & 0xff,
-		522 & 0xff}
+		(688 >> 8) & 0xff,
+		688 & 0xff}
 		},
 	{
 		.description = "l4.dst",
@@ -44307,8 +56979,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3076 >> 8) & 0xff,
-			3076 & 0xff,
+			(4155 >> 8) & 0xff,
+			4155 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -44317,8 +56989,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(523 >> 8) & 0xff,
-		523 & 0xff}
+		(689 >> 8) & 0xff,
+		689 & 0xff}
 		},
 	{
 		.description = "l4.dst",
@@ -44326,8 +56998,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3079 >> 8) & 0xff,
-			3079 & 0xff,
+			(4158 >> 8) & 0xff,
+			4158 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -44336,8 +57008,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(524 >> 8) & 0xff,
-		524 & 0xff}
+		(690 >> 8) & 0xff,
+		690 & 0xff}
 		},
 	{
 		.description = "l4.dst",
@@ -44345,8 +57017,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 		.field_opr1 = {
-			(3082 >> 8) & 0xff,
-			3082 & 0xff,
+			(4161 >> 8) & 0xff,
+			4161 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_SKIP,
@@ -44358,8 +57030,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3115 >> 8) & 0xff,
-		3115 & 0xff,
+		(4194 >> 8) & 0xff,
+		4194 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44373,8 +57045,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3129 >> 8) & 0xff,
-		3129 & 0xff,
+		(4208 >> 8) & 0xff,
+		4208 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44388,8 +57060,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3137 >> 8) & 0xff,
-		3137 & 0xff,
+		(4216 >> 8) & 0xff,
+		4216 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44403,8 +57075,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3145 >> 8) & 0xff,
-		3145 & 0xff,
+		(4224 >> 8) & 0xff,
+		4224 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44418,8 +57090,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3153 >> 8) & 0xff,
-		3153 & 0xff,
+		(4232 >> 8) & 0xff,
+		4232 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44433,8 +57105,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3161 >> 8) & 0xff,
-		3161 & 0xff,
+		(4240 >> 8) & 0xff,
+		4240 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44448,8 +57120,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3169 >> 8) & 0xff,
-		3169 & 0xff,
+		(4248 >> 8) & 0xff,
+		4248 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44463,8 +57135,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3178 >> 8) & 0xff,
-		3178 & 0xff,
+		(4257 >> 8) & 0xff,
+		4257 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44478,8 +57150,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3185 >> 8) & 0xff,
-		3185 & 0xff,
+		(4264 >> 8) & 0xff,
+		4264 & 0xff,
 		(3 >> 8) & 0xff,
 		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44493,8 +57165,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3192 >> 8) & 0xff,
-		3192 & 0xff,
+		(4271 >> 8) & 0xff,
+		4271 & 0xff,
 		(3 >> 8) & 0xff,
 		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44508,8 +57180,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3199 >> 8) & 0xff,
-		3199 & 0xff,
+		(4278 >> 8) & 0xff,
+		4278 & 0xff,
 		(3 >> 8) & 0xff,
 		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44523,8 +57195,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3207 >> 8) & 0xff,
-		3207 & 0xff,
+		(4286 >> 8) & 0xff,
+		4286 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44538,8 +57210,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3216 >> 8) & 0xff,
-		3216 & 0xff,
+		(4295 >> 8) & 0xff,
+		4295 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44547,8 +57219,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(538 >> 8) & 0xff,
-	538 & 0xff}
+	(704 >> 8) & 0xff,
+	704 & 0xff}
 		},
 	{
 		.description = "l2_ivv.en",
@@ -44556,8 +57228,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3221 >> 8) & 0xff,
-		3221 & 0xff,
+		(4300 >> 8) & 0xff,
+		4300 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44565,8 +57237,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(539 >> 8) & 0xff,
-	539 & 0xff}
+	(705 >> 8) & 0xff,
+	705 & 0xff}
 		},
 	{
 		.description = "l2_ivv.en",
@@ -44574,8 +57246,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3225 >> 8) & 0xff,
-		3225 & 0xff,
+		(4304 >> 8) & 0xff,
+		4304 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44589,8 +57261,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3234 >> 8) & 0xff,
-		3234 & 0xff,
+		(4313 >> 8) & 0xff,
+		4313 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44604,8 +57276,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3242 >> 8) & 0xff,
-		3242 & 0xff,
+		(4321 >> 8) & 0xff,
+		4321 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44613,8 +57285,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(542 >> 8) & 0xff,
-	542 & 0xff}
+	(708 >> 8) & 0xff,
+	708 & 0xff}
 		},
 	{
 		.description = "l3_sip.en",
@@ -44622,8 +57294,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3246 >> 8) & 0xff,
-		3246 & 0xff,
+		(4325 >> 8) & 0xff,
+		4325 & 0xff,
 		(3 >> 8) & 0xff,
 		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44631,8 +57303,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(543 >> 8) & 0xff,
-	543 & 0xff}
+	(709 >> 8) & 0xff,
+	709 & 0xff}
 		},
 	{
 		.description = "l3_sip.en",
@@ -44640,8 +57312,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3249 >> 8) & 0xff,
-		3249 & 0xff,
+		(4328 >> 8) & 0xff,
+		4328 & 0xff,
 		(3 >> 8) & 0xff,
 		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44655,8 +57327,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3256 >> 8) & 0xff,
-		3256 & 0xff,
+		(4335 >> 8) & 0xff,
+		4335 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44664,8 +57336,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(545 >> 8) & 0xff,
-	545 & 0xff}
+	(711 >> 8) & 0xff,
+	711 & 0xff}
 		},
 	{
 		.description = "l3_dip.en",
@@ -44673,8 +57345,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3260 >> 8) & 0xff,
-		3260 & 0xff,
+		(4339 >> 8) & 0xff,
+		4339 & 0xff,
 		(3 >> 8) & 0xff,
 		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44682,8 +57354,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(546 >> 8) & 0xff,
-	546 & 0xff}
+	(712 >> 8) & 0xff,
+	712 & 0xff}
 		},
 	{
 		.description = "l3_dip.en",
@@ -44691,8 +57363,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3263 >> 8) & 0xff,
-		3263 & 0xff,
+		(4342 >> 8) & 0xff,
+		4342 & 0xff,
 		(3 >> 8) & 0xff,
 		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44706,8 +57378,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3270 >> 8) & 0xff,
-		3270 & 0xff,
+		(4349 >> 8) & 0xff,
+		4349 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44715,8 +57387,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(548 >> 8) & 0xff,
-	548 & 0xff}
+	(714 >> 8) & 0xff,
+	714 & 0xff}
 		},
 	{
 		.description = "l3_ttl.en",
@@ -44724,8 +57396,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3274 >> 8) & 0xff,
-		3274 & 0xff,
+		(4353 >> 8) & 0xff,
+		4353 & 0xff,
 		(3 >> 8) & 0xff,
 		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44733,8 +57405,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(549 >> 8) & 0xff,
-	549 & 0xff}
+	(715 >> 8) & 0xff,
+	715 & 0xff}
 		},
 	{
 		.description = "l3_ttl.en",
@@ -44742,8 +57414,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3277 >> 8) & 0xff,
-		3277 & 0xff,
+		(4356 >> 8) & 0xff,
+		4356 & 0xff,
 		(3 >> 8) & 0xff,
 		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44757,8 +57429,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3284 >> 8) & 0xff,
-		3284 & 0xff,
+		(4363 >> 8) & 0xff,
+		4363 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44766,8 +57438,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(551 >> 8) & 0xff,
-	551 & 0xff}
+	(717 >> 8) & 0xff,
+	717 & 0xff}
 		},
 	{
 		.description = "l3_prot.en",
@@ -44775,8 +57447,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3288 >> 8) & 0xff,
-		3288 & 0xff,
+		(4367 >> 8) & 0xff,
+		4367 & 0xff,
 		(3 >> 8) & 0xff,
 		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44784,8 +57456,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(552 >> 8) & 0xff,
-	552 & 0xff}
+	(718 >> 8) & 0xff,
+	718 & 0xff}
 		},
 	{
 		.description = "l3_prot.en",
@@ -44793,8 +57465,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3291 >> 8) & 0xff,
-		3291 & 0xff,
+		(4370 >> 8) & 0xff,
+		4370 & 0xff,
 		(3 >> 8) & 0xff,
 		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44808,8 +57480,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3298 >> 8) & 0xff,
-		3298 & 0xff,
+		(4377 >> 8) & 0xff,
+		4377 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44817,8 +57489,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(554 >> 8) & 0xff,
-	554 & 0xff}
+	(720 >> 8) & 0xff,
+	720 & 0xff}
 		},
 	{
 		.description = "l3_qos.en",
@@ -44826,8 +57498,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3302 >> 8) & 0xff,
-		3302 & 0xff,
+		(4381 >> 8) & 0xff,
+		4381 & 0xff,
 		(3 >> 8) & 0xff,
 		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44835,8 +57507,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(555 >> 8) & 0xff,
-	555 & 0xff}
+	(721 >> 8) & 0xff,
+	721 & 0xff}
 		},
 	{
 		.description = "l3_qos.en",
@@ -44844,8 +57516,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3305 >> 8) & 0xff,
-		3305 & 0xff,
+		(4384 >> 8) & 0xff,
+		4384 & 0xff,
 		(3 >> 8) & 0xff,
 		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44859,8 +57531,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3312 >> 8) & 0xff,
-		3312 & 0xff,
+		(4391 >> 8) & 0xff,
+		4391 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44868,8 +57540,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(557 >> 8) & 0xff,
-	557 & 0xff}
+	(723 >> 8) & 0xff,
+	723 & 0xff}
 		},
 	{
 		.description = "l4_src.en",
@@ -44877,8 +57549,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3316 >> 8) & 0xff,
-		3316 & 0xff,
+		(4395 >> 8) & 0xff,
+		4395 & 0xff,
 		(3 >> 8) & 0xff,
 		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44886,8 +57558,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(558 >> 8) & 0xff,
-	558 & 0xff}
+	(724 >> 8) & 0xff,
+	724 & 0xff}
 		},
 	{
 		.description = "l4_src.en",
@@ -44895,8 +57567,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3319 >> 8) & 0xff,
-		3319 & 0xff,
+		(4398 >> 8) & 0xff,
+		4398 & 0xff,
 		(3 >> 8) & 0xff,
 		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44910,8 +57582,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3326 >> 8) & 0xff,
-		3326 & 0xff,
+		(4405 >> 8) & 0xff,
+		4405 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44919,8 +57591,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(560 >> 8) & 0xff,
-	560 & 0xff}
+	(726 >> 8) & 0xff,
+	726 & 0xff}
 		},
 	{
 		.description = "l4_dst.en",
@@ -44928,8 +57600,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3330 >> 8) & 0xff,
-		3330 & 0xff,
+		(4409 >> 8) & 0xff,
+		4409 & 0xff,
 		(3 >> 8) & 0xff,
 		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44937,8 +57609,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(561 >> 8) & 0xff,
-	561 & 0xff}
+	(727 >> 8) & 0xff,
+	727 & 0xff}
 		},
 	{
 		.description = "l4_dst.en",
@@ -44946,8 +57618,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3333 >> 8) & 0xff,
-		3333 & 0xff,
+		(4412 >> 8) & 0xff,
+		4412 & 0xff,
 		(3 >> 8) & 0xff,
 		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44961,8 +57633,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3377 >> 8) & 0xff,
-			3377 & 0xff,
+			(4456 >> 8) & 0xff,
+			4456 & 0xff,
 			(5 >> 8) & 0xff,
 			5 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -44974,8 +57646,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3387 >> 8) & 0xff,
-			3387 & 0xff,
+			(4466 >> 8) & 0xff,
+			4466 & 0xff,
 			(5 >> 8) & 0xff,
 			5 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -44990,8 +57662,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3438 >> 8) & 0xff,
-			3438 & 0xff,
+			(4517 >> 8) & 0xff,
+			4517 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -45003,8 +57675,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3446 >> 8) & 0xff,
-			3446 & 0xff,
+			(4525 >> 8) & 0xff,
+			4525 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -45019,8 +57691,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3454 >> 8) & 0xff,
-			3454 & 0xff,
+			(4533 >> 8) & 0xff,
+			4533 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -45032,8 +57704,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3462 >> 8) & 0xff,
-			3462 & 0xff,
+			(4541 >> 8) & 0xff,
+			4541 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -45048,8 +57720,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3470 >> 8) & 0xff,
-			3470 & 0xff,
+			(4549 >> 8) & 0xff,
+			4549 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -45061,8 +57733,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3478 >> 8) & 0xff,
-			3478 & 0xff,
+			(4557 >> 8) & 0xff,
+			4557 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -45077,8 +57749,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3486 >> 8) & 0xff,
-			3486 & 0xff,
+			(4565 >> 8) & 0xff,
+			4565 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -45090,8 +57762,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3494 >> 8) & 0xff,
-			3494 & 0xff,
+			(4573 >> 8) & 0xff,
+			4573 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -45106,8 +57778,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3503 >> 8) & 0xff,
-			3503 & 0xff,
+			(4582 >> 8) & 0xff,
+			4582 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -45119,8 +57791,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3512 >> 8) & 0xff,
-			3512 & 0xff,
+			(4591 >> 8) & 0xff,
+			4591 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -45135,8 +57807,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3519 >> 8) & 0xff,
-			3519 & 0xff,
+			(4598 >> 8) & 0xff,
+			4598 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -45148,8 +57820,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3525 >> 8) & 0xff,
-			3525 & 0xff,
+			(4604 >> 8) & 0xff,
+			4604 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -45164,8 +57836,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3532 >> 8) & 0xff,
-			3532 & 0xff,
+			(4611 >> 8) & 0xff,
+			4611 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -45177,8 +57849,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3539 >> 8) & 0xff,
-			3539 & 0xff,
+			(4618 >> 8) & 0xff,
+			4618 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -45193,8 +57865,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3546 >> 8) & 0xff,
-			3546 & 0xff,
+			(4625 >> 8) & 0xff,
+			4625 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -45206,8 +57878,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3553 >> 8) & 0xff,
-			3553 & 0xff,
+			(4632 >> 8) & 0xff,
+			4632 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -45222,8 +57894,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3561 >> 8) & 0xff,
-			3561 & 0xff,
+			(4640 >> 8) & 0xff,
+			4640 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -45235,8 +57907,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3570 >> 8) & 0xff,
-			3570 & 0xff,
+			(4649 >> 8) & 0xff,
+			4649 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -45251,15 +57923,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3579 >> 8) & 0xff,
-			3579 & 0xff,
+			(4658 >> 8) & 0xff,
+			4658 & 0xff,
 			(5 >> 8) & 0xff,
 			5 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(583 >> 8) & 0xff,
-		583 & 0xff}
+		(749 >> 8) & 0xff,
+		749 & 0xff}
 		},
 	{
 		.description = "l2_ivv",
@@ -45267,15 +57939,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3584 >> 8) & 0xff,
-			3584 & 0xff,
+			(4663 >> 8) & 0xff,
+			4663 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(584 >> 8) & 0xff,
-		584 & 0xff}
+		(750 >> 8) & 0xff,
+		750 & 0xff}
 		},
 	{
 		.description = "l2_ivv",
@@ -45283,8 +57955,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3588 >> 8) & 0xff,
-			3588 & 0xff,
+			(4667 >> 8) & 0xff,
+			4667 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -45296,8 +57968,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3597 >> 8) & 0xff,
-			3597 & 0xff,
+			(4676 >> 8) & 0xff,
+			4676 & 0xff,
 			(5 >> 8) & 0xff,
 			5 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -45306,8 +57978,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(586 >> 8) & 0xff,
-		586 & 0xff}
+		(752 >> 8) & 0xff,
+		752 & 0xff}
 		},
 	{
 		.description = "l2_ivv",
@@ -45315,8 +57987,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3602 >> 8) & 0xff,
-			3602 & 0xff,
+			(4681 >> 8) & 0xff,
+			4681 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -45325,8 +57997,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(587 >> 8) & 0xff,
-		587 & 0xff}
+		(753 >> 8) & 0xff,
+		753 & 0xff}
 		},
 	{
 		.description = "l2_ivv",
@@ -45334,8 +58006,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3606 >> 8) & 0xff,
-			3606 & 0xff,
+			(4685 >> 8) & 0xff,
+			4685 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -45350,8 +58022,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3615 >> 8) & 0xff,
-			3615 & 0xff,
+			(4694 >> 8) & 0xff,
+			4694 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -45363,8 +58035,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3624 >> 8) & 0xff,
-			3624 & 0xff,
+			(4703 >> 8) & 0xff,
+			4703 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -45379,8 +58051,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3632 >> 8) & 0xff,
-			3632 & 0xff,
+			(4711 >> 8) & 0xff,
+			4711 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -45392,8 +58064,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3639 >> 8) & 0xff,
-			3639 & 0xff,
+			(4718 >> 8) & 0xff,
+			4718 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -45408,8 +58080,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3646 >> 8) & 0xff,
-			3646 & 0xff,
+			(4725 >> 8) & 0xff,
+			4725 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -45421,8 +58093,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3653 >> 8) & 0xff,
-			3653 & 0xff,
+			(4732 >> 8) & 0xff,
+			4732 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -45437,8 +58109,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3660 >> 8) & 0xff,
-			3660 & 0xff,
+			(4739 >> 8) & 0xff,
+			4739 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -45450,8 +58122,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3667 >> 8) & 0xff,
-			3667 & 0xff,
+			(4746 >> 8) & 0xff,
+			4746 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -45466,8 +58138,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3674 >> 8) & 0xff,
-			3674 & 0xff,
+			(4753 >> 8) & 0xff,
+			4753 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -45479,8 +58151,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3681 >> 8) & 0xff,
-			3681 & 0xff,
+			(4760 >> 8) & 0xff,
+			4760 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -45495,15 +58167,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3688 >> 8) & 0xff,
-			3688 & 0xff,
+			(4767 >> 8) & 0xff,
+			4767 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(599 >> 8) & 0xff,
-		599 & 0xff}
+		(765 >> 8) & 0xff,
+		765 & 0xff}
 		},
 	{
 		.description = "l3.ttl",
@@ -45511,15 +58183,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3692 >> 8) & 0xff,
-			3692 & 0xff,
+			(4771 >> 8) & 0xff,
+			4771 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(600 >> 8) & 0xff,
-		600 & 0xff}
+		(766 >> 8) & 0xff,
+		766 & 0xff}
 		},
 	{
 		.description = "l3.ttl",
@@ -45527,8 +58199,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3695 >> 8) & 0xff,
-			3695 & 0xff,
+			(4774 >> 8) & 0xff,
+			4774 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -45540,8 +58212,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3702 >> 8) & 0xff,
-			3702 & 0xff,
+			(4781 >> 8) & 0xff,
+			4781 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -45550,8 +58222,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(602 >> 8) & 0xff,
-		602 & 0xff}
+		(768 >> 8) & 0xff,
+		768 & 0xff}
 		},
 	{
 		.description = "l3.ttl",
@@ -45559,8 +58231,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3706 >> 8) & 0xff,
-			3706 & 0xff,
+			(4785 >> 8) & 0xff,
+			4785 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -45569,8 +58241,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(603 >> 8) & 0xff,
-		603 & 0xff}
+		(769 >> 8) & 0xff,
+		769 & 0xff}
 		},
 	{
 		.description = "l3.ttl",
@@ -45578,8 +58250,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3709 >> 8) & 0xff,
-			3709 & 0xff,
+			(4788 >> 8) & 0xff,
+			4788 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -45594,15 +58266,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3716 >> 8) & 0xff,
-			3716 & 0xff,
+			(4795 >> 8) & 0xff,
+			4795 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(605 >> 8) & 0xff,
-		605 & 0xff}
+		(771 >> 8) & 0xff,
+		771 & 0xff}
 		},
 	{
 		.description = "l3.prot",
@@ -45610,15 +58282,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3720 >> 8) & 0xff,
-			3720 & 0xff,
+			(4799 >> 8) & 0xff,
+			4799 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(606 >> 8) & 0xff,
-		606 & 0xff}
+		(772 >> 8) & 0xff,
+		772 & 0xff}
 		},
 	{
 		.description = "l3.prot",
@@ -45626,8 +58298,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3723 >> 8) & 0xff,
-			3723 & 0xff,
+			(4802 >> 8) & 0xff,
+			4802 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -45639,8 +58311,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3730 >> 8) & 0xff,
-			3730 & 0xff,
+			(4809 >> 8) & 0xff,
+			4809 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -45649,8 +58321,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(608 >> 8) & 0xff,
-		608 & 0xff}
+		(774 >> 8) & 0xff,
+		774 & 0xff}
 		},
 	{
 		.description = "l3.prot",
@@ -45658,8 +58330,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3734 >> 8) & 0xff,
-			3734 & 0xff,
+			(4813 >> 8) & 0xff,
+			4813 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -45668,8 +58340,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(609 >> 8) & 0xff,
-		609 & 0xff}
+		(775 >> 8) & 0xff,
+		775 & 0xff}
 		},
 	{
 		.description = "l3.prot",
@@ -45677,8 +58349,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3737 >> 8) & 0xff,
-			3737 & 0xff,
+			(4816 >> 8) & 0xff,
+			4816 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -45693,15 +58365,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3744 >> 8) & 0xff,
-			3744 & 0xff,
+			(4823 >> 8) & 0xff,
+			4823 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(611 >> 8) & 0xff,
-		611 & 0xff}
+		(777 >> 8) & 0xff,
+		777 & 0xff}
 		},
 	{
 		.description = "l3.qos",
@@ -45709,15 +58381,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3748 >> 8) & 0xff,
-			3748 & 0xff,
+			(4827 >> 8) & 0xff,
+			4827 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(612 >> 8) & 0xff,
-		612 & 0xff}
+		(778 >> 8) & 0xff,
+		778 & 0xff}
 		},
 	{
 		.description = "l3.qos",
@@ -45725,8 +58397,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3751 >> 8) & 0xff,
-			3751 & 0xff,
+			(4830 >> 8) & 0xff,
+			4830 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -45738,8 +58410,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3758 >> 8) & 0xff,
-			3758 & 0xff,
+			(4837 >> 8) & 0xff,
+			4837 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -45748,8 +58420,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(614 >> 8) & 0xff,
-		614 & 0xff}
+		(780 >> 8) & 0xff,
+		780 & 0xff}
 		},
 	{
 		.description = "l3.qos",
@@ -45757,8 +58429,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3762 >> 8) & 0xff,
-			3762 & 0xff,
+			(4841 >> 8) & 0xff,
+			4841 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -45767,8 +58439,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(615 >> 8) & 0xff,
-		615 & 0xff}
+		(781 >> 8) & 0xff,
+		781 & 0xff}
 		},
 	{
 		.description = "l3.qos",
@@ -45776,8 +58448,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3765 >> 8) & 0xff,
-			3765 & 0xff,
+			(4844 >> 8) & 0xff,
+			4844 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -45792,15 +58464,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3772 >> 8) & 0xff,
-			3772 & 0xff,
+			(4851 >> 8) & 0xff,
+			4851 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(617 >> 8) & 0xff,
-		617 & 0xff}
+		(783 >> 8) & 0xff,
+		783 & 0xff}
 		},
 	{
 		.description = "l4.src",
@@ -45808,15 +58480,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3776 >> 8) & 0xff,
-			3776 & 0xff,
+			(4855 >> 8) & 0xff,
+			4855 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(618 >> 8) & 0xff,
-		618 & 0xff}
+		(784 >> 8) & 0xff,
+		784 & 0xff}
 		},
 	{
 		.description = "l4.src",
@@ -45824,8 +58496,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3779 >> 8) & 0xff,
-			3779 & 0xff,
+			(4858 >> 8) & 0xff,
+			4858 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -45837,8 +58509,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3786 >> 8) & 0xff,
-			3786 & 0xff,
+			(4865 >> 8) & 0xff,
+			4865 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -45847,8 +58519,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(620 >> 8) & 0xff,
-		620 & 0xff}
+		(786 >> 8) & 0xff,
+		786 & 0xff}
 		},
 	{
 		.description = "l4.src",
@@ -45856,8 +58528,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3790 >> 8) & 0xff,
-			3790 & 0xff,
+			(4869 >> 8) & 0xff,
+			4869 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -45866,8 +58538,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(621 >> 8) & 0xff,
-		621 & 0xff}
+		(787 >> 8) & 0xff,
+		787 & 0xff}
 		},
 	{
 		.description = "l4.src",
@@ -45875,8 +58547,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3793 >> 8) & 0xff,
-			3793 & 0xff,
+			(4872 >> 8) & 0xff,
+			4872 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -45891,15 +58563,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3800 >> 8) & 0xff,
-			3800 & 0xff,
+			(4879 >> 8) & 0xff,
+			4879 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(623 >> 8) & 0xff,
-		623 & 0xff}
+		(789 >> 8) & 0xff,
+		789 & 0xff}
 		},
 	{
 		.description = "l4.dst",
@@ -45907,15 +58579,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3804 >> 8) & 0xff,
-			3804 & 0xff,
+			(4883 >> 8) & 0xff,
+			4883 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(624 >> 8) & 0xff,
-		624 & 0xff}
+		(790 >> 8) & 0xff,
+		790 & 0xff}
 		},
 	{
 		.description = "l4.dst",
@@ -45923,8 +58595,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3807 >> 8) & 0xff,
-			3807 & 0xff,
+			(4886 >> 8) & 0xff,
+			4886 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -45936,8 +58608,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3814 >> 8) & 0xff,
-			3814 & 0xff,
+			(4893 >> 8) & 0xff,
+			4893 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -45946,8 +58618,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(626 >> 8) & 0xff,
-		626 & 0xff}
+		(792 >> 8) & 0xff,
+		792 & 0xff}
 		},
 	{
 		.description = "l4.dst",
@@ -45955,8 +58627,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3818 >> 8) & 0xff,
-			3818 & 0xff,
+			(4897 >> 8) & 0xff,
+			4897 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -45965,8 +58637,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(627 >> 8) & 0xff,
-		627 & 0xff}
+		(793 >> 8) & 0xff,
+		793 & 0xff}
 		},
 	{
 		.description = "l4.dst",
@@ -45974,8 +58646,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3821 >> 8) & 0xff,
-			3821 & 0xff,
+			(4900 >> 8) & 0xff,
+			4900 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -46158,6 +58830,57 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	(BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,
 	BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff}
 	},
+	/* class_tid: 1, , table: l2_cntxt_tcam.chain_entry_dup */
+	{
+	.description = "prof_func_id",
+	.field_bit_size = 7,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr1 = {
+	(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
+	},
+	{
+	.description = "ctxt_meta_prof",
+	.field_bit_size = 3,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "def_ctxt_data",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr1 = {
+	(BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff}
+	},
+	{
+	.description = "ctxt_opcode",
+	.field_bit_size = 3,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	ULP_THOR_SYM_CTXT_OPCODE_NORMAL_FLOW}
+	},
+	{
+	.description = "l2_cntxt_id",
+	.field_bit_size = 10,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr1 = {
+	(BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
+	},
+	{
+	.description = "parif",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+	.field_opr1 = {
+	(BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,
+	BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff}
+	},
 	/* class_tid: 1, , table: flow_chain_l2_cntxt.write */
 	{
 	.description = "rid",
@@ -46228,6 +58951,57 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	(BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,
 	BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff}
 	},
+	/* class_tid: 1, , table: l2_cntxt_tcam.ingress_entry_dup */
+	{
+	.description = "prof_func_id",
+	.field_bit_size = 7,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr1 = {
+	(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
+	},
+	{
+	.description = "ctxt_meta_prof",
+	.field_bit_size = 3,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "def_ctxt_data",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr1 = {
+	(BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff}
+	},
+	{
+	.description = "ctxt_opcode",
+	.field_bit_size = 3,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	ULP_THOR_SYM_CTXT_OPCODE_NORMAL_FLOW}
+	},
+	{
+	.description = "l2_cntxt_id",
+	.field_bit_size = 10,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr1 = {
+	(BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
+	},
+	{
+	.description = "parif",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+	.field_opr1 = {
+	(BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,
+	BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff}
+	},
 	/* class_tid: 1, , table: mac_addr_cache.wr */
 	{
 	.description = "rid",
@@ -46261,7 +59035,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	},
 	{
 	.description = "prof_func_id",
-	.field_bit_size = 8,
+	.field_bit_size = 7,
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
@@ -46272,8 +59046,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(145 >> 8) & 0xff,
-		145 & 0xff,
+		(163 >> 8) & 0xff,
+		163 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -46311,10 +59085,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 	.field_opr1 = {
-		(147 >> 8) & 0xff,
-		147 & 0xff,
-		(2 >> 8) & 0xff,
-		2 & 0xff},
+		(165 >> 8) & 0xff,
+		165 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
 	1},
@@ -46326,8 +59100,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(149 >> 8) & 0xff,
-		149 & 0xff,
+		(168 >> 8) & 0xff,
+		168 & 0xff,
 		(1 >> 8) & 0xff,
 		1 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -46353,8 +59127,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(150 >> 8) & 0xff,
-		150 & 0xff,
+		(169 >> 8) & 0xff,
+		169 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -46368,8 +59142,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(154 >> 8) & 0xff,
-		154 & 0xff,
+		(173 >> 8) & 0xff,
+		173 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -46413,8 +59187,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(158 >> 8) & 0xff,
-		158 & 0xff,
+		(177 >> 8) & 0xff,
+		177 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -46446,8 +59220,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(163 >> 8) & 0xff,
-		163 & 0xff,
+		(182 >> 8) & 0xff,
+		182 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -46470,8 +59244,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(173 >> 8) & 0xff,
-		173 & 0xff,
+		(192 >> 8) & 0xff,
+		192 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -46491,8 +59265,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(178 >> 8) & 0xff,
-		178 & 0xff,
+		(197 >> 8) & 0xff,
+		197 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
@@ -46516,8 +59290,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(187 >> 8) & 0xff,
-		187 & 0xff,
+		(206 >> 8) & 0xff,
+		206 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -46540,8 +59314,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(195 >> 8) & 0xff,
-		195 & 0xff,
+		(214 >> 8) & 0xff,
+		214 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -46558,8 +59332,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(203 >> 8) & 0xff,
-		203 & 0xff,
+		(222 >> 8) & 0xff,
+		222 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -46582,8 +59356,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(211 >> 8) & 0xff,
-		211 & 0xff,
+		(230 >> 8) & 0xff,
+		230 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -46666,8 +59440,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(219 >> 8) & 0xff,
-		219 & 0xff,
+		(238 >> 8) & 0xff,
+		238 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -46684,8 +59458,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(227 >> 8) & 0xff,
-		227 & 0xff,
+		(246 >> 8) & 0xff,
+		246 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -46750,8 +59524,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(236 >> 8) & 0xff,
-		236 & 0xff,
+		(255 >> 8) & 0xff,
+		255 & 0xff,
 		(3 >> 8) & 0xff,
 		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -46804,8 +59578,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(242 >> 8) & 0xff,
-		242 & 0xff,
+		(261 >> 8) & 0xff,
+		261 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -46822,8 +59596,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(249 >> 8) & 0xff,
-		249 & 0xff,
+		(268 >> 8) & 0xff,
+		268 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -46870,8 +59644,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(256 >> 8) & 0xff,
-		256 & 0xff,
+		(275 >> 8) & 0xff,
+		275 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -46906,8 +59680,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(265 >> 8) & 0xff,
-		265 & 0xff,
+		(284 >> 8) & 0xff,
+		284 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -46930,8 +59704,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(283 >> 8) & 0xff,
-		283 & 0xff,
+		(302 >> 8) & 0xff,
+		302 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -46954,8 +59728,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(292 >> 8) & 0xff,
-		292 & 0xff,
+		(311 >> 8) & 0xff,
+		311 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -46978,8 +59752,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(310 >> 8) & 0xff,
-		310 & 0xff,
+		(329 >> 8) & 0xff,
+		329 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -47002,8 +59776,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(328 >> 8) & 0xff,
-		328 & 0xff,
+		(347 >> 8) & 0xff,
+		347 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -47020,8 +59794,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(346 >> 8) & 0xff,
-		346 & 0xff,
+		(365 >> 8) & 0xff,
+		365 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -47044,8 +59818,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(364 >> 8) & 0xff,
-		364 & 0xff,
+		(383 >> 8) & 0xff,
+		383 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -47128,8 +59902,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(382 >> 8) & 0xff,
-		382 & 0xff,
+		(401 >> 8) & 0xff,
+		401 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
@@ -47147,8 +59921,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(391 >> 8) & 0xff,
-		391 & 0xff,
+		(410 >> 8) & 0xff,
+		410 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
@@ -47220,6 +59994,42 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
+	/* class_tid: 1, , table: wm.ingress_generic_template_grp_catch_all */
+	{
+	.description = "ctxt_data",
+	.field_bit_size = 14,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "meta_prof",
+	.field_bit_size = 3,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "opcode",
+	.field_bit_size = 3,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "data",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr1 = {
+	(BNXT_ULP_RF_IDX_GROUP_MISS_ACT_PTR >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_GROUP_MISS_ACT_PTR & 0xff}
+	},
+	{
+	.description = "strength",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	1}
+	},
 	/* class_tid: 1, , table: hdr_overlap_cache.overlap_wr */
 	{
 	.description = "rid",
@@ -47227,8 +60037,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
-	(BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
-	BNXT_ULP_RF_IDX_RID & 0xff}
+	(BNXT_ULP_RF_IDX_RID_1 >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_RID_1 & 0xff}
 	},
 	{
 	.description = "wc_profile_id",
@@ -48031,8 +60841,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1190 >> 8) & 0xff,
-		1190 & 0xff,
+		(1735 >> 8) & 0xff,
+		1735 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -48070,8 +60880,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 	.field_opr1 = {
-		(1192 >> 8) & 0xff,
-		1192 & 0xff,
+		(1737 >> 8) & 0xff,
+		1737 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -48085,8 +60895,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1194 >> 8) & 0xff,
-		1194 & 0xff,
+		(1739 >> 8) & 0xff,
+		1739 & 0xff,
 		(1 >> 8) & 0xff,
 		1 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -48112,8 +60922,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1195 >> 8) & 0xff,
-		1195 & 0xff,
+		(1740 >> 8) & 0xff,
+		1740 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -48127,8 +60937,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1200 >> 8) & 0xff,
-		1200 & 0xff,
+		(1745 >> 8) & 0xff,
+		1745 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -48172,8 +60982,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1204 >> 8) & 0xff,
-		1204 & 0xff,
+		(1749 >> 8) & 0xff,
+		1749 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -48205,8 +61015,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1209 >> 8) & 0xff,
-		1209 & 0xff,
+		(1754 >> 8) & 0xff,
+		1754 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -48214,8 +61024,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(213 >> 8) & 0xff,
-	213 & 0xff}
+	(295 >> 8) & 0xff,
+	295 & 0xff}
 	},
 	{
 	.description = "tl2_ivt.en",
@@ -48229,8 +61039,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1219 >> 8) & 0xff,
-		1219 & 0xff,
+		(1764 >> 8) & 0xff,
+		1764 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -48250,8 +61060,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1224 >> 8) & 0xff,
-		1224 & 0xff,
+		(1769 >> 8) & 0xff,
+		1769 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -48259,8 +61069,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(214 >> 8) & 0xff,
-	214 & 0xff}
+	(296 >> 8) & 0xff,
+	296 & 0xff}
 	},
 	{
 	.description = "tl3_sip_selcmp.en",
@@ -48274,8 +61084,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1232 >> 8) & 0xff,
-		1232 & 0xff,
+		(1777 >> 8) & 0xff,
+		1777 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -48283,8 +61093,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(215 >> 8) & 0xff,
-	215 & 0xff}
+	(297 >> 8) & 0xff,
+	297 & 0xff}
 	},
 	{
 	.description = "tl3_dip_selcmp.en",
@@ -48298,8 +61108,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1240 >> 8) & 0xff,
-		1240 & 0xff,
+		(1785 >> 8) & 0xff,
+		1785 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -48307,8 +61117,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(216 >> 8) & 0xff,
-	216 & 0xff}
+	(298 >> 8) & 0xff,
+	298 & 0xff}
 	},
 	{
 	.description = "tl3_prot.en",
@@ -48316,8 +61126,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1248 >> 8) & 0xff,
-		1248 & 0xff,
+		(1793 >> 8) & 0xff,
+		1793 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -48325,8 +61135,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(217 >> 8) & 0xff,
-	217 & 0xff}
+	(299 >> 8) & 0xff,
+	299 & 0xff}
 	},
 	{
 	.description = "tl3_fid.en",
@@ -48340,8 +61150,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1256 >> 8) & 0xff,
-		1256 & 0xff,
+		(1801 >> 8) & 0xff,
+		1801 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -48349,8 +61159,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(218 >> 8) & 0xff,
-	218 & 0xff}
+	(300 >> 8) & 0xff,
+	300 & 0xff}
 	},
 	{
 	.description = "tl3_ieh_nonext.en",
@@ -48424,8 +61234,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1264 >> 8) & 0xff,
-		1264 & 0xff,
+		(1809 >> 8) & 0xff,
+		1809 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -48433,8 +61243,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(219 >> 8) & 0xff,
-	219 & 0xff}
+	(301 >> 8) & 0xff,
+	301 & 0xff}
 	},
 	{
 	.description = "tl4_dst.en",
@@ -48442,8 +61252,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1272 >> 8) & 0xff,
-		1272 & 0xff,
+		(1817 >> 8) & 0xff,
+		1817 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -48451,8 +61261,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(220 >> 8) & 0xff,
-	220 & 0xff}
+	(302 >> 8) & 0xff,
+	302 & 0xff}
 	},
 	{
 	.description = "tl4_flags.en",
@@ -48508,8 +61318,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1281 >> 8) & 0xff,
-		1281 & 0xff,
+		(1826 >> 8) & 0xff,
+		1826 & 0xff,
 		(3 >> 8) & 0xff,
 		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -48517,8 +61327,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(221 >> 8) & 0xff,
-	221 & 0xff}
+	(303 >> 8) & 0xff,
+	303 & 0xff}
 	},
 	{
 	.description = "tid.en",
@@ -48562,8 +61372,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1287 >> 8) & 0xff,
-		1287 & 0xff,
+		(1832 >> 8) & 0xff,
+		1832 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -48571,8 +61381,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(222 >> 8) & 0xff,
-	222 & 0xff}
+	(304 >> 8) & 0xff,
+	304 & 0xff}
 	},
 	{
 	.description = "l2_smac.en",
@@ -48580,8 +61390,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1296 >> 8) & 0xff,
-		1296 & 0xff,
+		(1841 >> 8) & 0xff,
+		1841 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -48589,8 +61399,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(223 >> 8) & 0xff,
-	223 & 0xff}
+	(305 >> 8) & 0xff,
+	305 & 0xff}
 	},
 	{
 	.description = "l2_dt.en",
@@ -48628,8 +61438,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1303 >> 8) & 0xff,
-		1303 & 0xff,
+		(1848 >> 8) & 0xff,
+		1848 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -48637,8 +61447,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(224 >> 8) & 0xff,
-	224 & 0xff}
+	(306 >> 8) & 0xff,
+	306 & 0xff}
 	},
 	{
 	.description = "l2_ovt.en",
@@ -48664,8 +61474,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1312 >> 8) & 0xff,
-		1312 & 0xff,
+		(1857 >> 8) & 0xff,
+		1857 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -48673,8 +61483,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(225 >> 8) & 0xff,
-	225 & 0xff}
+	(307 >> 8) & 0xff,
+	307 & 0xff}
 	},
 	{
 	.description = "l2_ivt.en",
@@ -48688,8 +61498,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1330 >> 8) & 0xff,
-		1330 & 0xff,
+		(1875 >> 8) & 0xff,
+		1875 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -48697,8 +61507,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(228 >> 8) & 0xff,
-	228 & 0xff}
+	(310 >> 8) & 0xff,
+	310 & 0xff}
 	},
 	{
 	.description = "l3_l3type.en",
@@ -48712,8 +61522,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1339 >> 8) & 0xff,
-		1339 & 0xff,
+		(1884 >> 8) & 0xff,
+		1884 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -48721,8 +61531,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(229 >> 8) & 0xff,
-	229 & 0xff}
+	(311 >> 8) & 0xff,
+	311 & 0xff}
 	},
 	{
 	.description = "l3_sip_selcmp.en",
@@ -48736,8 +61546,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1353 >> 8) & 0xff,
-		1353 & 0xff,
+		(1898 >> 8) & 0xff,
+		1898 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -48745,8 +61555,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(232 >> 8) & 0xff,
-	232 & 0xff}
+	(314 >> 8) & 0xff,
+	314 & 0xff}
 	},
 	{
 	.description = "l3_dip_selcmp.en",
@@ -48760,8 +61570,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1367 >> 8) & 0xff,
-		1367 & 0xff,
+		(1912 >> 8) & 0xff,
+		1912 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -48769,8 +61579,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(235 >> 8) & 0xff,
-	235 & 0xff}
+	(317 >> 8) & 0xff,
+	317 & 0xff}
 	},
 	{
 	.description = "l3_prot.en",
@@ -48778,8 +61588,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1381 >> 8) & 0xff,
-		1381 & 0xff,
+		(1926 >> 8) & 0xff,
+		1926 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -48787,8 +61597,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(238 >> 8) & 0xff,
-	238 & 0xff}
+	(320 >> 8) & 0xff,
+	320 & 0xff}
 	},
 	{
 	.description = "l3_fid.en",
@@ -48802,8 +61612,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1395 >> 8) & 0xff,
-		1395 & 0xff,
+		(1940 >> 8) & 0xff,
+		1940 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -48811,8 +61621,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(241 >> 8) & 0xff,
-	241 & 0xff}
+	(323 >> 8) & 0xff,
+	323 & 0xff}
 	},
 	{
 	.description = "l3_ieh_nonext.en",
@@ -48886,8 +61696,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1409 >> 8) & 0xff,
-		1409 & 0xff,
+		(1954 >> 8) & 0xff,
+		1954 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -48895,8 +61705,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(244 >> 8) & 0xff,
-	244 & 0xff}
+	(326 >> 8) & 0xff,
+	326 & 0xff}
 	},
 	{
 	.description = "l4_dst.en",
@@ -48904,8 +61714,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1423 >> 8) & 0xff,
-		1423 & 0xff,
+		(1968 >> 8) & 0xff,
+		1968 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -48913,8 +61723,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(247 >> 8) & 0xff,
-	247 & 0xff}
+	(329 >> 8) & 0xff,
+	329 & 0xff}
 	},
 	{
 	.description = "l4_flags.en",
@@ -49156,8 +61966,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2040 >> 8) & 0xff,
-		2040 & 0xff,
+		(2587 >> 8) & 0xff,
+		2587 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49195,10 +62005,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 	.field_opr1 = {
-		(2042 >> 8) & 0xff,
-		2042 & 0xff,
-		(2 >> 8) & 0xff,
-		2 & 0xff},
+		(2589 >> 8) & 0xff,
+		2589 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
 	1},
@@ -49210,8 +62020,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2044 >> 8) & 0xff,
-		2044 & 0xff,
+		(2592 >> 8) & 0xff,
+		2592 & 0xff,
 		(1 >> 8) & 0xff,
 		1 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49237,8 +62047,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2045 >> 8) & 0xff,
-		2045 & 0xff,
+		(2593 >> 8) & 0xff,
+		2593 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49252,14 +62062,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2049 >> 8) & 0xff,
-		2049 & 0xff,
+		(2597 >> 8) & 0xff,
+		2597 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr2 = {
-	(320 >> 8) & 0xff,
-	320 & 0xff},
+	(402 >> 8) & 0xff,
+	402 & 0xff},
 	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
@@ -49298,8 +62108,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2056 >> 8) & 0xff,
-		2056 & 0xff,
+		(2604 >> 8) & 0xff,
+		2604 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49331,8 +62141,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2061 >> 8) & 0xff,
-		2061 & 0xff,
+		(2609 >> 8) & 0xff,
+		2609 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49340,8 +62150,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(321 >> 8) & 0xff,
-	321 & 0xff}
+	(403 >> 8) & 0xff,
+	403 & 0xff}
 	},
 	{
 	.description = "tl2_ivt.en",
@@ -49355,8 +62165,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2071 >> 8) & 0xff,
-		2071 & 0xff,
+		(2619 >> 8) & 0xff,
+		2619 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49376,18 +62186,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2076 >> 8) & 0xff,
-		2076 & 0xff,
+		(2624 >> 8) & 0xff,
+		2624 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr2 = {
-	(322 >> 8) & 0xff,
-	322 & 0xff},
+	(404 >> 8) & 0xff,
+	404 & 0xff},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(323 >> 8) & 0xff,
-	323 & 0xff}
+	(405 >> 8) & 0xff,
+	405 & 0xff}
 	},
 	{
 	.description = "tl3_sip_selcmp.en",
@@ -49401,8 +62211,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2085 >> 8) & 0xff,
-		2085 & 0xff,
+		(2633 >> 8) & 0xff,
+		2633 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49410,8 +62220,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(324 >> 8) & 0xff,
-	324 & 0xff}
+	(406 >> 8) & 0xff,
+	406 & 0xff}
 	},
 	{
 	.description = "tl3_dip_selcmp.en",
@@ -49425,8 +62235,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2093 >> 8) & 0xff,
-		2093 & 0xff,
+		(2641 >> 8) & 0xff,
+		2641 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49434,8 +62244,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(325 >> 8) & 0xff,
-	325 & 0xff}
+	(407 >> 8) & 0xff,
+	407 & 0xff}
 	},
 	{
 	.description = "tl3_prot.en",
@@ -49443,8 +62253,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2101 >> 8) & 0xff,
-		2101 & 0xff,
+		(2649 >> 8) & 0xff,
+		2649 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49452,8 +62262,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(326 >> 8) & 0xff,
-	326 & 0xff}
+	(408 >> 8) & 0xff,
+	408 & 0xff}
 	},
 	{
 	.description = "tl3_fid.en",
@@ -49467,8 +62277,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2109 >> 8) & 0xff,
-		2109 & 0xff,
+		(2657 >> 8) & 0xff,
+		2657 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49476,8 +62286,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(327 >> 8) & 0xff,
-	327 & 0xff}
+	(409 >> 8) & 0xff,
+	409 & 0xff}
 	},
 	{
 	.description = "tl3_ieh_nonext.en",
@@ -49551,8 +62361,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2117 >> 8) & 0xff,
-		2117 & 0xff,
+		(2665 >> 8) & 0xff,
+		2665 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49560,8 +62370,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(328 >> 8) & 0xff,
-	328 & 0xff}
+	(410 >> 8) & 0xff,
+	410 & 0xff}
 	},
 	{
 	.description = "tl4_dst.en",
@@ -49569,8 +62379,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2125 >> 8) & 0xff,
-		2125 & 0xff,
+		(2673 >> 8) & 0xff,
+		2673 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49578,8 +62388,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(329 >> 8) & 0xff,
-	329 & 0xff}
+	(411 >> 8) & 0xff,
+	411 & 0xff}
 	},
 	{
 	.description = "tl4_flags.en",
@@ -49635,8 +62445,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2134 >> 8) & 0xff,
-		2134 & 0xff,
+		(2682 >> 8) & 0xff,
+		2682 & 0xff,
 		(3 >> 8) & 0xff,
 		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49644,8 +62454,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(330 >> 8) & 0xff,
-	330 & 0xff}
+	(412 >> 8) & 0xff,
+	412 & 0xff}
 	},
 	{
 	.description = "tid.en",
@@ -49689,8 +62499,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2140 >> 8) & 0xff,
-		2140 & 0xff,
+		(2688 >> 8) & 0xff,
+		2688 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49698,8 +62508,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(331 >> 8) & 0xff,
-	331 & 0xff}
+	(413 >> 8) & 0xff,
+	413 & 0xff}
 	},
 	{
 	.description = "l2_smac.en",
@@ -49707,8 +62517,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2147 >> 8) & 0xff,
-		2147 & 0xff,
+		(2695 >> 8) & 0xff,
+		2695 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49716,8 +62526,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(332 >> 8) & 0xff,
-	332 & 0xff}
+	(414 >> 8) & 0xff,
+	414 & 0xff}
 	},
 	{
 	.description = "l2_dt.en",
@@ -49755,8 +62565,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2154 >> 8) & 0xff,
-		2154 & 0xff,
+		(2702 >> 8) & 0xff,
+		2702 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49764,8 +62574,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(333 >> 8) & 0xff,
-	333 & 0xff}
+	(415 >> 8) & 0xff,
+	415 & 0xff}
 	},
 	{
 	.description = "l2_ovt.en",
@@ -49791,8 +62601,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2163 >> 8) & 0xff,
-		2163 & 0xff,
+		(2711 >> 8) & 0xff,
+		2711 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49800,8 +62610,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(334 >> 8) & 0xff,
-	334 & 0xff}
+	(416 >> 8) & 0xff,
+	416 & 0xff}
 	},
 	{
 	.description = "l2_ivt.en",
@@ -49815,8 +62625,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2181 >> 8) & 0xff,
-		2181 & 0xff,
+		(2729 >> 8) & 0xff,
+		2729 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49824,8 +62634,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(337 >> 8) & 0xff,
-	337 & 0xff}
+	(419 >> 8) & 0xff,
+	419 & 0xff}
 	},
 	{
 	.description = "l3_l3type.en",
@@ -49839,8 +62649,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2190 >> 8) & 0xff,
-		2190 & 0xff,
+		(2738 >> 8) & 0xff,
+		2738 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49848,8 +62658,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(338 >> 8) & 0xff,
-	338 & 0xff}
+	(420 >> 8) & 0xff,
+	420 & 0xff}
 	},
 	{
 	.description = "l3_sip_selcmp.en",
@@ -49863,8 +62673,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2208 >> 8) & 0xff,
-		2208 & 0xff,
+		(2756 >> 8) & 0xff,
+		2756 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49872,8 +62682,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(341 >> 8) & 0xff,
-	341 & 0xff}
+	(423 >> 8) & 0xff,
+	423 & 0xff}
 	},
 	{
 	.description = "l3_dip_selcmp.en",
@@ -49887,8 +62697,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2226 >> 8) & 0xff,
-		2226 & 0xff,
+		(2774 >> 8) & 0xff,
+		2774 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49896,8 +62706,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(344 >> 8) & 0xff,
-	344 & 0xff}
+	(426 >> 8) & 0xff,
+	426 & 0xff}
 	},
 	{
 	.description = "l3_prot.en",
@@ -49905,8 +62715,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2244 >> 8) & 0xff,
-		2244 & 0xff,
+		(2792 >> 8) & 0xff,
+		2792 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49914,8 +62724,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(347 >> 8) & 0xff,
-	347 & 0xff}
+	(429 >> 8) & 0xff,
+	429 & 0xff}
 	},
 	{
 	.description = "l3_fid.en",
@@ -49929,8 +62739,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2262 >> 8) & 0xff,
-		2262 & 0xff,
+		(2810 >> 8) & 0xff,
+		2810 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49938,8 +62748,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(350 >> 8) & 0xff,
-	350 & 0xff}
+	(432 >> 8) & 0xff,
+	432 & 0xff}
 	},
 	{
 	.description = "l3_ieh_nonext.en",
@@ -50013,18 +62823,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2280 >> 8) & 0xff,
-		2280 & 0xff,
+		(2828 >> 8) & 0xff,
+		2828 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr2 = {
-	(353 >> 8) & 0xff,
-	353 & 0xff},
+	(435 >> 8) & 0xff,
+	435 & 0xff},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(354 >> 8) & 0xff,
-	354 & 0xff}
+	(436 >> 8) & 0xff,
+	436 & 0xff}
 	},
 	{
 	.description = "l4_dst.en",
@@ -50032,18 +62842,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2289 >> 8) & 0xff,
-		2289 & 0xff,
+		(2837 >> 8) & 0xff,
+		2837 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr2 = {
-	(356 >> 8) & 0xff,
-	356 & 0xff},
+	(438 >> 8) & 0xff,
+	438 & 0xff},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(357 >> 8) & 0xff,
-	357 & 0xff}
+	(439 >> 8) & 0xff,
+	439 & 0xff}
 	},
 	{
 	.description = "l4_flags.en",
@@ -50105,6 +62915,42 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
+	/* class_tid: 2, , table: wm.egress_generic_template_grp_catch_all */
+	{
+	.description = "ctxt_data",
+	.field_bit_size = 14,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "meta_prof",
+	.field_bit_size = 3,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "opcode",
+	.field_bit_size = 3,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "data",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr1 = {
+	(BNXT_ULP_RF_IDX_GROUP_MISS_ACT_PTR >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_GROUP_MISS_ACT_PTR & 0xff}
+	},
+	{
+	.description = "strength",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	1}
+	},
 	/* class_tid: 2, , table: hdr_overlap_cache.overlap_wr */
 	{
 	.description = "rid",
@@ -50112,8 +62958,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
-	(BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
-	BNXT_ULP_RF_IDX_RID & 0xff}
+	(BNXT_ULP_RF_IDX_RID_1 >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_RID_1 & 0xff}
 	},
 	{
 	.description = "wc_profile_id",
@@ -50916,8 +63762,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3092 >> 8) & 0xff,
-		3092 & 0xff,
+		(4171 >> 8) & 0xff,
+		4171 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -50955,8 +63801,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 	.field_opr1 = {
-		(3094 >> 8) & 0xff,
-		3094 & 0xff,
+		(4173 >> 8) & 0xff,
+		4173 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -50970,8 +63816,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3096 >> 8) & 0xff,
-		3096 & 0xff,
+		(4175 >> 8) & 0xff,
+		4175 & 0xff,
 		(1 >> 8) & 0xff,
 		1 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -50997,8 +63843,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3097 >> 8) & 0xff,
-		3097 & 0xff,
+		(4176 >> 8) & 0xff,
+		4176 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -51012,8 +63858,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3101 >> 8) & 0xff,
-		3101 & 0xff,
+		(4180 >> 8) & 0xff,
+		4180 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -51057,8 +63903,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3105 >> 8) & 0xff,
-		3105 & 0xff,
+		(4184 >> 8) & 0xff,
+		4184 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -51090,8 +63936,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3110 >> 8) & 0xff,
-		3110 & 0xff,
+		(4189 >> 8) & 0xff,
+		4189 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -51099,8 +63945,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(525 >> 8) & 0xff,
-	525 & 0xff}
+	(691 >> 8) & 0xff,
+	691 & 0xff}
 	},
 	{
 	.description = "tl2_ivt.en",
@@ -51114,8 +63960,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3120 >> 8) & 0xff,
-		3120 & 0xff,
+		(4199 >> 8) & 0xff,
+		4199 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -51135,8 +63981,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3125 >> 8) & 0xff,
-		3125 & 0xff,
+		(4204 >> 8) & 0xff,
+		4204 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -51144,8 +63990,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(526 >> 8) & 0xff,
-	526 & 0xff}
+	(692 >> 8) & 0xff,
+	692 & 0xff}
 	},
 	{
 	.description = "tl3_sip_selcmp.en",
@@ -51159,8 +64005,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3133 >> 8) & 0xff,
-		3133 & 0xff,
+		(4212 >> 8) & 0xff,
+		4212 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -51168,8 +64014,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(527 >> 8) & 0xff,
-	527 & 0xff}
+	(693 >> 8) & 0xff,
+	693 & 0xff}
 	},
 	{
 	.description = "tl3_dip_selcmp.en",
@@ -51183,8 +64029,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3141 >> 8) & 0xff,
-		3141 & 0xff,
+		(4220 >> 8) & 0xff,
+		4220 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -51192,8 +64038,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(528 >> 8) & 0xff,
-	528 & 0xff}
+	(694 >> 8) & 0xff,
+	694 & 0xff}
 	},
 	{
 	.description = "tl3_prot.en",
@@ -51201,8 +64047,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3149 >> 8) & 0xff,
-		3149 & 0xff,
+		(4228 >> 8) & 0xff,
+		4228 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -51210,8 +64056,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(529 >> 8) & 0xff,
-	529 & 0xff}
+	(695 >> 8) & 0xff,
+	695 & 0xff}
 	},
 	{
 	.description = "tl3_fid.en",
@@ -51225,8 +64071,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3157 >> 8) & 0xff,
-		3157 & 0xff,
+		(4236 >> 8) & 0xff,
+		4236 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -51234,8 +64080,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(530 >> 8) & 0xff,
-	530 & 0xff}
+	(696 >> 8) & 0xff,
+	696 & 0xff}
 	},
 	{
 	.description = "tl3_ieh_nonext.en",
@@ -51309,8 +64155,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3165 >> 8) & 0xff,
-		3165 & 0xff,
+		(4244 >> 8) & 0xff,
+		4244 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -51318,8 +64164,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(531 >> 8) & 0xff,
-	531 & 0xff}
+	(697 >> 8) & 0xff,
+	697 & 0xff}
 	},
 	{
 	.description = "tl4_dst.en",
@@ -51327,8 +64173,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3173 >> 8) & 0xff,
-		3173 & 0xff,
+		(4252 >> 8) & 0xff,
+		4252 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -51336,8 +64182,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(532 >> 8) & 0xff,
-	532 & 0xff}
+	(698 >> 8) & 0xff,
+	698 & 0xff}
 	},
 	{
 	.description = "tl4_flags.en",
@@ -51393,8 +64239,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3182 >> 8) & 0xff,
-		3182 & 0xff,
+		(4261 >> 8) & 0xff,
+		4261 & 0xff,
 		(3 >> 8) & 0xff,
 		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -51402,8 +64248,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(533 >> 8) & 0xff,
-	533 & 0xff}
+	(699 >> 8) & 0xff,
+	699 & 0xff}
 	},
 	{
 	.description = "tid.en",
@@ -51447,8 +64293,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3188 >> 8) & 0xff,
-		3188 & 0xff,
+		(4267 >> 8) & 0xff,
+		4267 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -51456,8 +64302,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(534 >> 8) & 0xff,
-	534 & 0xff}
+	(700 >> 8) & 0xff,
+	700 & 0xff}
 	},
 	{
 	.description = "l2_smac.en",
@@ -51465,8 +64311,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3195 >> 8) & 0xff,
-		3195 & 0xff,
+		(4274 >> 8) & 0xff,
+		4274 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -51474,8 +64320,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(535 >> 8) & 0xff,
-	535 & 0xff}
+	(701 >> 8) & 0xff,
+	701 & 0xff}
 	},
 	{
 	.description = "l2_dt.en",
@@ -51513,8 +64359,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3202 >> 8) & 0xff,
-		3202 & 0xff,
+		(4281 >> 8) & 0xff,
+		4281 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -51522,8 +64368,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(536 >> 8) & 0xff,
-	536 & 0xff}
+	(702 >> 8) & 0xff,
+	702 & 0xff}
 	},
 	{
 	.description = "l2_ovt.en",
@@ -51549,8 +64395,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3211 >> 8) & 0xff,
-		3211 & 0xff,
+		(4290 >> 8) & 0xff,
+		4290 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -51558,8 +64404,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(537 >> 8) & 0xff,
-	537 & 0xff}
+	(703 >> 8) & 0xff,
+	703 & 0xff}
 	},
 	{
 	.description = "l2_ivt.en",
@@ -51573,8 +64419,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3229 >> 8) & 0xff,
-		3229 & 0xff,
+		(4308 >> 8) & 0xff,
+		4308 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -51582,8 +64428,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(540 >> 8) & 0xff,
-	540 & 0xff}
+	(706 >> 8) & 0xff,
+	706 & 0xff}
 	},
 	{
 	.description = "l3_l3type.en",
@@ -51597,8 +64443,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3238 >> 8) & 0xff,
-		3238 & 0xff,
+		(4317 >> 8) & 0xff,
+		4317 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -51606,8 +64452,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(541 >> 8) & 0xff,
-	541 & 0xff}
+	(707 >> 8) & 0xff,
+	707 & 0xff}
 	},
 	{
 	.description = "l3_sip_selcmp.en",
@@ -51621,8 +64467,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3252 >> 8) & 0xff,
-		3252 & 0xff,
+		(4331 >> 8) & 0xff,
+		4331 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -51630,8 +64476,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(544 >> 8) & 0xff,
-	544 & 0xff}
+	(710 >> 8) & 0xff,
+	710 & 0xff}
 	},
 	{
 	.description = "l3_dip_selcmp.en",
@@ -51645,8 +64491,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3266 >> 8) & 0xff,
-		3266 & 0xff,
+		(4345 >> 8) & 0xff,
+		4345 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -51654,8 +64500,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(547 >> 8) & 0xff,
-	547 & 0xff}
+	(713 >> 8) & 0xff,
+	713 & 0xff}
 	},
 	{
 	.description = "l3_prot.en",
@@ -51663,8 +64509,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3280 >> 8) & 0xff,
-		3280 & 0xff,
+		(4359 >> 8) & 0xff,
+		4359 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -51672,8 +64518,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(550 >> 8) & 0xff,
-	550 & 0xff}
+	(716 >> 8) & 0xff,
+	716 & 0xff}
 	},
 	{
 	.description = "l3_fid.en",
@@ -51687,8 +64533,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3294 >> 8) & 0xff,
-		3294 & 0xff,
+		(4373 >> 8) & 0xff,
+		4373 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -51696,8 +64542,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(553 >> 8) & 0xff,
-	553 & 0xff}
+	(719 >> 8) & 0xff,
+	719 & 0xff}
 	},
 	{
 	.description = "l3_ieh_nonext.en",
@@ -51771,8 +64617,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3308 >> 8) & 0xff,
-		3308 & 0xff,
+		(4387 >> 8) & 0xff,
+		4387 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -51780,8 +64626,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(556 >> 8) & 0xff,
-	556 & 0xff}
+	(722 >> 8) & 0xff,
+	722 & 0xff}
 	},
 	{
 	.description = "l4_dst.en",
@@ -51789,8 +64635,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3322 >> 8) & 0xff,
-		3322 & 0xff,
+		(4401 >> 8) & 0xff,
+		4401 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -51798,8 +64644,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(559 >> 8) & 0xff,
-	559 & 0xff}
+	(725 >> 8) & 0xff,
+	725 & 0xff}
 	},
 	{
 	.description = "l4_flags.en",
@@ -52166,100 +65012,6 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
-	/* class_tid: 3, , table: l2_cntxt_tcam.ing_0 */
-	{
-	.description = "prof_func_id",
-	.field_bit_size = 7,
-	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
-	.field_opr1 = {
-	(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
-	BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
-	},
-	{
-	.description = "ctxt_meta_prof",
-	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "def_ctxt_data",
-	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
-	.field_opr1 = {
-	(BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff,
-	BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff}
-	},
-	{
-	.description = "ctxt_opcode",
-	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr1 = {
-	ULP_THOR_SYM_CTXT_OPCODE_NORMAL_FLOW}
-	},
-	{
-	.description = "l2_cntxt_id",
-	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
-	.field_opr1 = {
-	(BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
-	BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
-	},
-	{
-	.description = "parif",
-	.field_bit_size = 4,
-	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
-	.field_opr1 = {
-	(BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,
-	BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff}
-	},
-	/* class_tid: 3, , table: l2_cntxt_tcam_cache.ing_wr */
-	{
-	.description = "rid",
-	.field_bit_size = 32,
-	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
-	.field_opr1 = {
-	(BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
-	BNXT_ULP_RF_IDX_RID & 0xff}
-	},
-	{
-	.description = "l2_cntxt_tcam_index",
-	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
-	.field_opr1 = {
-	(BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff,
-	BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff}
-	},
-	{
-	.description = "l2_cntxt_id",
-	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
-	.field_opr1 = {
-	(BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
-	BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
-	},
-	{
-	.description = "src_property_ptr",
-	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "prof_func_id",
-	.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
-	.field_opr1 = {
-	(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
-	BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
-	},
 	/* class_tid: 3, , table: profile_tcam.prof_func_catch_all */
 	{
 	.description = "wc_key_id",
@@ -52309,6 +65061,25 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
+	/* class_tid: 3, , table: prof_func_cache.ing_wr */
+	{
+	.description = "rid",
+	.field_bit_size = 32,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr1 = {
+	(BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_RID & 0xff}
+	},
+	{
+	.description = "prof_func_id",
+	.field_bit_size = 7,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr1 = {
+	(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
+	},
 	/* class_tid: 3, , table: parif_def_arec_ptr.ing_0 */
 	{
 	.description = "act_rec_ptr",
@@ -52686,7 +65457,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	},
 	{
 	.description = "prof_func_id",
-	.field_bit_size = 8,
+	.field_bit_size = 7,
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
@@ -53178,7 +65949,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	},
 	{
 	.description = "prof_func_id",
-	.field_bit_size = 8,
+	.field_bit_size = 7,
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
@@ -55130,7 +67901,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	},
 	{
 	.description = "prof_func_id",
-	.field_bit_size = 8,
+	.field_bit_size = 7,
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
@@ -55584,6 +68355,282 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
 	.field_bit_size = 14,
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	/* class_tid: 5, , table: l2_cntxt_tcam.ing_0 */
+	{
+	.description = "prof_func_id",
+	.field_bit_size = 7,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(4928 >> 8) & 0xff,
+		4928 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr2 = {
+	(BNXT_ULP_RF_IDX_PROF_FUNC_ID_1 >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_PROF_FUNC_ID_1 & 0xff},
+	.field_src3 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr3 = {
+	(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
+	},
+	{
+	.description = "ctxt_meta_prof",
+	.field_bit_size = 3,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "def_ctxt_data",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr1 = {
+	(BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff}
+	},
+	{
+	.description = "ctxt_opcode",
+	.field_bit_size = 3,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	ULP_THOR_SYM_CTXT_OPCODE_NORMAL_FLOW}
+	},
+	{
+	.description = "l2_cntxt_id",
+	.field_bit_size = 10,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(4930 >> 8) & 0xff,
+		4930 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr2 = {
+	(BNXT_ULP_RF_IDX_L2_CNTXT_ID_1 >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_L2_CNTXT_ID_1 & 0xff},
+	.field_src3 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr3 = {
+	(BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
+	},
+	{
+	.description = "parif",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+	.field_opr1 = {
+	(BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,
+	BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff}
+	},
+	/* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_wr */
+	{
+	.description = "rid",
+	.field_bit_size = 32,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr1 = {
+	(BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_RID & 0xff}
+	},
+	{
+	.description = "l2_cntxt_tcam_index",
+	.field_bit_size = 10,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr1 = {
+	(BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff}
+	},
+	{
+	.description = "l2_cntxt_id",
+	.field_bit_size = 10,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(4932 >> 8) & 0xff,
+		4932 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr2 = {
+	(BNXT_ULP_RF_IDX_L2_CNTXT_ID_1 >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_L2_CNTXT_ID_1 & 0xff},
+	.field_src3 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr3 = {
+	(BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
+	},
+	{
+	.description = "src_property_ptr",
+	.field_bit_size = 10,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "prof_func_id",
+	.field_bit_size = 7,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(4934 >> 8) & 0xff,
+		4934 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr2 = {
+	(BNXT_ULP_RF_IDX_PROF_FUNC_ID_1 >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_PROF_FUNC_ID_1 & 0xff},
+	.field_src3 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr3 = {
+	(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
+	},
+	/* class_tid: 7, , table: jump_index_table.alloc */
+	/* class_tid: 7, , table: flow_chain_cache.write */
+	{
+	.description = "rid",
+	.field_bit_size = 32,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr1 = {
+	(BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_RID & 0xff}
+	},
+	{
+	.description = "metadata",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr1 = {
+	(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_JUMP_META & 0xff}
+	},
+	/* class_tid: 7, , table: group_miss_action_cache.write */
+	{
+	.description = "rid",
+	.field_bit_size = 32,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr1 = {
+	(BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_RID & 0xff}
+	},
+	{
+	.description = "default_action",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr1 = {
+	(BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
+	},
+	/* class_tid: 7, , table: profile_tcam_bypass.prof_func_group_catch_all */
+	{
+	.description = "act_record_ptr",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr1 = {
+	(BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
+	},
+	{
+	.description = "bypass_op",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	1}
+	},
+	{
+	.description = "reserved",
+	.field_bit_size = 14,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "pl_byp_lkup_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	1}
+	},
+	/* class_tid: 7, , table: jump_index_table.alloc_egr */
+	/* class_tid: 7, , table: flow_chain_cache.write_egr */
+	{
+	.description = "rid",
+	.field_bit_size = 32,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr1 = {
+	(BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_RID & 0xff}
+	},
+	{
+	.description = "metadata",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr1 = {
+	(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_JUMP_META & 0xff}
+	},
+	/* class_tid: 7, , table: group_miss_action_cache.write_egr */
+	{
+	.description = "rid",
+	.field_bit_size = 32,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr1 = {
+	(BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_RID & 0xff}
+	},
+	{
+	.description = "default_action",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr1 = {
+	(BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
+	},
+	/* class_tid: 7, , table: profile_tcam_bypass.prof_func_group_catch_all_egr */
+	{
+	.description = "act_record_ptr",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr1 = {
+	(BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
+	},
+	{
+	.description = "bypass_op",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	1}
+	},
+	{
+	.description = "reserved",
+	.field_bit_size = 14,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "pl_byp_lkup_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	1}
 	}
 };
 
@@ -55614,24 +68661,12 @@ struct bnxt_ulp_mapper_ident_info ulp_thor_class_ident_list[] = {
 	.ident_bit_size = 16,
 	.ident_bit_pos = 32
 	},
-	/* class_tid: 1, , table: l2_cntxt_tcam_cache.rd */
-	{
-	.description = "l2_cntxt_id",
-	.regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
-	.ident_bit_size = 10,
-	.ident_bit_pos = 42
-	},
-	{
-	.description = "l2_cntxt_tcam_index",
-	.regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
-	.ident_bit_size = 10,
-	.ident_bit_pos = 32
-	},
+	/* class_tid: 1, , table: prof_func_cache.ing_rd */
 	{
 	.description = "prof_func_id",
 	.regfile_idx = BNXT_ULP_RF_IDX_PROF_FUNC_ID_0,
-	.ident_bit_size = 8,
-	.ident_bit_pos = 62
+	.ident_bit_size = 7,
+	.ident_bit_pos = 32
 	},
 	/* class_tid: 1, , table: tunnel_cache.f1_f2_rd */
 	{
@@ -55649,6 +68684,19 @@ struct bnxt_ulp_mapper_ident_info ulp_thor_class_ident_list[] = {
 	.ident_bit_size = 10,
 	.ident_bit_pos = 29
 	},
+	/* class_tid: 1, , table: l2_cntxt_tcam_cache.rd */
+	{
+	.description = "l2_cntxt_id",
+	.regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
+	.ident_bit_size = 10,
+	.ident_bit_pos = 42
+	},
+	{
+	.description = "l2_cntxt_tcam_index",
+	.regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
+	.ident_bit_size = 10,
+	.ident_bit_pos = 32
+	},
 	/* class_tid: 1, , table: multi_flow_tunnel_cache.rd */
 	{
 	.description = "metadata",
@@ -55751,6 +68799,13 @@ struct bnxt_ulp_mapper_ident_info ulp_thor_class_ident_list[] = {
 	.ident_bit_size = 8,
 	.ident_bit_pos = 32
 	},
+	/* class_tid: 1, , table: group_miss_action_cache.rd */
+	{
+	.description = "default_action",
+	.regfile_idx = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_PTR,
+	.ident_bit_size = 16,
+	.ident_bit_pos = 32
+	},
 	/* class_tid: 1, , table: profile_tcam.allocate_wc_profile */
 	{
 	.description = "wc_profile_id",
@@ -55786,7 +68841,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor_class_ident_list[] = {
 	{
 	.description = "prof_func_id",
 	.regfile_idx = BNXT_ULP_RF_IDX_PROF_FUNC_ID_0,
-	.ident_bit_size = 8,
+	.ident_bit_size = 7,
 	.ident_bit_pos = 62
 	},
 	/* class_tid: 2, , table: multi_flow_tunnel_cache.rd */
@@ -55859,6 +68914,13 @@ struct bnxt_ulp_mapper_ident_info ulp_thor_class_ident_list[] = {
 	.ident_bit_size = 8,
 	.ident_bit_pos = 32
 	},
+	/* class_tid: 2, , table: group_miss_action_cache.rd */
+	{
+	.description = "default_action",
+	.regfile_idx = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_PTR,
+	.ident_bit_size = 16,
+	.ident_bit_pos = 32
+	},
 	/* class_tid: 2, , table: profile_tcam.allocate_wc_profile */
 	{
 	.description = "wc_profile_id",
@@ -55884,22 +68946,20 @@ struct bnxt_ulp_mapper_ident_info ulp_thor_class_ident_list[] = {
 	.ident_bit_size = 64,
 	.ident_bit_pos = 32
 	},
-	/* class_tid: 3, , table: l2_cntxt_tcam_cache.ing_rd */
+	/* class_tid: 3, , table: prof_func_cache.ing_rd */
 	{
-	.description = "l2_cntxt_id",
-	.regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
-	.ident_bit_size = 10,
-	.ident_bit_pos = 42
+	.description = "prof_func_id",
+	.regfile_idx = BNXT_ULP_RF_IDX_PROF_FUNC_ID_0,
+	.ident_bit_size = 7,
+	.ident_bit_pos = 32
 	},
-	/* class_tid: 3, , table: l2_cntxt_tcam.ing_0 */
 	{
-	.description = "l2_cntxt_id_low",
-	.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
-	.ident_type = TF_IDENT_TYPE_L2_CTXT_LOW,
-	.regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
-	.ident_bit_size = 10,
-	.ident_bit_pos = 29
+	.description = "rid",
+	.regfile_idx = BNXT_ULP_RF_IDX_RID,
+	.ident_bit_size = 32,
+	.ident_bit_pos = 0
 	},
+	/* class_tid: 3, , table: l2_cntxt_tcam.alloc_prof_func */
 	{
 	.description = "prof_func_id",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -55942,7 +69002,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor_class_ident_list[] = {
 	{
 	.description = "prof_func_id",
 	.regfile_idx = BNXT_ULP_RF_IDX_PROF_FUNC_ID_0,
-	.ident_bit_size = 8,
+	.ident_bit_size = 7,
 	.ident_bit_pos = 62
 	},
 	/* class_tid: 4, , table: l2_cntxt_tcam.vf_egr */
@@ -55953,6 +69013,96 @@ struct bnxt_ulp_mapper_ident_info ulp_thor_class_ident_list[] = {
 	.regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
 	.ident_bit_size = 10,
 	.ident_bit_pos = 29
+	},
+	/* class_tid: 5, , table: port_table.ing_rd */
+	{
+	.description = "default_arec_ptr",
+	.regfile_idx = BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR,
+	.ident_bit_size = 16,
+	.ident_bit_pos = 137
+	},
+	/* class_tid: 5, , table: prof_func_cache.ing_rd */
+	{
+	.description = "prof_func_id",
+	.regfile_idx = BNXT_ULP_RF_IDX_PROF_FUNC_ID_0,
+	.ident_bit_size = 7,
+	.ident_bit_pos = 32
+	},
+	/* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_rd */
+	{
+	.description = "l2_cntxt_id",
+	.regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
+	.ident_bit_size = 10,
+	.ident_bit_pos = 42
+	},
+	/* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_rd_sock */
+	{
+	.description = "l2_cntxt_id",
+	.regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_1,
+	.ident_bit_size = 10,
+	.ident_bit_pos = 42
+	},
+	{
+	.description = "prof_func_id",
+	.regfile_idx = BNXT_ULP_RF_IDX_PROF_FUNC_ID_1,
+	.ident_bit_size = 7,
+	.ident_bit_pos = 62
+	},
+	/* class_tid: 5, , table: l2_cntxt_tcam.ing_0 */
+	{
+	.description = "l2_cntxt_id_low",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
+	.ident_type = TF_IDENT_TYPE_L2_CTXT_LOW,
+	.regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
+	.ident_bit_size = 10,
+	.ident_bit_pos = 29
+	},
+	/* class_tid: 6, , table: l2_cntxt_tcam_cache.ing_rd */
+	{
+	.description = "rid",
+	.regfile_idx = BNXT_ULP_RF_IDX_RID,
+	.ident_bit_size = 32,
+	.ident_bit_pos = 0
+	},
+	/* class_tid: 7, , table: flow_chain_cache.group_check */
+	{
+	.description = "metadata",
+	.regfile_idx = BNXT_ULP_RF_IDX_JUMP_META,
+	.ident_bit_size = 16,
+	.ident_bit_pos = 32
+	},
+	/* class_tid: 7, , table: l2_cntxt_tcam_cache.ing_rd */
+	{
+	.description = "l2_cntxt_id",
+	.regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
+	.ident_bit_size = 10,
+	.ident_bit_pos = 42
+	},
+	{
+	.description = "prof_func_id",
+	.regfile_idx = BNXT_ULP_RF_IDX_PROF_FUNC_ID_0,
+	.ident_bit_size = 7,
+	.ident_bit_pos = 62
+	},
+	/* class_tid: 7, , table: flow_chain_cache.group_check_egr */
+	{
+	.description = "metadata",
+	.regfile_idx = BNXT_ULP_RF_IDX_JUMP_META,
+	.ident_bit_size = 16,
+	.ident_bit_pos = 32
+	},
+	/* class_tid: 7, , table: l2_cntxt_tcam_cache.ing_rd_egr */
+	{
+	.description = "l2_cntxt_id",
+	.regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
+	.ident_bit_size = 10,
+	.ident_bit_pos = 42
+	},
+	{
+	.description = "prof_func_id",
+	.regfile_idx = BNXT_ULP_RF_IDX_PROF_FUNC_ID_0,
+	.ident_bit_size = 7,
+	.ident_bit_pos = 62
 	}
 };
 
diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_wh_plus_class.c b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_wh_plus_class.c
index fff19939f8..90224bb063 100644
--- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_wh_plus_class.c
+++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_wh_plus_class.c
@@ -49,6 +49,36 @@ struct bnxt_ulp_mapper_tmpl_info ulp_wh_plus_class_tmpl_list[] = {
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
 		.cond_start_idx = 48,
 		.cond_nums = 0 }
+	},
+	/* class_tid: 5, ingress */
+	[5] = {
+	.device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
+	.num_tbls = 1,
+	.start_tbl_idx = 95,
+	.reject_info = {
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
+		.cond_start_idx = 50,
+		.cond_nums = 0 }
+	},
+	/* class_tid: 6, ingress */
+	[6] = {
+	.device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
+	.num_tbls = 1,
+	.start_tbl_idx = 96,
+	.reject_info = {
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
+		.cond_start_idx = 50,
+		.cond_nums = 0 }
+	},
+	/* class_tid: 7, ingress */
+	[7] = {
+	.device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
+	.num_tbls = 1,
+	.start_tbl_idx = 97,
+	.reject_info = {
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
+		.cond_start_idx = 50,
+		.cond_nums = 0 }
 	}
 };
 
@@ -1268,7 +1298,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 	.key_bit_size = 8,
 	.key_num_fields = 1,
 	.result_start_idx = 321,
-	.result_bit_size = 70,
+	.result_bit_size = 69,
 	.result_num_fields = 5
 	},
 	{ /* class_tid: 3, , table: parif_def_lkup_arec_ptr.ing_0 */
@@ -1452,7 +1482,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 	.key_bit_size = 8,
 	.key_num_fields = 1,
 	.result_start_idx = 368,
-	.result_bit_size = 70,
+	.result_bit_size = 69,
 	.result_num_fields = 5
 	},
 	{ /* class_tid: 3, , table: l2_cntxt_tcam_cache.rd */
@@ -1542,7 +1572,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 	.key_bit_size = 8,
 	.key_num_fields = 1,
 	.result_start_idx = 386,
-	.result_bit_size = 70,
+	.result_bit_size = 69,
 	.result_num_fields = 5
 	},
 	{ /* class_tid: 3, , table: int_full_act_record.egr_0 */
@@ -2205,6 +2235,48 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 	.result_start_idx = 649,
 	.result_bit_size = 179,
 	.result_num_fields = 8
+	},
+	{ /* class_tid: 5, , table: control.reject */
+	.description = "control.reject",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+	.direction = TF_DIR_RX,
+	.true_message = "Reject: wh+ not supporting promiscuous template",
+	.execute_info = {
+		.cond_true_goto  = 1023,
+		.cond_false_goto = 0,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+		.cond_start_idx = 50,
+		.cond_nums = 0 },
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
+	},
+	{ /* class_tid: 6, , table: control.reject */
+	.description = "control.reject",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+	.direction = TF_DIR_RX,
+	.true_message = "Reject: wh+ not supporting promiscuous template",
+	.execute_info = {
+		.cond_true_goto  = 1023,
+		.cond_false_goto = 0,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+		.cond_start_idx = 50,
+		.cond_nums = 0 },
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
+	},
+	{ /* class_tid: 7, , table: control.reject */
+	.description = "control.reject",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+	.direction = TF_DIR_RX,
+	.true_message = "Reject: wh+ not supporting group miss action template",
+	.execute_info = {
+		.cond_true_goto  = 1023,
+		.cond_false_goto = 0,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+		.cond_start_idx = 50,
+		.cond_nums = 0 },
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
 	}
 };
 
@@ -16221,7 +16293,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	},
 	{
 	.description = "prof_func_id",
-	.field_bit_size = 8,
+	.field_bit_size = 7,
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
@@ -16535,7 +16607,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	},
 	{
 	.description = "prof_func_id",
-	.field_bit_size = 8,
+	.field_bit_size = 7,
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
@@ -16665,7 +16737,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	},
 	{
 	.description = "prof_func_id",
-	.field_bit_size = 8,
+	.field_bit_size = 7,
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
-- 
2.39.3


  parent reply	other threads:[~2024-10-05  8:06 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-04 17:52 [PATCH v4 00/47] TruFlow update for Thor2 Sriharsha Basavapatna
2024-10-04 17:52 ` [PATCH v4 01/47] net/bnxt: tf_core: fix wc tcam multi slice delete issue Sriharsha Basavapatna
2024-10-04 17:52 ` [PATCH v4 02/47] net/bnxt: tf_core: tcam manager data corruption Sriharsha Basavapatna
2024-10-04 17:52 ` [PATCH v4 03/47] net/bnxt: tf_core: External EM support cleanup Sriharsha Basavapatna
2024-10-04 17:52 ` [PATCH v4 04/47] net/bnxt: tf_core: Thor TF EM key size check Sriharsha Basavapatna
2024-10-04 17:52 ` [PATCH v4 05/47] net/bnxt: tf_core: flow scale improvement Sriharsha Basavapatna
2024-10-04 17:52 ` [PATCH v4 06/47] net/bnxt: tf_core: TF support flow scale query Sriharsha Basavapatna
2024-10-04 17:52 ` [PATCH v4 07/47] net/bnxt: tf_core: fix slice count in case of HA entry move Sriharsha Basavapatna
2024-10-04 17:52 ` [PATCH v4 08/47] net/bnxt: tf_core: convert priority based TCAM manager to dynamic allocation Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 09/47] net/bnxt: tf_core: remove dead AFM code from session-based priority TCAM mgr Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 10/47] net/bnxt: tf_core: remove dead " Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 11/47] net/bnxt: tfc: support tf-core for Thor2 Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 12/47] net/bnxt: tf_ulp: add vxlan-gpe base support Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 13/47] net/bnxt: tf_ulp: add custom l2 etype tunnel support Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 14/47] net/bnxt: tf_ulp: add support for vf to vf flow offload Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 15/47] net/bnxt: tf_ulp: Wh+ mirroring support Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 16/47] net/bnxt: tf_ulp: miscellaneous fixes Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 17/47] net/bnxt: tf_ulp: support for Thor2 ulp layer Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 18/47] net/bnxt: tf_ulp: add support for overlapping flows Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 19/47] net/bnxt: tf_ulp: convert recipe table to dynamic memory Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 20/47] net/bnxt: tf_ulp: add feature bit support Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 21/47] net/bnxt: tf_ulp: add action read and clear support Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 22/47] net/bnxt: tf_ulp: update template files Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 23/47] net/bnxt: tf_ulp: VFR updates for Thor 2 Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 24/47] net/bnxt: tf_ulp: add support for tunnel flow stats Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 25/47] net/bnxt: tf_ulp: update template files Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 26/47] net/bnxt: tf_ulp: enable recipe id generation Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 27/47] net/bnxt: tf_ulp: fixed parent child db counters Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 28/47] net/bnxt: tf_ulp: modify return values to adhere to C coding standard Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 29/47] net/bnxt: tf_ulp: update template files Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 30/47] net/bnxt: tf_ulp: add mask defaults when mask is not specified Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 31/47] net/bnxt: tf_ulp: add jump action support Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 32/47] net/bnxt: tf_ulp: add support for flow priority Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 33/47] net/bnxt: tf_ulp: support for dynamic tunnel ports Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 34/47] net/bnxt: tf_ulp: add rte_mtr support for Thor2 Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 35/47] net/bnxt: tf_ulp: TF support flow scale query Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 36/47] net/bnxt: tf_ulp: add support for rss flow query to ULP Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 37/47] net/bnxt: tf_ulp: add track type feature to tables Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 38/47] net/bnxt: tf_ulp: inline utility functions and use likely/unlikely Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 39/47] net/bnxt: tf_ulp: switch ulp to use rte crc32 hash Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 40/47] net/bnxt: tf_ulp: update template files Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 41/47] net/bnxt: tf_ulp: support a few generic template items Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 42/47] net/bnxt: tf_ulp: TFC support flow scale query for Thor2 Sriharsha Basavapatna
2024-10-04 17:53 ` Sriharsha Basavapatna [this message]
2024-10-04 17:53 ` [PATCH v4 44/47] net/bnxt: tf_ulp: enable support for truflow feature configuration Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 45/47] net/bnxt: tf_ulp: support a few feature extensions Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 46/47] net/bnxt: update template files Sriharsha Basavapatna
2024-10-04 17:53 ` [PATCH v4 47/47] net/bnxt: tf_ulp: add stats cache for thor2 Sriharsha Basavapatna

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=20241004175338.3156160-44-sriharsha.basavapatna@broadcom.com \
    --to=sriharsha.basavapatna@broadcom.com \
    --cc=ajit.khaparde@broadcom.com \
    --cc=dev@dpdk.org \
    --cc=kishore.padmanabha@broadcom.com \
    --cc=michael.baucom@broadcom.com \
    /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).