[49/58] net/bnxt: add field opcodes in ULP

Message ID 20210530085929.29695-50-venkatkumar.duvvuru@broadcom.com (mailing list archive)
State Superseded, archived
Delegated to: Ajit Khaparde
Headers
Series enhancements to host based flow table management |

Checks

Context Check Description
ci/checkpatch warning coding style issues

Commit Message

Venkat Duvvuru May 30, 2021, 8:59 a.m. UTC
  From: Kishore Padmanabha <kishore.padmanabha@broadcom.com>

Add field opcodes that perform logical evaluation of
multiple conditions.

Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com>
Signed-off-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com>
Reviewed-by: Michael Baucom <michael.baucom@broadcom.com>
Reviewed-by: Ajit Kumar Khaparde <ajit.khaparde@broadcom.com>
---
 drivers/net/bnxt/tf_ulp/ulp_mapper.c          |  806 +-
 .../net/bnxt/tf_ulp/ulp_template_db_enum.h    |   73 +-
 drivers/net/bnxt/tf_ulp/ulp_template_db_tbl.c |  622 +-
 .../bnxt/tf_ulp/ulp_template_db_thor_act.c    |  196 -
 .../bnxt/tf_ulp/ulp_template_db_thor_class.c  | 6009 ++-------------
 .../bnxt/tf_ulp/ulp_template_db_wh_plus_act.c | 1734 ++---
 .../tf_ulp/ulp_template_db_wh_plus_class.c    | 6487 +++++++----------
 drivers/net/bnxt/tf_ulp/ulp_template_struct.h |    5 +-
 drivers/net/bnxt/tf_ulp/ulp_utils.c           |    6 +-
 drivers/net/bnxt/tf_ulp/ulp_utils.h           |    2 +-
 10 files changed, 4514 insertions(+), 11426 deletions(-)
  

Patch

diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.c b/drivers/net/bnxt/tf_ulp/ulp_mapper.c
index 58104eeedf..05e2106c38 100644
--- a/drivers/net/bnxt/tf_ulp/ulp_mapper.c
+++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.c
@@ -20,11 +20,18 @@ 
 #include "ulp_template_db_tbl.h"
 #include "ulp_port_db.h"
 
+static uint8_t mapper_fld_zeros[16] = { 0 };
+
 static uint8_t mapper_fld_ones[16] = {
 	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
 	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
 };
 
+static uint8_t mapper_fld_one[16] = {
+	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01
+};
+
 static const char *
 ulp_mapper_tmpl_name_str(enum bnxt_ulp_template_type tmpl_type)
 {
@@ -882,7 +889,6 @@  ulp_mapper_ident_extract(struct bnxt_ulp_mapper_parms *parms,
 
 static int32_t
 ulp_mapper_field_port_db_process(struct bnxt_ulp_mapper_parms *parms,
-				 struct bnxt_ulp_mapper_field_info *fld,
 				 uint32_t port_id,
 				 uint16_t val16,
 				 uint8_t **val)
@@ -912,332 +918,122 @@  ulp_mapper_field_port_db_process(struct bnxt_ulp_mapper_parms *parms,
 		}
 		break;
 	default:
-		BNXT_TF_DBG(ERR, "Invalid port_data %s\n", fld->description);
-		return -EINVAL;
-	}
-	return 0;
-}
-
-static int32_t
-ulp_mapper_field_process_inc_dec(struct bnxt_ulp_mapper_field_info *fld,
-				 struct ulp_blob *blob,
-				 uint64_t *val64,
-				 uint16_t const_val16,
-				 uint32_t bitlen,
-				 uint32_t *update_flag)
-{
-	uint64_t l_val64 = *val64;
-
-	if (fld->field_opc == BNXT_ULP_FIELD_OPC_SRC1_PLUS_CONST ||
-	    fld->field_opc == BNXT_ULP_FIELD_OPC_SRC1_PLUS_CONST_POST) {
-		l_val64 += const_val16;
-		l_val64 = tfp_be_to_cpu_64(l_val64);
-		ulp_blob_push_64(blob, &l_val64, bitlen);
-	} else if (fld->field_opc == BNXT_ULP_FIELD_OPC_SRC1_MINUS_CONST ||
-		   fld->field_opc == BNXT_ULP_FIELD_OPC_SRC1_MINUS_CONST_POST) {
-		l_val64 -= const_val16;
-		l_val64 = tfp_be_to_cpu_64(l_val64);
-		ulp_blob_push_64(blob, &l_val64, bitlen);
-	} else {
-		BNXT_TF_DBG(ERR, "Invalid field opcode %u\n", fld->field_opc);
+		BNXT_TF_DBG(ERR, "Invalid port_data %d\n", port_data);
 		return -EINVAL;
 	}
-
-	if (fld->field_opc == BNXT_ULP_FIELD_OPC_SRC1_MINUS_CONST_POST ||
-	    fld->field_opc == BNXT_ULP_FIELD_OPC_SRC1_PLUS_CONST_POST) {
-		*val64 = l_val64;
-		*update_flag = 1;
-	}
 	return 0;
 }
 
 static int32_t
-ulp_mapper_field_process(struct bnxt_ulp_mapper_parms *parms,
-			 enum tf_dir dir,
-			 struct bnxt_ulp_mapper_field_info *fld,
-			 struct ulp_blob *blob,
-			 uint8_t is_key,
-			 const char *name)
+ulp_mapper_field_src_process(struct bnxt_ulp_mapper_parms *parms,
+			     enum bnxt_ulp_field_src field_src,
+			     uint8_t *field_opr,
+			     enum tf_dir dir,
+			     uint8_t is_key,
+			     uint32_t bitlen,
+			     uint8_t **val,
+			     uint32_t *val_len,
+			     uint64_t *value)
 {
-	uint32_t val_size = 0, field_size = 0;
-	uint64_t hdr_bit, act_bit, regval;
-	uint16_t write_idx = blob->write_idx;
-	uint16_t idx, size_idx, bitlen, offset;
-	uint8_t	*val = NULL;
-	uint8_t tmpval[16];
+	struct bnxt_ulp_mapper_data *m;
 	uint8_t bit;
-	uint32_t src1_sel = 0;
-	enum bnxt_ulp_field_src fld_src;
-	uint8_t *fld_src_oper;
-	enum bnxt_ulp_field_cond_src field_cond_src;
-	uint16_t const_val = 0;
-	uint32_t update_flag = 0;
-	uint64_t src1_val64;
-	uint32_t port_id;
+	uint32_t port_id, val_size, field_size;
+	uint16_t idx, size_idx, offset;
+	uint32_t bytelen = ULP_BITS_2_BYTE(bitlen);
+	uint8_t *buffer;
+	uint64_t lregval;
 	bool shared;
 
-	/* process the field opcode */
-	if (fld->field_opc != BNXT_ULP_FIELD_OPC_COND_OP) {
-		field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE;
-		/* Read the constant from the second operand */
-		memcpy(&const_val, fld->field_opr2, sizeof(uint16_t));
-		const_val = tfp_be_to_cpu_16(const_val);
-	} else {
-		field_cond_src = fld->field_cond_src;
-	}
-
-	bitlen = fld->field_bit_size;
-	/* Evaluate the condition */
-	switch (field_cond_src) {
-	case BNXT_ULP_FIELD_COND_SRC_TRUE:
-		src1_sel = 1;
-		break;
-	case BNXT_ULP_FIELD_COND_SRC_CF:
-		if (!ulp_operand_read(fld->field_cond_opr,
-				      (uint8_t *)&idx, sizeof(uint16_t))) {
-			BNXT_TF_DBG(ERR, "%s operand read failed.\n", name);
-			return -EINVAL;
-		}
-		idx = tfp_be_to_cpu_16(idx);
-		if (idx >= BNXT_ULP_CF_IDX_LAST) {
-			BNXT_TF_DBG(ERR, "%s invalid index %u\n", name, idx);
-			return -EINVAL;
-		}
-		/* check if the computed field is set */
-		if (ULP_COMP_FLD_IDX_RD(parms, idx))
-			src1_sel = 1;
-		break;
-	case BNXT_ULP_FIELD_COND_SRC_RF:
-		if (!ulp_operand_read(fld->field_cond_opr,
-				      (uint8_t *)&idx, sizeof(uint16_t))) {
-			BNXT_TF_DBG(ERR, "%s operand read failed\n", name);
-			return -EINVAL;
-		}
-
-		idx = tfp_be_to_cpu_16(idx);
-		/* Uninitialized regfile entries return 0 */
-		if (!ulp_regfile_read(parms->regfile, idx, &regval)) {
-			BNXT_TF_DBG(ERR, "%s regfile[%d] read oob\n",
-				    name, idx);
-			return -EINVAL;
-		}
-		if (regval)
-			src1_sel = 1;
-		break;
-	case BNXT_ULP_FIELD_COND_SRC_ACT_BIT:
-		if (!ulp_operand_read(fld->field_cond_opr,
-				      (uint8_t *)&act_bit, sizeof(uint64_t))) {
-			BNXT_TF_DBG(ERR, "%s operand read failed\n", name);
-			return -EINVAL;
-		}
-		act_bit = tfp_be_to_cpu_64(act_bit);
-		if (ULP_BITMAP_ISSET(parms->act_bitmap->bits, act_bit))
-			src1_sel = 1;
-		break;
-	case BNXT_ULP_FIELD_COND_SRC_HDR_BIT:
-		if (!ulp_operand_read(fld->field_cond_opr,
-				      (uint8_t *)&hdr_bit, sizeof(uint64_t))) {
-			BNXT_TF_DBG(ERR, "%s operand read failed\n", name);
-			return -EINVAL;
-		}
-		hdr_bit = tfp_be_to_cpu_64(hdr_bit);
-		if (ULP_BITMAP_ISSET(parms->hdr_bitmap->bits, hdr_bit))
-			src1_sel = 1;
-		break;
-	case BNXT_ULP_FIELD_COND_SRC_FIELD_BIT:
-		if (!ulp_operand_read(fld->field_cond_opr, (uint8_t *)&idx,
-				      sizeof(uint16_t))) {
-			BNXT_TF_DBG(ERR, "%s operand read failed.\n", name);
-			return -EINVAL;
-		}
-		idx = tfp_be_to_cpu_16(idx);
-		/* get the index from the global field list */
-		if (ulp_mapper_glb_field_tbl_get(parms, idx, &bit)) {
-			BNXT_TF_DBG(ERR, "invalid ulp_glb_field_tbl idx %d\n",
-				    idx);
-			return -EINVAL;
-		}
-		if (bit && (ULP_INDEX_BITMAP_GET(parms->fld_bitmap->bits, bit)))
-			src1_sel = 1;
-		break;
-	default:
-		BNXT_TF_DBG(ERR, "%s invalid field opcode 0x%x at %d\n",
-			    name, fld->field_cond_src, write_idx);
-		return -EINVAL;
-	}
-
-	/* pick the selected source */
-	if (src1_sel) {
-		fld_src = fld->field_src1;
-		fld_src_oper = fld->field_opr1;
-	} else {
-		fld_src = fld->field_src2;
-		fld_src_oper = fld->field_opr2;
-	}
-
+	*val_len = bitlen;
+	*value = 0;
 	/* Perform the action */
-	switch (fld_src) {
+	switch (field_src) {
 	case BNXT_ULP_FIELD_SRC_ZERO:
-		if (ulp_blob_pad_push(blob, bitlen) < 0) {
-			BNXT_TF_DBG(ERR, "%s too large for blob\n", name);
-			return -EINVAL;
-		}
+		*val = mapper_fld_zeros;
 		break;
 	case BNXT_ULP_FIELD_SRC_CONST:
-		val = fld_src_oper;
-		if (!ulp_blob_push(blob, val, bitlen)) {
-			BNXT_TF_DBG(ERR, "%s push to blob failed\n", name);
-			return -EINVAL;
-		}
+		*val = field_opr;
 		break;
 	case BNXT_ULP_FIELD_SRC_ONES:
-		val = mapper_fld_ones;
-		if (!ulp_blob_push(blob, val, bitlen)) {
-			BNXT_TF_DBG(ERR, "%s too large for blob\n", name);
-			return -EINVAL;
-		}
+		*val = mapper_fld_ones;
+		*value = 1;
 		break;
 	case BNXT_ULP_FIELD_SRC_CF:
-		if (!ulp_operand_read(fld_src_oper,
+		if (!ulp_operand_read(field_opr,
 				      (uint8_t *)&idx, sizeof(uint16_t))) {
-			BNXT_TF_DBG(ERR, "%s operand read failed.\n",
-				    name);
+			BNXT_TF_DBG(ERR, "CF operand read failed\n");
 			return -EINVAL;
 		}
 		idx = tfp_be_to_cpu_16(idx);
-		if (idx >= BNXT_ULP_CF_IDX_LAST) {
-			BNXT_TF_DBG(ERR, "%s comp field [%d] read oob\n",
-				    name, idx);
+		if (idx >= BNXT_ULP_CF_IDX_LAST || bytelen > sizeof(uint32_t)) {
+			BNXT_TF_DBG(ERR, "comp field [%d] read oob %d\n", idx,
+				    bytelen);
 			return -EINVAL;
 		}
-		if (fld->field_opc == BNXT_ULP_FIELD_OPC_COND_OP) {
-			val = ulp_blob_push_32(blob, &parms->comp_fld[idx],
-					       bitlen);
-			if (!val) {
-				BNXT_TF_DBG(ERR, "%s push to blob failed\n",
-					    name);
-				return -EINVAL;
-			}
-		} else if (fld->field_opc == BNXT_ULP_FIELD_OPC_PORT_TABLE) {
-			port_id = ULP_COMP_FLD_IDX_RD(parms, idx);
-			if (ulp_mapper_field_port_db_process(parms, fld,
-							     port_id, const_val,
-							     &val)) {
-				BNXT_TF_DBG(ERR, "%s field port table failed\n",
-					    name);
-				return -EINVAL;
-			}
-			if (!ulp_blob_push(blob, val, bitlen)) {
-				BNXT_TF_DBG(ERR, "%s push to blob failed\n",
-					    name);
-				return -EINVAL;
-			}
-		} else {
-			src1_val64 = ULP_COMP_FLD_IDX_RD(parms, idx);
-			if (ulp_mapper_field_process_inc_dec(fld, blob,
-							     &src1_val64,
-							     const_val,
-							     bitlen,
-							     &update_flag)) {
-				BNXT_TF_DBG(ERR, "%s field cond opc failed\n",
-					    name);
-				return -EINVAL;
-			}
-			if (update_flag) {
-				BNXT_TF_DBG(ERR, "%s invalid field cond opc\n",
-					    name);
-				return -EINVAL;
-			}
-		}
+		buffer = (uint8_t *)&parms->comp_fld[idx];
+		*val = &buffer[sizeof(uint32_t) - bytelen];
+		*value = ULP_COMP_FLD_IDX_RD(parms, idx);
 		break;
 	case BNXT_ULP_FIELD_SRC_RF:
-		if (!ulp_operand_read(fld_src_oper,
+		if (!ulp_operand_read(field_opr,
 				      (uint8_t *)&idx, sizeof(uint16_t))) {
-			BNXT_TF_DBG(ERR, "%s operand read failed\n", name);
+			BNXT_TF_DBG(ERR, "RF operand read failed\n");
 			return -EINVAL;
 		}
 
 		idx = tfp_be_to_cpu_16(idx);
 		/* Uninitialized regfile entries return 0 */
-		if (!ulp_regfile_read(parms->regfile, idx, &regval)) {
-			BNXT_TF_DBG(ERR, "%s regfile[%d] read oob\n",
-				    name, idx);
+		if (!ulp_regfile_read(parms->regfile, idx, &lregval) ||
+		    sizeof(uint64_t) < bytelen) {
+			BNXT_TF_DBG(ERR, "regfile[%d] read oob %u\n", idx,
+				    bytelen);
 			return -EINVAL;
 		}
-		if (fld->field_opc == BNXT_ULP_FIELD_OPC_COND_OP) {
-			val = ulp_blob_push_64(blob, &regval, bitlen);
-			if (!val) {
-				BNXT_TF_DBG(ERR, "%s push to blob failed\n",
-					    name);
-				return -EINVAL;
-			}
-		} else {
-			if (ulp_mapper_field_process_inc_dec(fld, blob,
-							     &regval,
-							     const_val,
-							     bitlen,
-							     &update_flag)) {
-				BNXT_TF_DBG(ERR, "%s field cond opc failed\n",
-					    name);
-				return -EINVAL;
-			}
-			if (update_flag) {
-				regval = tfp_cpu_to_be_64(regval);
-				if (ulp_regfile_write(parms->regfile, idx,
-						      regval)) {
-					BNXT_TF_DBG(ERR,
-						    "Write regfile[%d] fail\n",
-						    idx);
-					return -EINVAL;
-				}
-			}
-		}
+		buffer = (uint8_t *)&parms->regfile->entry[idx].data;
+		*val = &buffer[sizeof(uint64_t) - bytelen];
+		*value = tfp_be_to_cpu_64(lregval);
 		break;
 	case BNXT_ULP_FIELD_SRC_ACT_PROP:
-		if (!ulp_operand_read(fld_src_oper,
+		if (!ulp_operand_read(field_opr,
 				      (uint8_t *)&idx, sizeof(uint16_t))) {
-			BNXT_TF_DBG(ERR, "%s operand read failed\n", name);
+			BNXT_TF_DBG(ERR, "Action operand read failed\n");
 			return -EINVAL;
 		}
 		idx = tfp_be_to_cpu_16(idx);
-
 		if (idx >= BNXT_ULP_ACT_PROP_IDX_LAST) {
-			BNXT_TF_DBG(ERR, "%s act_prop[%d] oob\n", name, idx);
+			BNXT_TF_DBG(ERR, "act_prop[%d] oob\n", idx);
 			return -EINVAL;
 		}
-		val = &parms->act_prop->act_details[idx];
+		buffer = &parms->act_prop->act_details[idx];
 		field_size = ulp_mapper_act_prop_size_get(idx);
-		if (bitlen < ULP_BYTE_2_BITS(field_size)) {
-			field_size  = field_size - ((bitlen + 7) / 8);
-			val += field_size;
-		}
-		if (!ulp_blob_push(blob, val, bitlen)) {
-			BNXT_TF_DBG(ERR, "%s push to blob failed\n", name);
+		if (bytelen > field_size) {
+			BNXT_TF_DBG(ERR, "act_prop[%d] field size small %u\n",
+				    idx, field_size);
 			return -EINVAL;
 		}
+		*val = &buffer[field_size - bytelen];
 		break;
 	case BNXT_ULP_FIELD_SRC_ACT_PROP_SZ:
-		if (!ulp_operand_read(fld_src_oper,
+		if (!ulp_operand_read(field_opr,
 				      (uint8_t *)&idx, sizeof(uint16_t))) {
-			BNXT_TF_DBG(ERR, "%s operand read failed\n", name);
+			BNXT_TF_DBG(ERR, "Action sz operand read failed\n");
 			return -EINVAL;
 		}
 		idx = tfp_be_to_cpu_16(idx);
 
 		if (idx >= BNXT_ULP_ACT_PROP_IDX_LAST) {
-			BNXT_TF_DBG(ERR, "%s act_prop[%d] oob\n", name, idx);
+			BNXT_TF_DBG(ERR, "act_prop_sz[%d] oob\n", idx);
 			return -EINVAL;
 		}
-		val = &parms->act_prop->act_details[idx];
+		*val = &parms->act_prop->act_details[idx];
 
 		/* get the size index next */
-		if (!ulp_operand_read(&fld_src_oper[sizeof(uint16_t)],
+		if (!ulp_operand_read(&field_opr[sizeof(uint16_t)],
 				      (uint8_t *)&size_idx, sizeof(uint16_t))) {
-			BNXT_TF_DBG(ERR, "%s operand read failed\n", name);
+			BNXT_TF_DBG(ERR, "Action sz operand read failed\n");
 			return -EINVAL;
 		}
 		size_idx = tfp_be_to_cpu_16(size_idx);
-
 		if (size_idx >= BNXT_ULP_ACT_PROP_IDX_LAST) {
 			BNXT_TF_DBG(ERR, "act_prop[%d] oob\n", size_idx);
 			return -EINVAL;
@@ -1245,51 +1041,32 @@  ulp_mapper_field_process(struct bnxt_ulp_mapper_parms *parms,
 		memcpy(&val_size, &parms->act_prop->act_details[size_idx],
 		       sizeof(uint32_t));
 		val_size = tfp_be_to_cpu_32(val_size);
-		val_size = ULP_BYTE_2_BITS(val_size);
-		ulp_blob_push_encap(blob, val, val_size);
+		*val_len = ULP_BYTE_2_BITS(val_size);
 		break;
 	case BNXT_ULP_FIELD_SRC_GLB_RF:
-		if (!ulp_operand_read(fld_src_oper,
-				      (uint8_t *)&idx,
-				      sizeof(uint16_t))) {
-			BNXT_TF_DBG(ERR, "%s operand read failed.\n", name);
+		if (!ulp_operand_read(field_opr,
+				      (uint8_t *)&idx, sizeof(uint16_t))) {
+			BNXT_TF_DBG(ERR, "Global regfile read failed\n");
 			return -EINVAL;
 		}
 		idx = tfp_be_to_cpu_16(idx);
-		if (ulp_mapper_glb_resource_read(parms->mapper_data, dir,
-						 idx, &regval, &shared)) {
-			BNXT_TF_DBG(ERR, "%s global regfile[%d] read failed.\n",
-				    name, idx);
+		if (ulp_mapper_glb_resource_read(parms->mapper_data,
+						 dir, idx, &lregval, &shared) ||
+		    sizeof(uint64_t) < bytelen) {
+			BNXT_TF_DBG(ERR, "Global regfile[%d] read failed %u\n",
+				    idx, bytelen);
 			return -EINVAL;
 		}
-		if (fld->field_opc == BNXT_ULP_FIELD_OPC_COND_OP) {
-			val = ulp_blob_push_64(blob, &regval, bitlen);
-			if (!val) {
-				BNXT_TF_DBG(ERR, "%s push to blob failed\n",
-					    name);
-				return -EINVAL;
-			}
-		} else {
-			if (ulp_mapper_field_process_inc_dec(fld, blob,
-							     &regval,
-							     const_val,
-							     bitlen,
-							     &update_flag)) {
-				BNXT_TF_DBG(ERR, "%s field cond opc failed\n",
-					    name);
-				return -EINVAL;
-			}
-			if (update_flag) {
-				BNXT_TF_DBG(ERR, "%s invalid field cond opc\n",
-					    name);
-				return -EINVAL;
-			}
-		}
+		m = parms->mapper_data;
+		buffer = (uint8_t *)&m->glb_res_tbl[dir][idx].resource_hndl;
+		*val = &buffer[sizeof(uint64_t) - bytelen];
+		*value = tfp_be_to_cpu_64(lregval);
 		break;
 	case BNXT_ULP_FIELD_SRC_HF:
-		if (!ulp_operand_read(fld_src_oper, (uint8_t *)&idx,
-				      sizeof(uint16_t))) {
-			BNXT_TF_DBG(ERR, "%s operand read failed.\n", name);
+	case BNXT_ULP_FIELD_SRC_SUB_HF:
+		if (!ulp_operand_read(field_opr,
+				      (uint8_t *)&idx, sizeof(uint16_t))) {
+			BNXT_TF_DBG(ERR, "Header field read failed\n");
 			return -EINVAL;
 		}
 		idx = tfp_be_to_cpu_16(idx);
@@ -1300,69 +1077,67 @@  ulp_mapper_field_process(struct bnxt_ulp_mapper_parms *parms,
 			return -EINVAL;
 		}
 		if (is_key)
-			val = parms->hdr_field[bit].spec;
+			buffer = parms->hdr_field[bit].spec;
 		else
-			val = parms->hdr_field[bit].mask;
+			buffer = parms->hdr_field[bit].mask;
 
-		/*
-		 * Need to account for how much data was pushed to the header
-		 * field vs how much is to be inserted in the key/mask.
-		 */
 		field_size = parms->hdr_field[bit].size;
-		if (bitlen < ULP_BYTE_2_BITS(field_size)) {
-			field_size  = field_size - ((bitlen + 7) / 8);
-			val += field_size;
-		}
-
-		if (!ulp_blob_push(blob, val, bitlen)) {
-			BNXT_TF_DBG(ERR, "%s push to blob failed\n", name);
+		if (bytelen > field_size) {
+			BNXT_TF_DBG(ERR, "Hdr field[%d] size small %u\n",
+				    bit, field_size);
 			return -EINVAL;
 		}
+		if (field_src == BNXT_ULP_FIELD_SRC_HF) {
+			*val = &buffer[field_size - bytelen];
+		} else {
+			/* get the offset next */
+			if (!ulp_operand_read(&field_opr[sizeof(uint16_t)],
+					      (uint8_t *)&offset,
+					      sizeof(uint16_t))) {
+				BNXT_TF_DBG(ERR, "Hdr fld size read failed\n");
+				return -EINVAL;
+			}
+			offset = tfp_be_to_cpu_16(offset);
+			offset = ULP_BITS_2_BYTE_NR(offset);
+			if ((offset + bytelen) > field_size) {
+				BNXT_TF_DBG(ERR, "Hdr field[%d] oob\n", bit);
+				return -EINVAL;
+			}
+			*val = &buffer[offset];
+		}
 		break;
 	case BNXT_ULP_FIELD_SRC_HDR_BIT:
-		if (!ulp_operand_read(fld_src_oper,
-				      (uint8_t *)&hdr_bit, sizeof(uint64_t))) {
-			BNXT_TF_DBG(ERR, "%s operand read failed\n", name);
-			return -EINVAL;
-		}
-		hdr_bit = tfp_be_to_cpu_64(hdr_bit);
-		memset(tmpval, 0, sizeof(tmpval));
-		if (ULP_BITMAP_ISSET(parms->hdr_bitmap->bits, hdr_bit))
-			tmpval[0] = 1;
-		if (bitlen > ULP_BYTE_2_BITS(sizeof(tmpval))) {
-			BNXT_TF_DBG(ERR, "%s field size is incorrect\n", name);
+		if (!ulp_operand_read(field_opr,
+				      (uint8_t *)&lregval, sizeof(uint64_t))) {
+			BNXT_TF_DBG(ERR, "Header bit read failed\n");
 			return -EINVAL;
 		}
-		if (!ulp_blob_push(blob, tmpval, bitlen)) {
-			BNXT_TF_DBG(ERR, "%s push to blob failed\n", name);
-			return -EINVAL;
+		lregval = tfp_be_to_cpu_64(lregval);
+		if (ULP_BITMAP_ISSET(parms->hdr_bitmap->bits, lregval)) {
+			*val = mapper_fld_one;
+			*value = 1;
+		} else {
+			*val = mapper_fld_zeros;
 		}
-		val = tmpval;
 		break;
 	case BNXT_ULP_FIELD_SRC_ACT_BIT:
-		if (!ulp_operand_read(fld_src_oper,
-				      (uint8_t *)&act_bit, sizeof(uint64_t))) {
-			BNXT_TF_DBG(ERR, "%s operand read failed\n", name);
-			return -EINVAL;
-		}
-		act_bit = tfp_be_to_cpu_64(act_bit);
-		memset(tmpval, 0, sizeof(tmpval));
-		if (ULP_BITMAP_ISSET(parms->act_bitmap->bits, act_bit))
-			tmpval[0] = 1;
-		if (bitlen > ULP_BYTE_2_BITS(sizeof(tmpval))) {
-			BNXT_TF_DBG(ERR, "%s field size is incorrect\n", name);
+		if (!ulp_operand_read(field_opr,
+				      (uint8_t *)&lregval, sizeof(uint64_t))) {
+			BNXT_TF_DBG(ERR, "Action bit read failed\n");
 			return -EINVAL;
 		}
-		if (!ulp_blob_push(blob, tmpval, bitlen)) {
-			BNXT_TF_DBG(ERR, "%s push to blob failed\n", name);
-			return -EINVAL;
+		lregval = tfp_be_to_cpu_64(lregval);
+		if (ULP_BITMAP_ISSET(parms->act_bitmap->bits, lregval)) {
+			*val = mapper_fld_one;
+			*value = 1;
+		} else {
+			*val = mapper_fld_zeros;
 		}
-		val = tmpval;
 		break;
 	case BNXT_ULP_FIELD_SRC_FIELD_BIT:
-		if (!ulp_operand_read(fld_src_oper, (uint8_t *)&idx,
-				      sizeof(uint16_t))) {
-			BNXT_TF_DBG(ERR, "%s operand read failed.\n", name);
+		if (!ulp_operand_read(field_opr,
+				      (uint8_t *)&idx, sizeof(uint16_t))) {
+			BNXT_TF_DBG(ERR, "Field bit read failed\n");
 			return -EINVAL;
 		}
 		idx = tfp_be_to_cpu_16(idx);
@@ -1372,70 +1147,294 @@  ulp_mapper_field_process(struct bnxt_ulp_mapper_parms *parms,
 				    idx);
 			return -EINVAL;
 		}
-		memset(tmpval, 0, sizeof(tmpval));
-		if (ULP_INDEX_BITMAP_GET(parms->fld_bitmap->bits, bit))
-			tmpval[0] = 1;
-		if (bitlen > ULP_BYTE_2_BITS(sizeof(tmpval))) {
-			BNXT_TF_DBG(ERR, "%s field size is incorrect\n", name);
+		if (ULP_INDEX_BITMAP_GET(parms->fld_bitmap->bits, bit)) {
+			*val = mapper_fld_one;
+			*value = 1;
+		} else {
+			*val = mapper_fld_zeros;
+		}
+		break;
+	case BNXT_ULP_FIELD_SRC_PORT_TABLE:
+		/* The port id is present in the comp field list */
+		port_id = ULP_COMP_FLD_IDX_RD(parms,
+					      BNXT_ULP_CF_IDX_DEV_PORT_ID);
+		/* get the port table enum  */
+		if (!ulp_operand_read(field_opr,
+				      (uint8_t *)&idx, sizeof(uint16_t))) {
+			BNXT_TF_DBG(ERR, "Port table enum read failed\n");
 			return -EINVAL;
 		}
-		if (!ulp_blob_push(blob, tmpval, bitlen)) {
-			BNXT_TF_DBG(ERR, "%s push to blob failed\n", name);
+		idx = tfp_be_to_cpu_16(idx);
+		if (ulp_mapper_field_port_db_process(parms, port_id, idx,
+						     val)) {
+			BNXT_TF_DBG(ERR, "field port table failed\n");
 			return -EINVAL;
 		}
-		val = tmpval;
-		break;
 	case BNXT_ULP_FIELD_SRC_SKIP:
 		/* do nothing */
 		break;
 	case BNXT_ULP_FIELD_SRC_REJECT:
 		return -EINVAL;
-	case BNXT_ULP_FIELD_SRC_SUB_HF:
-		if (!ulp_operand_read(fld_src_oper,
-				      (uint8_t *)&idx, sizeof(uint16_t))) {
-			BNXT_TF_DBG(ERR, "%s operand read failed\n", name);
+	default:
+		BNXT_TF_DBG(ERR, "invalid field opcode 0x%x\n", field_src);
+		return -EINVAL;
+	}
+	return 0;
+}
+
+static int32_t ulp_mapper_field_buffer_eval(uint8_t *buffer, uint32_t bitlen,
+					    uint64_t *output)
+{
+	uint16_t val_16;
+	uint32_t val_32;
+	uint64_t val_64;
+	uint32_t bytelen;
+
+	bytelen = ULP_BITS_2_BYTE(bitlen);
+	if (bytelen == sizeof(uint8_t)) {
+		*output = *((uint8_t *)buffer);
+	} else if (bytelen == sizeof(uint16_t)) {
+		val_16 = *((uint16_t *)buffer);
+		*output =  tfp_be_to_cpu_16(val_16);
+	} else if (bytelen == sizeof(uint32_t)) {
+		val_32 = *((uint32_t *)buffer);
+		*output =  tfp_be_to_cpu_32(val_32);
+	} else if (bytelen == sizeof(val_64)) {
+		val_64 = *((uint64_t *)buffer);
+		*output =  tfp_be_to_cpu_64(val_64);
+	} else {
+		*output = 0;
+		return -EINVAL;
+	}
+	return 0;
+}
+
+static int32_t ulp_mapper_field_blob_write(enum bnxt_ulp_field_src fld_src,
+					   struct ulp_blob *blob,
+					   uint8_t *val,
+					   uint32_t val_len,
+					   uint8_t **out_val)
+{
+	if (fld_src == BNXT_ULP_FIELD_SRC_ZERO) {
+		if (ulp_blob_pad_push(blob, val_len) < 0) {
+			BNXT_TF_DBG(ERR, "too large for blob\n");
 			return -EINVAL;
 		}
-		idx = tfp_be_to_cpu_16(idx);
-		/* get the index from the global field list */
-		if (ulp_mapper_glb_field_tbl_get(parms, idx, &bit)) {
-			BNXT_TF_DBG(ERR, "invalid ulp_glb_field_tbl idx %d\n",
-				    idx);
+	} else if (fld_src == BNXT_ULP_FIELD_SRC_ACT_PROP_SZ) {
+		if (ulp_blob_push_encap(blob, val, val_len) < 0) {
+			BNXT_TF_DBG(ERR, "encap blob push failed\n");
 			return -EINVAL;
 		}
-
-		/* get the offset next */
-		if (!ulp_operand_read(&fld_src_oper[sizeof(uint16_t)],
-				      (uint8_t *)&offset, sizeof(uint16_t))) {
-			BNXT_TF_DBG(ERR, "%s operand read failed\n", name);
+	} else {
+		if (!ulp_blob_push(blob, val, val_len)) {
+			BNXT_TF_DBG(ERR, "push of val1 failed\n");
 			return -EINVAL;
 		}
-		offset = tfp_be_to_cpu_16(offset);
-		if ((offset + bitlen) >
-		    ULP_BYTE_2_BITS(parms->hdr_field[bit].size) ||
-		    ULP_BITS_IS_BYTE_NOT_ALIGNED(offset)) {
-			BNXT_TF_DBG(ERR, "Hdr field[%s] oob\n", name);
-			return -EINVAL;
+	}
+	*out_val = val;
+	return 0;
+}
+
+static int32_t
+ulp_mapper_field_opc_process(struct bnxt_ulp_mapper_parms *parms,
+			     enum tf_dir dir,
+			     struct bnxt_ulp_mapper_field_info *fld,
+			     struct ulp_blob *blob,
+			     uint8_t is_key,
+			     const char *name)
+{
+	uint16_t write_idx = blob->write_idx;
+	uint8_t *val = NULL, *val1, *val2, *val3;
+	uint32_t val_len = 0, val1_len = 0, val2_len = 0, val3_len = 0;
+	uint8_t process_src1 = 0, process_src2 = 0, process_src3 = 0;
+	uint8_t eval_src1 = 0, eval_src2 = 0, eval_src3 = 0;
+	uint64_t val_int = 0, val1_int = 0, val2_int = 0, val3_int = 0;
+	uint64_t value1 = 0, value2 = 0, value3 = 0;
+	int32_t rc = 0;
+
+	/* prepare the field source and values */
+	switch (fld->field_opc) {
+	case BNXT_ULP_FIELD_OPC_SRC1:
+		process_src1 = 1;
+		break;
+	case BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3:
+		process_src1 = 1;
+		break;
+	case BNXT_ULP_FIELD_OPC_SRC1_OR_SRC2_OR_SRC3:
+	case BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3:
+		process_src3 = 1;
+		eval_src3 = 1;
+		process_src1 = 1;
+		process_src2 = 1;
+		eval_src1 = 1;
+		eval_src2 = 1;
+		break;
+	case BNXT_ULP_FIELD_OPC_SRC1_PLUS_SRC2:
+	case BNXT_ULP_FIELD_OPC_SRC1_MINUS_SRC2:
+	case BNXT_ULP_FIELD_OPC_SRC1_PLUS_SRC2_POST:
+	case BNXT_ULP_FIELD_OPC_SRC1_MINUS_SRC2_POST:
+	case BNXT_ULP_FIELD_OPC_SRC1_OR_SRC2:
+	case BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2:
+		process_src1 = 1;
+		process_src2 = 1;
+		eval_src1 = 1;
+		eval_src2 = 1;
+		break;
+	default:
+		break;
+	}
+
+	/* process the src1 opcode  */
+	if (process_src1) {
+		if (ulp_mapper_field_src_process(parms, fld->field_src1,
+						 fld->field_opr1, dir, is_key,
+						 fld->field_bit_size, &val1,
+						 &val1_len, &value1)) {
+			BNXT_TF_DBG(ERR, "fld src1 process failed\n");
+			goto error;
+		}
+		if (eval_src1) {
+			if (ulp_mapper_field_buffer_eval(val1, val1_len,
+							 &val1_int)) {
+				BNXT_TF_DBG(ERR, "fld src1 eval failed\n");
+				goto error;
+			}
 		}
-		offset = ULP_BITS_2_BYTE_NR(offset);
+	}
 
-		/* write the value into blob */
-		if (is_key)
-			val = &parms->hdr_field[bit].spec[offset];
+	/* for "if then clause" set the correct process  */
+	if (fld->field_opc == BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3) {
+		if (value1)
+			process_src2 = 1;
 		else
-			val = &parms->hdr_field[bit].mask[offset];
+			process_src3 = 1;
+	}
 
-		if (!ulp_blob_push(blob, val, bitlen)) {
-			BNXT_TF_DBG(ERR, "%s push to blob failed\n", name);
-			return -EINVAL;
+	/* process src2 opcode */
+	if (process_src2) {
+		if (ulp_mapper_field_src_process(parms, fld->field_src2,
+						 fld->field_opr2, dir, is_key,
+						 fld->field_bit_size, &val2,
+						 &val2_len, &value2)) {
+			BNXT_TF_DBG(ERR, "fld src2 process failed\n");
+			goto error;
+		}
+		if (eval_src2) {
+			if (ulp_mapper_field_buffer_eval(val2, val2_len,
+							 &val2_int)) {
+				BNXT_TF_DBG(ERR, "fld src2 eval failed\n");
+				goto error;
+			}
+		}
+	}
+
+	/* process src3 opcode */
+	if (process_src3) {
+		if (ulp_mapper_field_src_process(parms, fld->field_src3,
+						 fld->field_opr3, dir, is_key,
+						 fld->field_bit_size, &val3,
+						 &val3_len, &value3)) {
+			BNXT_TF_DBG(ERR, "fld src3 process failed\n");
+			goto error;
+		}
+		if (eval_src3) {
+			if (ulp_mapper_field_buffer_eval(val3, val3_len,
+							 &val3_int)) {
+				BNXT_TF_DBG(ERR, "fld src3 eval failed\n");
+				goto error;
+			}
+		}
+	}
+
+	val_len = fld->field_bit_size;
+	/* process the field opcodes */
+	switch (fld->field_opc) {
+	case BNXT_ULP_FIELD_OPC_SRC1:
+		if (ulp_mapper_field_blob_write(fld->field_src1,
+						blob, val1, val1_len, &val))
+			goto error;
+		val_len = val1_len;
+		break;
+	case BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3:
+		if (value1) {
+			if (ulp_mapper_field_blob_write(fld->field_src2, blob,
+							val2, val2_len, &val))
+				goto error;
+			val_len = val2_len;
+		} else {
+			if (ulp_mapper_field_blob_write(fld->field_src3, blob,
+							val3, val3_len, &val))
+				goto error;
+			val_len = val3_len;
 		}
 		break;
+	case BNXT_ULP_FIELD_OPC_SRC1_PLUS_SRC2:
+	case BNXT_ULP_FIELD_OPC_SRC1_PLUS_SRC2_POST:
+		val_int = val1_int + val2_int;
+		val_int = tfp_cpu_to_be_64(val_int);
+		val = ulp_blob_push_64(blob, &val_int, fld->field_bit_size);
+		if (!val) {
+			BNXT_TF_DBG(ERR, "push to blob failed\n");
+			goto error;
+		}
+		break;
+	case BNXT_ULP_FIELD_OPC_SRC1_MINUS_SRC2:
+	case BNXT_ULP_FIELD_OPC_SRC1_MINUS_SRC2_POST:
+		val_int = val1_int - val2_int;
+		val_int = tfp_cpu_to_be_64(val_int);
+		val = ulp_blob_push_64(blob, &val_int, fld->field_bit_size);
+		if (!val) {
+			BNXT_TF_DBG(ERR, "push to blob failed\n");
+			goto error;
+		}
+		break;
+	case BNXT_ULP_FIELD_OPC_SRC1_OR_SRC2:
+		val_int = val1_int | val2_int;
+		val_int = tfp_cpu_to_be_64(val_int);
+		val = ulp_blob_push_64(blob, &val_int, fld->field_bit_size);
+		if (!val) {
+			BNXT_TF_DBG(ERR, "push to blob failed\n");
+			goto error;
+		}
+		break;
+	case BNXT_ULP_FIELD_OPC_SRC1_OR_SRC2_OR_SRC3:
+		val_int = val1_int | val2_int | val3_int;
+		val_int = tfp_cpu_to_be_64(val_int);
+		val = ulp_blob_push_64(blob, &val_int, fld->field_bit_size);
+		if (!val) {
+			BNXT_TF_DBG(ERR, "push to blob failed\n");
+			goto error;
+		}
+		break;
+	case BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2:
+		val_int = val1_int & val2_int;
+		val_int = tfp_cpu_to_be_64(val_int);
+		val = ulp_blob_push_64(blob, &val_int, fld->field_bit_size);
+		if (!val) {
+			BNXT_TF_DBG(ERR, "push to blob failed\n");
+			goto error;
+		}
+		break;
+	case BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3:
+		val_int = val1_int & (val2_int | val3_int);
+		val_int = tfp_cpu_to_be_64(val_int);
+		val = ulp_blob_push_64(blob, &val_int, fld->field_bit_size);
+		if (!val) {
+			BNXT_TF_DBG(ERR, "push to blob failed\n");
+			goto error;
+		}
+		break;
+	case BNXT_ULP_FIELD_OPC_SKIP:
+		break;
 	default:
-		BNXT_TF_DBG(ERR, "%s invalid field opcode 0x%x at %d\n",
-			    name, fld_src, write_idx);
-		return -EINVAL;
+		break;
 	}
-	return 0;
+
+	return rc;
+error:
+	BNXT_TF_DBG(ERR, "Error in %s:%s process %u:%u\n", name,
+		    fld->description, (val) ? write_idx : 0, val_len);
+	return -EINVAL;
 }
 
 /*
@@ -1474,8 +1473,8 @@  ulp_mapper_tbl_result_build(struct bnxt_ulp_mapper_parms *parms,
 			ulp_blob_encap_swap_idx_set(data);
 
 		/* Process the result fields */
-		rc = ulp_mapper_field_process(parms, tbl->direction,
-					      &dflds[i], data, 0, name);
+		rc = ulp_mapper_field_opc_process(parms, tbl->direction,
+						  &dflds[i], data, 0, name);
 		if (rc) {
 			BNXT_TF_DBG(ERR, "data field failed\n");
 			return rc;
@@ -1877,9 +1876,9 @@  ulp_mapper_tcam_tbl_process(struct bnxt_ulp_mapper_parms *parms,
 	 */
 	for (i = 0; i < num_kflds; i++) {
 		/* Setup the key */
-		rc = ulp_mapper_field_process(parms, tbl->direction,
-					      &kflds[i].field_info_spec,
-					      key, 1, "TCAM Key");
+		rc = ulp_mapper_field_opc_process(parms, tbl->direction,
+						  &kflds[i].field_info_spec,
+						  key, 1, "TCAM Key");
 		if (rc) {
 			BNXT_TF_DBG(ERR, "Key field set failed %s\n",
 				    kflds[i].field_info_spec.description);
@@ -1887,9 +1886,9 @@  ulp_mapper_tcam_tbl_process(struct bnxt_ulp_mapper_parms *parms,
 		}
 
 		/* Setup the mask */
-		rc = ulp_mapper_field_process(parms, tbl->direction,
-					      &kflds[i].field_info_mask,
-					      mask, 0, "TCAM Mask");
+		rc = ulp_mapper_field_opc_process(parms, tbl->direction,
+						  &kflds[i].field_info_mask,
+						  mask, 0, "TCAM Mask");
 		if (rc) {
 			BNXT_TF_DBG(ERR, "Mask field set failed %s\n",
 				    kflds[i].field_info_mask.description);
@@ -2077,9 +2076,9 @@  ulp_mapper_em_tbl_process(struct bnxt_ulp_mapper_parms *parms,
 	/* create the key */
 	for (i = 0; i < num_kflds; i++) {
 		/* Setup the key */
-		rc = ulp_mapper_field_process(parms, tbl->direction,
-					      &kflds[i].field_info_spec,
-					      &key, 1, "EM Key");
+		rc = ulp_mapper_field_opc_process(parms, tbl->direction,
+						  &kflds[i].field_info_spec,
+						  &key, 1, "EM Key");
 		if (rc) {
 			BNXT_TF_DBG(ERR, "Key field set failed.\n");
 			return rc;
@@ -2645,9 +2644,9 @@  ulp_mapper_gen_tbl_process(struct bnxt_ulp_mapper_parms *parms,
 	}
 	for (i = 0; i < num_kflds; i++) {
 		/* Setup the key */
-		rc = ulp_mapper_field_process(parms, tbl->direction,
-					      &kflds[i].field_info_spec,
-					      &key, 1, "Gen Tbl Key");
+		rc = ulp_mapper_field_opc_process(parms, tbl->direction,
+						  &kflds[i].field_info_spec,
+						  &key, 1, "Gen Tbl Key");
 		if (rc) {
 			BNXT_TF_DBG(ERR,
 				    "Failed to create key for Gen tbl rc=%d\n",
@@ -3159,6 +3158,9 @@  ulp_mapper_cc_upd_opr_compute(struct bnxt_ulp_mapper_parms *parms,
 		}
 		*result = tfp_be_to_cpu_64(regval);
 		break;
+	case BNXT_ULP_CC_UPD_SRC_CONST:
+		*result = cc_opr;
+		break;
 	default:
 		BNXT_TF_DBG(ERR, "invalid src code %u\n", cc_src);
 		return -EINVAL;
diff --git a/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h b/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h
index 3037547179..0058908c70 100644
--- a/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h
+++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h
@@ -3,12 +3,12 @@ 
  * All rights reserved.
  */
 
-/* date: Tue Mar  9 19:13:26 2021 */
+/* date: Sun Mar 14 12:41:59 2021 */
 
 #ifndef ULP_TEMPLATE_DB_H_
 #define ULP_TEMPLATE_DB_H_
 
-#define BNXT_ULP_REGFILE_MAX_SZ 38
+#define BNXT_ULP_REGFILE_MAX_SZ 40
 #define BNXT_ULP_MAX_NUM_DEVICES 4
 #define BNXT_ULP_LOG2_MAX_NUM_DEV 2
 #define BNXT_ULP_GEN_TBL_MAX_SZ 10
@@ -29,7 +29,7 @@ 
 #define BNXT_ULP_GLB_RESOURCE_TBL_MAX_SZ 33
 #define BNXT_ULP_APP_GLB_RESOURCE_TBL_MAX_SZ 27
 #define BNXT_ULP_RESOURCE_RESV_LIST_MAX_SZ 219
-#define BNXT_ULP_APP_CAP_TBL_MAX_SZ 2
+#define BNXT_ULP_APP_CAP_TBL_MAX_SZ 6
 #define BNXT_ULP_COND_GOTO_REJECT 1023
 #define BNXT_ULP_COND_GOTO_RF 0x10000
 #define BNXT_ULP_GLB_FIELD_TBL_SHIFT 7
@@ -37,16 +37,16 @@ 
 #define BNXT_ULP_GLB_FIELD_TBL_SIZE 5595
 #define ULP_WH_PLUS_CLASS_TMPL_LIST_SIZE 5
 #define ULP_WH_PLUS_CLASS_TBL_LIST_SIZE 74
-#define ULP_WH_PLUS_CLASS_KEY_INFO_LIST_SIZE 484
+#define ULP_WH_PLUS_CLASS_KEY_INFO_LIST_SIZE 495
 #define ULP_WH_PLUS_CLASS_IDENT_LIST_SIZE 20
-#define ULP_WH_PLUS_CLASS_RESULT_FIELD_LIST_SIZE 550
-#define ULP_WH_PLUS_CLASS_COND_LIST_SIZE 41
+#define ULP_WH_PLUS_CLASS_RESULT_FIELD_LIST_SIZE 546
+#define ULP_WH_PLUS_CLASS_COND_LIST_SIZE 43
 #define ULP_THOR_CLASS_TMPL_LIST_SIZE 5
-#define ULP_THOR_CLASS_TBL_LIST_SIZE 26
-#define ULP_THOR_CLASS_KEY_INFO_LIST_SIZE 90
-#define ULP_THOR_CLASS_IDENT_LIST_SIZE 3
-#define ULP_THOR_CLASS_RESULT_FIELD_LIST_SIZE 138
-#define ULP_THOR_CLASS_COND_LIST_SIZE 6
+#define ULP_THOR_CLASS_TBL_LIST_SIZE 13
+#define ULP_THOR_CLASS_KEY_INFO_LIST_SIZE 0
+#define ULP_THOR_CLASS_IDENT_LIST_SIZE 0
+#define ULP_THOR_CLASS_RESULT_FIELD_LIST_SIZE 102
+#define ULP_THOR_CLASS_COND_LIST_SIZE 1
 #define ULP_WH_PLUS_ACT_TMPL_LIST_SIZE 7
 #define ULP_WH_PLUS_ACT_TBL_LIST_SIZE 35
 #define ULP_WH_PLUS_ACT_KEY_INFO_LIST_SIZE 2
@@ -148,7 +148,8 @@  enum bnxt_ulp_cc_upd_src {
 	BNXT_ULP_CC_UPD_SRC_REGFILE = 0,
 	BNXT_ULP_CC_UPD_SRC_GLB_REGFILE = 1,
 	BNXT_ULP_CC_UPD_SRC_COMP_FIELD = 2,
-	BNXT_ULP_CC_UPD_SRC_LAST = 3
+	BNXT_ULP_CC_UPD_SRC_CONST = 3,
+	BNXT_ULP_CC_UPD_SRC_LAST = 4
 };
 
 enum bnxt_ulp_cf_idx {
@@ -283,26 +284,19 @@  enum bnxt_ulp_fdb_type {
 	BNXT_ULP_FDB_TYPE_LAST = 3
 };
 
-enum bnxt_ulp_field_cond_src {
-	BNXT_ULP_FIELD_COND_SRC_TRUE = 0,
-	BNXT_ULP_FIELD_COND_SRC_CF = 1,
-	BNXT_ULP_FIELD_COND_SRC_RF = 2,
-	BNXT_ULP_FIELD_COND_SRC_ACT_BIT = 3,
-	BNXT_ULP_FIELD_COND_SRC_HDR_BIT = 4,
-	BNXT_ULP_FIELD_COND_SRC_FIELD_BIT = 5,
-	BNXT_ULP_FIELD_COND_SRC_FLOW_PAT_MATCH = 6,
-	BNXT_ULP_FIELD_COND_SRC_ACT_PAT_MATCH = 7,
-	BNXT_ULP_FIELD_COND_SRC_LAST = 8
-};
-
 enum bnxt_ulp_field_opc {
-	BNXT_ULP_FIELD_OPC_COND_OP = 0,
-	BNXT_ULP_FIELD_OPC_SRC1_PLUS_CONST = 1,
-	BNXT_ULP_FIELD_OPC_SRC1_MINUS_CONST = 2,
-	BNXT_ULP_FIELD_OPC_SRC1_PLUS_CONST_POST = 3,
-	BNXT_ULP_FIELD_OPC_SRC1_MINUS_CONST_POST = 4,
-	BNXT_ULP_FIELD_OPC_PORT_TABLE = 5,
-	BNXT_ULP_FIELD_OPC_LAST = 6
+	BNXT_ULP_FIELD_OPC_SRC1 = 0,
+	BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3 = 1,
+	BNXT_ULP_FIELD_OPC_SRC1_PLUS_SRC2 = 2,
+	BNXT_ULP_FIELD_OPC_SRC1_MINUS_SRC2 = 3,
+	BNXT_ULP_FIELD_OPC_SRC1_PLUS_SRC2_POST = 4,
+	BNXT_ULP_FIELD_OPC_SRC1_MINUS_SRC2_POST = 5,
+	BNXT_ULP_FIELD_OPC_SRC1_OR_SRC2 = 6,
+	BNXT_ULP_FIELD_OPC_SRC1_OR_SRC2_OR_SRC3 = 7,
+	BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2 = 8,
+	BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3 = 9,
+	BNXT_ULP_FIELD_OPC_SKIP = 10,
+	BNXT_ULP_FIELD_OPC_LAST = 11
 };
 
 enum bnxt_ulp_field_src {
@@ -321,7 +315,8 @@  enum bnxt_ulp_field_src {
 	BNXT_ULP_FIELD_SRC_FIELD_BIT = 12,
 	BNXT_ULP_FIELD_SRC_SKIP = 13,
 	BNXT_ULP_FIELD_SRC_REJECT = 14,
-	BNXT_ULP_FIELD_SRC_LAST = 15
+	BNXT_ULP_FIELD_SRC_PORT_TABLE = 15,
+	BNXT_ULP_FIELD_SRC_LAST = 16
 };
 
 enum bnxt_ulp_generic_tbl_lkup_type {
@@ -346,11 +341,11 @@  enum bnxt_ulp_glb_rf_idx {
 	BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR = 5,
 	BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 = 6,
 	BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 = 7,
-	BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0 = 8,
-	BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 = 9,
-	BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_KEY_ID_0 = 10,
-	BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 = 11,
-	BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 = 12,
+	BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 = 8,
+	BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0 = 9,
+	BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 = 10,
+	BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_KEY_ID_0 = 11,
+	BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 = 12,
 	BNXT_ULP_GLB_RF_IDX_LAST = 13
 };
 
@@ -461,7 +456,9 @@  enum bnxt_ulp_rf_idx {
 	BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC = 35,
 	BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR = 36,
 	BNXT_ULP_RF_IDX_CC = 37,
-	BNXT_ULP_RF_IDX_LAST = 38
+	BNXT_ULP_RF_IDX_CF_FLOW_SIG_ID = 38,
+	BNXT_ULP_RF_IDX_PHY_PORT_VPORT = 39,
+	BNXT_ULP_RF_IDX_LAST = 40
 };
 
 enum bnxt_ulp_tcam_tbl_opc {
diff --git a/drivers/net/bnxt/tf_ulp/ulp_template_db_tbl.c b/drivers/net/bnxt/tf_ulp/ulp_template_db_tbl.c
index c8ab14a843..67bb8b116b 100644
--- a/drivers/net/bnxt/tf_ulp/ulp_template_db_tbl.c
+++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_tbl.c
@@ -3,7 +3,7 @@ 
  * All rights reserved.
  */
 
-/* date: Mon Mar  8 17:37:39 2021 */
+/* date: Mon Mar 15 10:26:20 2021 */
 
 #include "ulp_template_db_enum.h"
 #include "ulp_template_db_field.h"
@@ -56,7 +56,7 @@  struct bnxt_ulp_generic_tbl_params ulp_generic_tbl_params[] = {
 		BNXT_ULP_DIRECTION_INGRESS] = {
 	.name                    = "INGRESS GENERIC_TABLE_SHARED_MIRROR",
 	.result_num_entries      = 16,
-	.result_num_bytes        = 16,
+	.result_num_bytes        = 8,
 	.key_num_bytes           = 0,
 	.num_buckets             = 0,
 	.hash_tbl_entries        = 0,
@@ -66,7 +66,7 @@  struct bnxt_ulp_generic_tbl_params ulp_generic_tbl_params[] = {
 		BNXT_ULP_DIRECTION_EGRESS] = {
 	.name                    = "EGRESS GENERIC_TABLE_SHARED_MIRROR",
 	.result_num_entries      = 16,
-	.result_num_bytes        = 16,
+	.result_num_bytes        = 8,
 	.key_num_bytes           = 0,
 	.num_buckets             = 0,
 	.hash_tbl_entries        = 0,
@@ -77,7 +77,7 @@  struct bnxt_ulp_generic_tbl_params ulp_generic_tbl_params[] = {
 	.name                    = "INGRESS GENERIC_TABLE_MAC_ADDR_CACHE",
 	.result_num_entries      = 256,
 	.result_num_bytes        = 8,
-	.key_num_bytes           = 7,
+	.key_num_bytes           = 9,
 	.num_buckets             = 8,
 	.hash_tbl_entries        = 1024,
 	.result_byte_order       = BNXT_ULP_BYTE_ORDER_LE
@@ -87,7 +87,7 @@  struct bnxt_ulp_generic_tbl_params ulp_generic_tbl_params[] = {
 	.name                    = "EGRESS GENERIC_TABLE_MAC_ADDR_CACHE",
 	.result_num_entries      = 256,
 	.result_num_bytes        = 8,
-	.key_num_bytes           = 7,
+	.key_num_bytes           = 9,
 	.num_buckets             = 8,
 	.hash_tbl_entries        = 1024,
 	.result_byte_order       = BNXT_ULP_BYTE_ORDER_LE
@@ -96,7 +96,7 @@  struct bnxt_ulp_generic_tbl_params ulp_generic_tbl_params[] = {
 		BNXT_ULP_DIRECTION_INGRESS] = {
 	.name                    = "INGRESS GENERIC_TABLE_PORT_TABLE",
 	.result_num_entries      = 1024,
-	.result_num_bytes        = 18,
+	.result_num_bytes        = 19,
 	.key_num_bytes           = 0,
 	.num_buckets             = 0,
 	.hash_tbl_entries        = 0,
@@ -106,7 +106,7 @@  struct bnxt_ulp_generic_tbl_params ulp_generic_tbl_params[] = {
 		BNXT_ULP_DIRECTION_EGRESS] = {
 	.name                    = "EGRESS GENERIC_TABLE_PORT_TABLE",
 	.result_num_entries      = 1024,
-	.result_num_bytes        = 18,
+	.result_num_bytes        = 19,
 	.key_num_bytes           = 0,
 	.num_buckets             = 0,
 	.hash_tbl_entries        = 0,
@@ -217,30 +217,62 @@  struct bnxt_ulp_device_params ulp_device_params[BNXT_ULP_DEVICE_ID_LAST] = {
 	.em_key_align_bytes      = 80,
 	.wc_slice_width          = 160,
 	.wc_max_slices           = 4,
-	.wc_mode_list       = {0x0000000c, 0x0000000e, 0x0000000f, 0x0000000f},
+	.wc_mode_list        = {0x0000000c, 0x0000000e, 0x0000000f, 0x0000000f},
 	.wc_mod_list_max_size    = 4,
 	.wc_ctl_size_bits        = 32,
 	.dev_tbls                = ulp_template_thor_tbls
 	}
 };
 
+/* Provides act_bitmask */
+struct bnxt_ulp_shared_act_info ulp_shared_act_info[] = {
+	[BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR << 1 |
+		BNXT_ULP_DIRECTION_INGRESS] = {
+	.act_bitmask             = BNXT_ULP_ACT_BIT_SHARED_SAMPLE
+	},
+	[BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR << 1 |
+		BNXT_ULP_DIRECTION_EGRESS] = {
+	.act_bitmask             = BNXT_ULP_ACT_BIT_SHARED_SAMPLE
+	}
+};
+
 /* List of device specific parameters */
 struct bnxt_ulp_app_capabilities_info ulp_app_cap_info_list[] = {
-	[0] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.flags                   = 0
 	},
-	[1] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.flags                   = 0
 	},
+	{
+	.app_id                  = 1,
+	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
+	.flags                   = BNXT_ULP_APP_CAP_SHARED_EN
+	},
+	{
+	.app_id                  = 1,
+	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
+	.flags                   = BNXT_ULP_APP_CAP_SHARED_EN
+	},
+	{
+	.app_id                  = 2,
+	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
+	.flags                   = BNXT_ULP_APP_CAP_SHARED_EN
+	},
+	{
+	.app_id                  = 2,
+	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
+	.flags                   = BNXT_ULP_APP_CAP_SHARED_EN
+	}
 };
 
 /* List of device specific parameters */
 struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[]  = {
-	[0] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -248,7 +280,7 @@  struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[]  = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0,
 	.direction               = TF_DIR_RX
 	},
-	[1] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -256,7 +288,7 @@  struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[]  = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0,
 	.direction               = TF_DIR_RX
 	},
-	[2] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -264,7 +296,7 @@  struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[]  = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1,
 	.direction               = TF_DIR_RX
 	},
-	[3] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -272,7 +304,7 @@  struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[]  = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
 	.direction               = TF_DIR_RX
 	},
-	[4] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -280,7 +312,7 @@  struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[]  = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
 	.direction               = TF_DIR_RX
 	},
-	[5] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -288,7 +320,7 @@  struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[]  = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0,
 	.direction               = TF_DIR_RX
 	},
-	[6] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -296,7 +328,7 @@  struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[]  = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0,
 	.direction               = TF_DIR_RX
 	},
-	[7] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -304,7 +336,7 @@  struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[]  = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
 	.direction               = TF_DIR_RX
 	},
-	[8] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -312,7 +344,7 @@  struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[]  = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
 	.direction               = TF_DIR_RX
 	},
-	[9] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -320,7 +352,7 @@  struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[]  = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_KEY_ID_0,
 	.direction               = TF_DIR_RX
 	},
-	[10] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -328,7 +360,7 @@  struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[]  = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
 	.direction               = TF_DIR_RX
 	},
-	[11] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -336,7 +368,7 @@  struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[]  = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
 	.direction               = TF_DIR_TX
 	},
-	[12] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -344,7 +376,7 @@  struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[]  = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
 	.direction               = TF_DIR_TX
 	},
-	[13] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -352,7 +384,7 @@  struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[]  = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
 	.direction               = TF_DIR_TX
 	},
-	[14] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -360,7 +392,7 @@  struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[]  = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0,
 	.direction               = TF_DIR_RX
 	},
-	[15] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -368,7 +400,7 @@  struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[]  = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0,
 	.direction               = TF_DIR_RX
 	},
-	[16] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -376,7 +408,7 @@  struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[]  = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
 	.direction               = TF_DIR_RX
 	},
-	[17] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -384,7 +416,7 @@  struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[]  = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
 	.direction               = TF_DIR_RX
 	},
-	[18] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -392,7 +424,7 @@  struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[]  = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0,
 	.direction               = TF_DIR_RX
 	},
-	[19] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -400,7 +432,7 @@  struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[]  = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0,
 	.direction               = TF_DIR_RX
 	},
-	[20] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -408,7 +440,7 @@  struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[]  = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
 	.direction               = TF_DIR_RX
 	},
-	[21] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -416,7 +448,7 @@  struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[]  = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
 	.direction               = TF_DIR_RX
 	},
-	[22] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -424,7 +456,7 @@  struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[]  = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_KEY_ID_0,
 	.direction               = TF_DIR_RX
 	},
-	[23] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -432,7 +464,7 @@  struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[]  = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
 	.direction               = TF_DIR_RX
 	},
-	[24] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -440,7 +472,7 @@  struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[]  = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
 	.direction               = TF_DIR_TX
 	},
-	[25] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -448,7 +480,7 @@  struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[]  = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
 	.direction               = TF_DIR_TX
 	},
-	[26] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -460,7 +492,7 @@  struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[]  = {
 
 /* List of device specific parameters */
 struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
-	[0] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -468,7 +500,7 @@  struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
 	.direction               = TF_DIR_RX
 	},
-	[1] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -476,7 +508,7 @@  struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
 	.direction               = TF_DIR_TX
 	},
-	[2] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -484,7 +516,7 @@  struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
 	.direction               = TF_DIR_TX
 	},
-	[3] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -492,7 +524,7 @@  struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
 	.direction               = TF_DIR_RX
 	},
-	[4] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -500,7 +532,7 @@  struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
 	.direction               = TF_DIR_TX
 	},
-	[5] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -508,7 +540,7 @@  struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID,
 	.direction               = TF_DIR_RX
 	},
-	[6] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -516,7 +548,7 @@  struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
 	.direction               = TF_DIR_RX
 	},
-	[7] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -524,7 +556,7 @@  struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
 	.direction               = TF_DIR_TX
 	},
-	[8] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -532,7 +564,7 @@  struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
 	.direction               = TF_DIR_RX
 	},
-	[9] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -540,7 +572,7 @@  struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
 	.direction               = TF_DIR_TX
 	},
-	[10] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -548,7 +580,7 @@  struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
 	.direction               = TF_DIR_TX
 	},
-	[11] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -556,7 +588,7 @@  struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
 	.direction               = TF_DIR_RX
 	},
-	[12] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -564,7 +596,7 @@  struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
 	.direction               = TF_DIR_TX
 	},
-	[13] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -572,7 +604,7 @@  struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
 	.direction               = TF_DIR_TX
 	},
-	[14] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -580,7 +612,7 @@  struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
 	.direction               = TF_DIR_RX
 	},
-	[15] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -588,7 +620,7 @@  struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
 	.direction               = TF_DIR_TX
 	},
-	[16] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -596,7 +628,7 @@  struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID,
 	.direction               = TF_DIR_RX
 	},
-	[17] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -604,7 +636,7 @@  struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
 	.direction               = TF_DIR_RX
 	},
-	[18] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -612,7 +644,7 @@  struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
 	.direction               = TF_DIR_TX
 	},
-	[19] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -620,7 +652,7 @@  struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
 	.direction               = TF_DIR_RX
 	},
-	[20] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -628,7 +660,7 @@  struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
 	.direction               = TF_DIR_TX
 	},
-	[21] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -636,7 +668,7 @@  struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
 	.direction               = TF_DIR_TX
 	},
-	[22] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -644,7 +676,7 @@  struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
 	.direction               = TF_DIR_RX
 	},
-	[23] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -652,7 +684,7 @@  struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
 	.direction               = TF_DIR_TX
 	},
-	[24] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -660,7 +692,7 @@  struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
 	.direction               = TF_DIR_TX
 	},
-	[25] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -668,7 +700,7 @@  struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
 	.direction               = TF_DIR_RX
 	},
-	[26] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -676,7 +708,7 @@  struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
 	.direction               = TF_DIR_TX
 	},
-	[27] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -684,7 +716,7 @@  struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID,
 	.direction               = TF_DIR_RX
 	},
-	[28] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -692,7 +724,7 @@  struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
 	.direction               = TF_DIR_RX
 	},
-	[29] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -700,7 +732,7 @@  struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
 	.direction               = TF_DIR_TX
 	},
-	[30] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -708,7 +740,7 @@  struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
 	.direction               = TF_DIR_RX
 	},
-	[31] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -716,7 +748,7 @@  struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
 	.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
 	.direction               = TF_DIR_TX
 	},
-	[32] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -728,7 +760,7 @@  struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
 
 /* List of tf resources required to be reserved per app/device */
 struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
-	[0] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -736,7 +768,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
 	.count                   = 422
 	},
-	[1] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -744,7 +776,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
 	.count                   = 6
 	},
-	[2] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -752,7 +784,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_WC_PROF,
 	.count                   = 192
 	},
-	[3] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -760,7 +792,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_PROF_FUNC,
 	.count                   = 64
 	},
-	[4] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -768,7 +800,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_EM_PROF,
 	.count                   = 192
 	},
-	[5] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -776,7 +808,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
 	.count                   = 8192
 	},
-	[6] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -784,7 +816,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_STATS_64,
 	.count                   = 16384
 	},
-	[7] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -792,7 +824,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_MODIFY_IPV4,
 	.count                   = 1023
 	},
-	[8] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -800,7 +832,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_ENCAP_8B,
 	.count                   = 511
 	},
-	[9] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -808,7 +840,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
 	.count                   = 63
 	},
-	[10] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -816,7 +848,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_SP_SMAC,
 	.count                   = 255
 	},
-	[11] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -824,7 +856,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
 	.count                   = 1
 	},
-	[12] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -832,7 +864,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
 	.count                   = 422
 	},
-	[13] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -840,7 +872,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
 	.count                   = 6
 	},
-	[14] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -848,7 +880,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
 	.count                   = 960
 	},
-	[15] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -856,7 +888,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
 	.count                   = 88
 	},
-	[16] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -864,7 +896,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
 	.count                   = 13168
 	},
-	[17] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -872,7 +904,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_EM_TBL_TYPE_TBL_SCOPE,
 	.count                   = 1
 	},
-	[18] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -880,7 +912,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
 	.count                   = 292
 	},
-	[19] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -888,7 +920,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
 	.count                   = 148
 	},
-	[20] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -896,7 +928,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_WC_PROF,
 	.count                   = 192
 	},
-	[21] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -904,7 +936,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_PROF_FUNC,
 	.count                   = 64
 	},
-	[22] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -912,7 +944,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_EM_PROF,
 	.count                   = 192
 	},
-	[23] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -920,7 +952,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
 	.count                   = 8192
 	},
-	[24] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -928,7 +960,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_STATS_64,
 	.count                   = 16384
 	},
-	[25] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -936,7 +968,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_MODIFY_IPV4,
 	.count                   = 1023
 	},
-	[26] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -944,7 +976,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
 	.count                   = 511
 	},
-	[27] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -952,7 +984,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
 	.count                   = 223
 	},
-	[28] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -960,7 +992,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_ENCAP_8B,
 	.count                   = 255
 	},
-	[29] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -968,7 +1000,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
 	.count                   = 488
 	},
-	[30] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -976,7 +1008,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV6,
 	.count                   = 511
 	},
-	[31] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -984,7 +1016,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
 	.count                   = 1
 	},
-	[32] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -992,7 +1024,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
 	.count                   = 292
 	},
-	[33] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -1000,7 +1032,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
 	.count                   = 144
 	},
-	[34] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -1008,7 +1040,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
 	.count                   = 960
 	},
-	[35] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -1016,7 +1048,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
 	.count                   = 928
 	},
-	[36] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -1024,7 +1056,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
 	.count                   = 15232
 	},
-	[37] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -1032,7 +1064,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_EM_TBL_TYPE_TBL_SCOPE,
 	.count                   = 1
 	},
-	[38] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -1040,7 +1072,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
 	.count                   = 26
 	},
-	[39] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -1048,7 +1080,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
 	.count                   = 6
 	},
-	[40] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -1056,7 +1088,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_WC_PROF,
 	.count                   = 32
 	},
-	[41] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -1064,7 +1096,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_PROF_FUNC,
 	.count                   = 32
 	},
-	[42] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -1072,7 +1104,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_EM_PROF,
 	.count                   = 32
 	},
-	[43] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -1080,7 +1112,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
 	.count                   = 1024
 	},
-	[44] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -1088,7 +1120,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_STATS_64,
 	.count                   = 512
 	},
-	[45] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -1096,7 +1128,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
 	.count                   = 14
 	},
-	[46] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -1104,7 +1136,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_EM_FKB,
 	.count                   = 32
 	},
-	[47] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -1112,7 +1144,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_WC_FKB,
 	.count                   = 32
 	},
-	[48] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -1120,7 +1152,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
 	.count                   = 64
 	},
-	[49] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -1128,7 +1160,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
 	.count                   = 64
 	},
-	[50] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -1136,7 +1168,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
 	.count                   = 300
 	},
-	[51] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -1144,7 +1176,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
 	.count                   = 6
 	},
-	[52] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -1152,7 +1184,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
 	.count                   = 128
 	},
-	[53] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -1160,7 +1192,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
 	.count                   = 112
 	},
-	[54] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -1168,7 +1200,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
 	.count                   = 13200
 	},
-	[55] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1176,7 +1208,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
 	.count                   = 26
 	},
-	[56] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1184,7 +1216,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
 	.count                   = 26
 	},
-	[57] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1192,7 +1224,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_WC_PROF,
 	.count                   = 32
 	},
-	[58] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1200,7 +1232,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_PROF_FUNC,
 	.count                   = 63
 	},
-	[59] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1208,7 +1240,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_EM_PROF,
 	.count                   = 32
 	},
-	[60] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1216,7 +1248,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
 	.count                   = 1024
 	},
-	[61] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1224,7 +1256,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_STATS_64,
 	.count                   = 512
 	},
-	[62] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1232,7 +1264,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
 	.count                   = 14
 	},
-	[63] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1240,7 +1272,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_EM_FKB,
 	.count                   = 32
 	},
-	[64] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1248,7 +1280,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_WC_FKB,
 	.count                   = 32
 	},
-	[65] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1256,7 +1288,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
 	.count                   = 64
 	},
-	[66] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1264,7 +1296,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
 	.count                   = 100
 	},
-	[67] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1272,7 +1304,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
 	.count                   = 1
 	},
-	[68] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1280,7 +1312,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
 	.count                   = 200
 	},
-	[69] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1288,7 +1320,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
 	.count                   = 110
 	},
-	[70] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1296,7 +1328,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
 	.count                   = 128
 	},
-	[71] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1304,7 +1336,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
 	.count                   = 128
 	},
-	[72] = {
+	{
 	.app_id                  = 0,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1312,7 +1344,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
 	.count                   = 15232
 	},
-	[73] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -1320,7 +1352,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
 	.count                   = 422
 	},
-	[74] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -1328,7 +1360,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
 	.count                   = 6
 	},
-	[75] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -1336,7 +1368,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_WC_PROF,
 	.count                   = 192
 	},
-	[76] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -1344,7 +1376,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_PROF_FUNC,
 	.count                   = 64
 	},
-	[77] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -1352,7 +1384,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_EM_PROF,
 	.count                   = 192
 	},
-	[78] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -1360,7 +1392,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
 	.count                   = 8192
 	},
-	[79] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -1368,7 +1400,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_STATS_64,
 	.count                   = 16384
 	},
-	[80] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -1376,7 +1408,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_MODIFY_IPV4,
 	.count                   = 1023
 	},
-	[81] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -1384,7 +1416,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_ENCAP_8B,
 	.count                   = 511
 	},
-	[82] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -1392,7 +1424,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
 	.count                   = 63
 	},
-	[83] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -1400,7 +1432,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_SP_SMAC,
 	.count                   = 255
 	},
-	[84] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -1408,7 +1440,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
 	.count                   = 1
 	},
-	[85] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -1416,7 +1448,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
 	.count                   = 422
 	},
-	[86] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -1424,7 +1456,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
 	.count                   = 6
 	},
-	[87] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -1432,7 +1464,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
 	.count                   = 960
 	},
-	[88] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -1440,7 +1472,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
 	.count                   = 88
 	},
-	[89] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -1448,7 +1480,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
 	.count                   = 13168
 	},
-	[90] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -1456,7 +1488,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_EM_TBL_TYPE_TBL_SCOPE,
 	.count                   = 1
 	},
-	[91] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -1464,7 +1496,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
 	.count                   = 292
 	},
-	[92] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -1472,7 +1504,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
 	.count                   = 148
 	},
-	[93] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -1480,7 +1512,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_WC_PROF,
 	.count                   = 192
 	},
-	[94] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -1488,7 +1520,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_PROF_FUNC,
 	.count                   = 64
 	},
-	[95] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -1496,7 +1528,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_EM_PROF,
 	.count                   = 192
 	},
-	[96] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -1504,7 +1536,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
 	.count                   = 8192
 	},
-	[97] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -1512,7 +1544,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_STATS_64,
 	.count                   = 16384
 	},
-	[98] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -1520,7 +1552,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_MODIFY_IPV4,
 	.count                   = 1023
 	},
-	[99] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -1528,7 +1560,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
 	.count                   = 511
 	},
-	[100] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -1536,7 +1568,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
 	.count                   = 223
 	},
-	[101] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -1544,7 +1576,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_ENCAP_8B,
 	.count                   = 255
 	},
-	[102] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -1552,7 +1584,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
 	.count                   = 488
 	},
-	[103] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -1560,7 +1592,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV6,
 	.count                   = 511
 	},
-	[104] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -1568,7 +1600,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
 	.count                   = 1
 	},
-	[105] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -1576,7 +1608,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
 	.count                   = 292
 	},
-	[106] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -1584,7 +1616,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
 	.count                   = 144
 	},
-	[107] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -1592,7 +1624,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
 	.count                   = 960
 	},
-	[108] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -1600,7 +1632,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
 	.count                   = 928
 	},
-	[109] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -1608,7 +1640,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
 	.count                   = 15232
 	},
-	[110] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -1616,7 +1648,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_EM_TBL_TYPE_TBL_SCOPE,
 	.count                   = 1
 	},
-	[111] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -1624,7 +1656,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
 	.count                   = 26
 	},
-	[112] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -1632,7 +1664,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
 	.count                   = 6
 	},
-	[113] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -1640,7 +1672,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_WC_PROF,
 	.count                   = 32
 	},
-	[114] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -1648,7 +1680,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_PROF_FUNC,
 	.count                   = 32
 	},
-	[115] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -1656,7 +1688,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_EM_PROF,
 	.count                   = 32
 	},
-	[116] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -1664,7 +1696,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
 	.count                   = 1024
 	},
-	[117] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -1672,7 +1704,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_STATS_64,
 	.count                   = 512
 	},
-	[118] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -1680,7 +1712,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
 	.count                   = 14
 	},
-	[119] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -1688,7 +1720,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_EM_FKB,
 	.count                   = 32
 	},
-	[120] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -1696,7 +1728,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_WC_FKB,
 	.count                   = 32
 	},
-	[121] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -1704,7 +1736,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
 	.count                   = 64
 	},
-	[122] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -1712,7 +1744,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
 	.count                   = 64
 	},
-	[123] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -1720,7 +1752,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
 	.count                   = 300
 	},
-	[124] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -1728,7 +1760,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
 	.count                   = 6
 	},
-	[125] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -1736,7 +1768,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
 	.count                   = 128
 	},
-	[126] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -1744,7 +1776,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
 	.count                   = 112
 	},
-	[127] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -1752,7 +1784,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
 	.count                   = 13200
 	},
-	[128] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1760,7 +1792,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
 	.count                   = 26
 	},
-	[129] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1768,7 +1800,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
 	.count                   = 26
 	},
-	[130] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1776,7 +1808,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_WC_PROF,
 	.count                   = 32
 	},
-	[131] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1784,7 +1816,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_PROF_FUNC,
 	.count                   = 63
 	},
-	[132] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1792,7 +1824,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_EM_PROF,
 	.count                   = 32
 	},
-	[133] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1800,7 +1832,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
 	.count                   = 1024
 	},
-	[134] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1808,7 +1840,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_STATS_64,
 	.count                   = 512
 	},
-	[135] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1816,7 +1848,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
 	.count                   = 14
 	},
-	[136] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1824,7 +1856,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_EM_FKB,
 	.count                   = 32
 	},
-	[137] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1832,7 +1864,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_WC_FKB,
 	.count                   = 32
 	},
-	[138] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1840,7 +1872,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
 	.count                   = 64
 	},
-	[139] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1848,7 +1880,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
 	.count                   = 100
 	},
-	[140] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1856,7 +1888,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
 	.count                   = 1
 	},
-	[141] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1864,7 +1896,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
 	.count                   = 200
 	},
-	[142] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1872,7 +1904,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
 	.count                   = 110
 	},
-	[143] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1880,7 +1912,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
 	.count                   = 128
 	},
-	[144] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1888,7 +1920,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
 	.count                   = 128
 	},
-	[145] = {
+	{
 	.app_id                  = 1,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -1896,7 +1928,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
 	.count                   = 15232
 	},
-	[146] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -1904,7 +1936,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
 	.count                   = 422
 	},
-	[147] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -1912,7 +1944,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
 	.count                   = 6
 	},
-	[148] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -1920,7 +1952,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_WC_PROF,
 	.count                   = 192
 	},
-	[149] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -1928,7 +1960,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_PROF_FUNC,
 	.count                   = 64
 	},
-	[150] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -1936,7 +1968,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_EM_PROF,
 	.count                   = 192
 	},
-	[151] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -1944,7 +1976,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
 	.count                   = 8192
 	},
-	[152] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -1952,7 +1984,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_STATS_64,
 	.count                   = 16384
 	},
-	[153] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -1960,7 +1992,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_MODIFY_IPV4,
 	.count                   = 1023
 	},
-	[154] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -1968,7 +2000,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_ENCAP_8B,
 	.count                   = 511
 	},
-	[155] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -1976,7 +2008,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
 	.count                   = 63
 	},
-	[156] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -1984,7 +2016,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_SP_SMAC,
 	.count                   = 255
 	},
-	[157] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -1992,7 +2024,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
 	.count                   = 1
 	},
-	[158] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -2000,7 +2032,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
 	.count                   = 422
 	},
-	[159] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -2008,7 +2040,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
 	.count                   = 6
 	},
-	[160] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -2016,7 +2048,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
 	.count                   = 960
 	},
-	[161] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -2024,7 +2056,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
 	.count                   = 88
 	},
-	[162] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -2032,7 +2064,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
 	.count                   = 13168
 	},
-	[163] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_RX,
@@ -2040,7 +2072,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_EM_TBL_TYPE_TBL_SCOPE,
 	.count                   = 1
 	},
-	[164] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -2048,7 +2080,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
 	.count                   = 292
 	},
-	[165] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -2056,7 +2088,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
 	.count                   = 148
 	},
-	[166] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -2064,7 +2096,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_WC_PROF,
 	.count                   = 192
 	},
-	[167] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -2072,7 +2104,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_PROF_FUNC,
 	.count                   = 64
 	},
-	[168] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -2080,7 +2112,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_EM_PROF,
 	.count                   = 192
 	},
-	[169] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -2088,7 +2120,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
 	.count                   = 8192
 	},
-	[170] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -2096,7 +2128,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_STATS_64,
 	.count                   = 16384
 	},
-	[171] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -2104,7 +2136,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_MODIFY_IPV4,
 	.count                   = 1023
 	},
-	[172] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -2112,7 +2144,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
 	.count                   = 511
 	},
-	[173] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -2120,7 +2152,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
 	.count                   = 223
 	},
-	[174] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -2128,7 +2160,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_ENCAP_8B,
 	.count                   = 255
 	},
-	[175] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -2136,7 +2168,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
 	.count                   = 488
 	},
-	[176] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -2144,7 +2176,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV6,
 	.count                   = 511
 	},
-	[177] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -2152,7 +2184,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
 	.count                   = 1
 	},
-	[178] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -2160,7 +2192,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
 	.count                   = 292
 	},
-	[179] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -2168,7 +2200,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
 	.count                   = 144
 	},
-	[180] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -2176,7 +2208,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
 	.count                   = 960
 	},
-	[181] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -2184,7 +2216,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
 	.count                   = 928
 	},
-	[182] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -2192,7 +2224,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
 	.count                   = 15232
 	},
-	[183] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
 	.direction               = TF_DIR_TX,
@@ -2200,7 +2232,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_EM_TBL_TYPE_TBL_SCOPE,
 	.count                   = 1
 	},
-	[184] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -2208,7 +2240,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
 	.count                   = 26
 	},
-	[185] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -2216,7 +2248,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
 	.count                   = 6
 	},
-	[186] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -2224,7 +2256,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_WC_PROF,
 	.count                   = 32
 	},
-	[187] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -2232,7 +2264,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_PROF_FUNC,
 	.count                   = 32
 	},
-	[188] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -2240,7 +2272,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_EM_PROF,
 	.count                   = 32
 	},
-	[189] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -2248,7 +2280,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
 	.count                   = 1024
 	},
-	[190] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -2256,7 +2288,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_STATS_64,
 	.count                   = 512
 	},
-	[191] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -2264,7 +2296,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
 	.count                   = 14
 	},
-	[192] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -2272,7 +2304,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_EM_FKB,
 	.count                   = 32
 	},
-	[193] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -2280,7 +2312,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_WC_FKB,
 	.count                   = 32
 	},
-	[194] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -2288,7 +2320,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
 	.count                   = 64
 	},
-	[195] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -2296,7 +2328,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
 	.count                   = 64
 	},
-	[196] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -2304,7 +2336,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
 	.count                   = 300
 	},
-	[197] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -2312,7 +2344,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
 	.count                   = 6
 	},
-	[198] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -2320,7 +2352,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
 	.count                   = 128
 	},
-	[199] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -2328,7 +2360,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
 	.count                   = 112
 	},
-	[200] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_RX,
@@ -2336,7 +2368,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
 	.count                   = 13200
 	},
-	[201] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -2344,7 +2376,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
 	.count                   = 26
 	},
-	[202] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -2352,7 +2384,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
 	.count                   = 26
 	},
-	[203] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -2360,7 +2392,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_WC_PROF,
 	.count                   = 32
 	},
-	[204] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -2368,7 +2400,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_PROF_FUNC,
 	.count                   = 63
 	},
-	[205] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -2376,7 +2408,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_IDENT_TYPE_EM_PROF,
 	.count                   = 32
 	},
-	[206] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -2384,7 +2416,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
 	.count                   = 1024
 	},
-	[207] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -2392,7 +2424,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_STATS_64,
 	.count                   = 512
 	},
-	[208] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -2400,7 +2432,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
 	.count                   = 14
 	},
-	[209] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -2408,7 +2440,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_EM_FKB,
 	.count                   = 32
 	},
-	[210] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -2416,7 +2448,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_WC_FKB,
 	.count                   = 32
 	},
-	[211] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -2424,7 +2456,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
 	.count                   = 64
 	},
-	[212] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -2432,7 +2464,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
 	.count                   = 100
 	},
-	[213] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -2440,7 +2472,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
 	.count                   = 1
 	},
-	[214] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -2448,7 +2480,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
 	.count                   = 200
 	},
-	[215] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -2456,7 +2488,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
 	.count                   = 110
 	},
-	[216] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -2464,7 +2496,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
 	.count                   = 128
 	},
-	[217] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -2472,7 +2504,7 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	.resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
 	.count                   = 128
 	},
-	[218] = {
+	{
 	.app_id                  = 2,
 	.device_id               = BNXT_ULP_DEVICE_ID_THOR,
 	.direction               = TF_DIR_TX,
@@ -2482,18 +2514,6 @@  struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
 	}
 };
 
-/* Provides act_bitmask */
-struct bnxt_ulp_shared_act_info ulp_shared_act_info[] = {
-	[BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR << 1 |
-		BNXT_ULP_DIRECTION_INGRESS] = {
-	.act_bitmask             = BNXT_ULP_ACT_BIT_SHARED_SAMPLE
-	},
-	[BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR << 1 |
-		BNXT_ULP_DIRECTION_EGRESS] = {
-	.act_bitmask             = BNXT_ULP_ACT_BIT_SHARED_SAMPLE
-	}
-};
-
 uint32_t ulp_act_prop_map_table[] = {
 	[BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ] =
 		BNXT_ULP_ACT_PROP_SZ_ENCAP_TUN_SZ,
diff --git a/drivers/net/bnxt/tf_ulp/ulp_template_db_thor_act.c b/drivers/net/bnxt/tf_ulp/ulp_template_db_thor_act.c
index e5a401e3f8..73df10a575 100644
--- a/drivers/net/bnxt/tf_ulp/ulp_template_db_thor_act.c
+++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_thor_act.c
@@ -12,211 +12,15 @@ 
 
 /* Mapper templates for header act list */
 struct bnxt_ulp_mapper_tmpl_info ulp_thor_act_tmpl_list[] = {
-	/* act_tid: 1, thor, ingress */
-	[1] = {
-	.device_name = BNXT_ULP_DEVICE_ID_THOR,
-	.num_tbls = 2,
-	.start_tbl_idx = 0,
-	.reject_info = {
-		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
-		.cond_start_idx = 0,
-		.cond_nums = 0 }
-	}
 };
 
 struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
-	{ /* act_tid: 1, thor, table: int_flow_counter_tbl.0 */
-	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
-	.resource_type = TF_TBL_TYPE_ACT_STATS_64,
-	.resource_sub_type =
-		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT,
-	.direction = TF_DIR_RX,
-	.execute_info = {
-		.cond_true_goto  = 1,
-		.cond_false_goto = 1,
-		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
-		.cond_start_idx = 0,
-		.cond_nums = 1 },
-	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
-	.tbl_operand = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0,
-	.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
-	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
-	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.result_start_idx = 0,
-	.result_bit_size = 64,
-	.result_num_fields = 1
-	},
-	{ /* act_tid: 1, thor, table: int_full_act_record.0 */
-	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
-	.resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
-	.resource_sub_type =
-		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
-	.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 = 1,
-		.cond_nums = 0 },
-	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
-	.tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
-	.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
-	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
-	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.result_start_idx = 1,
-	.result_bit_size = 128,
-	.result_num_fields = 17,
-	.encap_num_fields = 0
-	}
 };
 
 struct bnxt_ulp_mapper_cond_info ulp_thor_act_cond_list[] = {
-	/* cond_execute: act_tid: 1, int_flow_counter_tbl.0 */
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_ACT_BIT_COUNT
-	}
 };
 
 struct bnxt_ulp_mapper_field_info ulp_thor_act_result_field_list[] = {
-	/* act_tid: 1, thor, table: int_flow_counter_tbl.0 */
-	{
-	.description = "count",
-	.field_bit_size = 64,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	/* act_tid: 1, thor, table: int_full_act_record.0 */
-	{
-	.description = "sp_rec_ptr",
-	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "encap_ptr",
-	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "mod_rec_ptr",
-	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "rsvd1",
-	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "rsvd0",
-	.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "decap_func",
-	.field_bit_size = 5,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "meter",
-	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "stats_op",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "stats_ptr",
-	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
-	.field_opr1 = {
-		(BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
-	},
-	{
-	.description = "vnic_or_vport",
-	.field_bit_size = 11,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
-	.field_opr1 = {
-		(BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
-		BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff}
-	},
-	{
-	.description = "use_default",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "mirror",
-	.field_bit_size = 4,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "cnd_copy",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "vlan_dlt_rpt",
-	.field_bit_size = 2,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "drop",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "hit",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "type",
-	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr1 = {
-		1}
-	}
 };
 
 struct
diff --git a/drivers/net/bnxt/tf_ulp/ulp_template_db_thor_class.c b/drivers/net/bnxt/tf_ulp/ulp_template_db_thor_class.c
index 4d3d1e24b4..d20e630980 100644
--- a/drivers/net/bnxt/tf_ulp/ulp_template_db_thor_class.c
+++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_thor_class.c
@@ -3,7 +3,7 @@ 
  * All rights reserved.
  */
 
-/* date: Fri Feb 12 13:05:14 2021 */
+/* date: Sun Mar 14 12:41:59 2021 */
 
 #include "ulp_template_db_enum.h"
 #include "ulp_template_db_field.h"
@@ -12,33 +12,34 @@ 
 
 /* Mapper templates for header class list */
 struct bnxt_ulp_mapper_tmpl_info ulp_thor_class_tmpl_list[] = {
-	/* class_tid: 1, thor, ingress */
-	[1] = {
+	/* class_tid: 3, thor, ingress */
+	[3] = {
 	.device_name = BNXT_ULP_DEVICE_ID_THOR,
-	.num_tbls = 11,
+	.num_tbls = 7,
 	.start_tbl_idx = 0,
 	.reject_info = {
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
 		.cond_start_idx = 0,
 		.cond_nums = 0 }
 	},
-	/* class_tid: 2, thor, ingress */
-	[2] = {
+	/* class_tid: 4, thor, egress */
+	[4] = {
 	.device_name = BNXT_ULP_DEVICE_ID_THOR,
-	.num_tbls = 1,
-	.start_tbl_idx = 11,
+	.num_tbls = 6,
+	.start_tbl_idx = 7,
 	.reject_info = {
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
-		.cond_start_idx = 2,
+		.cond_start_idx = 1,
 		.cond_nums = 0 }
 	}
 };
 
 struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
-	{ /* class_tid: 1, thor, table: mac_addr_cache.rd */
-	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	{ /* class_tid: 3, thor, table: int_full_act_record.ing_0 */
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
+	.resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
 	.resource_sub_type =
-		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,
+		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
 	.direction = TF_DIR_RX,
 	.execute_info = {
 		.cond_true_goto  = 1,
@@ -46,5913 +47,943 @@  struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
 		.cond_start_idx = 0,
 		.cond_nums = 0 },
-	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
-	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
-	.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
+	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
+	.tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 0,
-	.blob_key_bit_size = 56,
-	.key_bit_size = 56,
-	.key_num_fields = 2,
 	.result_start_idx = 0,
-	.result_bit_size = 62,
-	.result_num_fields = 4
+	.result_bit_size = 128,
+	.result_num_fields = 17
 	},
-	{ /* class_tid: 1, thor, table: control.0 */
-	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+	{ /* class_tid: 3, thor, table: parif_def_arec_ptr.ing_0 */
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
+	.resource_type = TF_IF_TBL_TYPE_PROF_PARIF_DFLT_ACT_REC_PTR,
 	.direction = TF_DIR_RX,
 	.execute_info = {
 		.cond_true_goto  = 1,
-		.cond_false_goto = 3,
-		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
 		.cond_start_idx = 0,
-		.cond_nums = 1 },
-	.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
-	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
-	.fdb_operand = BNXT_ULP_RF_IDX_RID,
-	.byte_order = BNXT_ULP_BYTE_ORDER_LE
+		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
+	.tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
+	.result_start_idx = 17,
+	.result_bit_size = 32,
+	.result_num_fields = 1
 	},
-	{ /* class_tid: 1, thor, table: l2_cntxt_tcam.0 */
-	.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
-	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
+	{ /* class_tid: 3, thor, table: parif_def_err_arec_ptr.ing_0 */
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
+	.resource_type = TF_IF_TBL_TYPE_PROF_PARIF_ERR_ACT_REC_PTR,
 	.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 = 1,
+		.cond_start_idx = 0,
 		.cond_nums = 0 },
-	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
-	.tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
-	.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
-	.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,
+	.tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
+	.tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 2,
-	.blob_key_bit_size = 213,
-	.key_bit_size = 213,
-	.key_num_fields = 21,
-	.result_start_idx = 4,
-	.result_bit_size = 43,
-	.result_num_fields = 6,
-	.ident_start_idx = 0,
-	.ident_nums = 1
+	.result_start_idx = 18,
+	.result_bit_size = 32,
+	.result_num_fields = 1
 	},
-	{ /* class_tid: 1, thor, table: mac_addr_cache.wr */
-	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
-	.resource_sub_type =
-		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,
+	{ /* class_tid: 3, thor, table: control.egr_1 */
+	.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 = 0,
+		.cond_nums = 1 },
+	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
+	.byte_order = BNXT_ULP_BYTE_ORDER_LE
+	},
+	{ /* class_tid: 3, thor, table: int_full_act_record.egr_vfr */
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
+	.resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_VFR_CFA_ACTION,
+	.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 = 1,
 		.cond_nums = 0 },
-	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
-	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
-	.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
+	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
+	.tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 23,
-	.blob_key_bit_size = 56,
-	.key_bit_size = 56,
-	.key_num_fields = 2,
-	.result_start_idx = 10,
-	.result_bit_size = 62,
-	.result_num_fields = 4
+	.result_start_idx = 19,
+	.result_bit_size = 128,
+	.result_num_fields = 17,
+	.encap_num_fields = 0
 	},
-	{ /* class_tid: 1, thor, table: profile_tcam_cache.rd */
-	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
-	.resource_sub_type =
-		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
-	.direction = TF_DIR_RX,
+	{ /* class_tid: 3, thor, table: parif_def_arec_ptr.egr_0 */
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
+	.resource_type = TF_IF_TBL_TYPE_PROF_PARIF_DFLT_ACT_REC_PTR,
+	.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 = 1,
 		.cond_nums = 0 },
-	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
-	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
-	.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
+	.tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
+	.tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_PARIF,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 25,
-	.blob_key_bit_size = 14,
-	.key_bit_size = 14,
-	.key_num_fields = 3,
-	.ident_start_idx = 1,
-	.ident_nums = 5
-	},
-	{ /* class_tid: 1, thor, table: control.1 */
-	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
-	.direction = TF_DIR_RX,
+	.result_start_idx = 36,
+	.result_bit_size = 32,
+	.result_num_fields = 1
+	},
+	{ /* class_tid: 3, thor, table: parif_def_err_arec_ptr.egr_0 */
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
+	.resource_type = TF_IF_TBL_TYPE_PROF_PARIF_ERR_ACT_REC_PTR,
+	.direction = TF_DIR_TX,
 	.execute_info = {
-		.cond_true_goto  = 1,
-		.cond_false_goto = 5,
-		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
+		.cond_true_goto  = 0,
+		.cond_false_goto = 0,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
 		.cond_start_idx = 1,
-		.cond_nums = 1 },
-	.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
-	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
-	.fdb_operand = BNXT_ULP_RF_IDX_RID,
-	.byte_order = BNXT_ULP_BYTE_ORDER_LE
+		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
+	.tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_PARIF,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
+	.result_start_idx = 37,
+	.result_bit_size = 32,
+	.result_num_fields = 1
 	},
-	{ /* class_tid: 1, thor, table: fkb_select.wm */
+	{ /* class_tid: 4, thor, table: int_full_act_record.loopback */
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
-	.resource_type = TF_TBL_TYPE_WC_FKB,
-	.direction = TF_DIR_RX,
+	.resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_VFR_CFA_ACTION,
+	.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 = 2,
+		.cond_start_idx = 1,
 		.cond_nums = 0 },
-	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
-	.tbl_operand = BNXT_ULP_RF_IDX_WC_KEY_ID_0,
-	.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
-	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
-	.fdb_operand = BNXT_ULP_RF_IDX_RID,
+	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_GLB_REGFILE,
+	.tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
+	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.result_start_idx = 14,
-	.result_bit_size = 106,
-	.result_num_fields = 106
+	.result_start_idx = 38,
+	.result_bit_size = 128,
+	.result_num_fields = 17,
+	.encap_num_fields = 0
 	},
-	{ /* class_tid: 1, thor, table: fkb_select.em */
-	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
-	.resource_type = TF_TBL_TYPE_EM_FKB,
-	.direction = TF_DIR_RX,
+	{ /* class_tid: 4, thor, table: parif_def_arec_ptr.vf_egr */
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
+	.resource_type = TF_IF_TBL_TYPE_PROF_PARIF_DFLT_ACT_REC_PTR,
+	.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 = 2,
+		.cond_start_idx = 1,
 		.cond_nums = 0 },
-	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
-	.tbl_operand = BNXT_ULP_RF_IDX_EM_KEY_ID_0,
-	.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
-	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
-	.fdb_operand = BNXT_ULP_RF_IDX_RID,
+	.tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_CONST,
+	.tbl_operand = ULP_THOR_SYM_LOOPBACK_PARIF,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.result_start_idx = 120,
-	.result_bit_size = 106,
-	.result_num_fields = 106
-	},
-	{ /* class_tid: 1, thor, table: profile_tcam.l3_l4 */
-	.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
-	.resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
-	.direction = TF_DIR_RX,
+	.result_start_idx = 55,
+	.result_bit_size = 32,
+	.result_num_fields = 1
+	},
+	{ /* class_tid: 4, thor, table: parif_def_err_arec_ptr.vf_egr */
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
+	.resource_type = TF_IF_TBL_TYPE_PROF_PARIF_ERR_ACT_REC_PTR,
+	.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 = 2,
+		.cond_start_idx = 1,
 		.cond_nums = 0 },
-	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
-	.tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
-	.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
-	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
-	.fdb_operand = BNXT_ULP_RF_IDX_RID,
-	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
-	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
+	.tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_CONST,
+	.tbl_operand = ULP_THOR_SYM_LOOPBACK_PARIF,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 28,
-	.blob_key_bit_size = 94,
-	.key_bit_size = 94,
-	.key_num_fields = 43,
-	.result_start_idx = 226,
-	.result_bit_size = 33,
-	.result_num_fields = 8,
-	.ident_start_idx = 6,
-	.ident_nums = 2
+	.result_start_idx = 56,
+	.result_bit_size = 32,
+	.result_num_fields = 1
 	},
-	{ /* class_tid: 1, thor, table: profile_tcam_cache.wr */
-	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
-	.resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
+	{ /* class_tid: 4, thor, table: int_full_act_record.vf_ing */
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
+	.resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
 	.resource_sub_type =
-		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
+		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
 	.direction = TF_DIR_RX,
 	.execute_info = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2,
+		.cond_start_idx = 1,
 		.cond_nums = 0 },
-	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
-	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
-	.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
+	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
+	.tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_AND_SET_VFR_FLAG,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 71,
-	.blob_key_bit_size = 14,
-	.key_bit_size = 14,
-	.key_num_fields = 3,
-	.result_start_idx = 234,
-	.result_bit_size = 82,
-	.result_num_fields = 7
+	.result_start_idx = 57,
+	.result_bit_size = 128,
+	.result_num_fields = 17,
+	.encap_num_fields = 0
 	},
-	{ /* class_tid: 1, thor, table: em.ipv4 */
-	.resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
-	.resource_type = TF_MEM_INTERNAL,
-	.direction = TF_DIR_RX,
+	{ /* class_tid: 4, thor, table: vtag_encap_record.vfr_egr0 */
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
+	.resource_type = TF_TBL_TYPE_ACT_ENCAP_8B,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
+	.direction = TF_DIR_TX,
 	.execute_info = {
-		.cond_true_goto  = 0,
-		.cond_false_goto = 0,
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2,
+		.cond_start_idx = 1,
 		.cond_nums = 0 },
-	.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
+	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
+	.tbl_operand = BNXT_ULP_RF_IDX_ENCAP_PTR_0,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
-	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
-	.byte_order = BNXT_ULP_BYTE_ORDER_BE,
-	.key_start_idx = 74,
-	.blob_key_bit_size = 0,
-	.key_bit_size = 0,
-	.key_num_fields = 114,
-	.result_start_idx = 241,
+	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
+	.result_start_idx = 74,
 	.result_bit_size = 0,
-	.result_num_fields = 6
+	.result_num_fields = 0,
+	.encap_num_fields = 11
 	},
-	{ /* class_tid: 2, thor, table: int_full_act_record.0 */
+	{ /* class_tid: 4, thor, table: int_full_act_record.vfr_egr0 */
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
 	.resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
 	.resource_sub_type =
-		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
-	.direction = TF_DIR_RX,
+		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_VFR_CFA_ACTION,
+	.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 = 2,
+		.cond_start_idx = 1,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
-	.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.result_start_idx = 247,
+	.result_start_idx = 85,
 	.result_bit_size = 128,
 	.result_num_fields = 17
 	}
 };
 
 struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
-	/* cond_execute: class_tid: 1, control.0 */
+	/* cond_execute: class_tid: 3, control.egr_1 */
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
-	},
-	/* cond_execute: class_tid: 1, control.1 */
-	{
-	.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_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_IDX_VFR_MODE
 	}
 };
 
-struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
-	/* class_tid: 1, thor, table: mac_addr_cache.rd */
-	{
-	.field_info_mask = {
-		.description = "svif",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.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 = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.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 = "mac_addr",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr1 = {
-			(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
-		},
-	.field_info_spec = {
-		.description = "mac_addr",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr1 = {
-			(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
-		}
-	},
-	/* class_tid: 1, thor, table: l2_cntxt_tcam.0 */
-	{
-	.field_info_mask = {
-		.description = "etype",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "etype",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l2_ivlan_vid",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "l2_ivlan_vid",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l2_ovlan_vid",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "l2_ovlan_vid",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "two_vtags",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "two_vtags",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "vtag_present",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "vtag_present",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "mac1_addr",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "mac1_addr",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "mac0_addr",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr1 = {
-			(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
-		},
-	.field_info_spec = {
-		.description = "mac0_addr",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr1 = {
-			(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tunnel_id",
-		.field_bit_size = 24,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "tunnel_id",
-		.field_bit_size = 24,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tun_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "tun_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "llc",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "llc",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "roce",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "roce",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "metadata",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "metadata",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "svif",
-		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "parif",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "spif",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "spif",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "loopback",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "loopback",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "mpass_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "mpass_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			1}
-		}
-	},
-	/* class_tid: 1, thor, table: mac_addr_cache.wr */
-	{
-	.field_info_mask = {
-		.description = "svif",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.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 = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.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 = "mac_addr",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr1 = {
-			(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
-		},
-	.field_info_spec = {
-		.description = "mac_addr",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr1 = {
-			(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
-		}
-	},
-	/* class_tid: 1, thor, table: profile_tcam_cache.rd */
-	{
-	.field_info_mask = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
-		.field_opr1 = {
-			(BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
-			BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "hdr_sig_id",
-		.field_bit_size = 5,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "hdr_sig_id",
-		.field_bit_size = 5,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
-		.field_opr1 = {
-			(BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,
-			BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
-		}
-	},
-	/* class_tid: 1, thor, table: profile_tcam.l3_l4 */
-	{
-	.field_info_mask = {
-		.description = "l4_hdr_is_udp_tcp",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l4_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l4_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,
-		.field_cond_opr = {
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
-			(uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			ULP_THOR_SYM_L4_HDR_TYPE_TCP},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-			ULP_THOR_SYM_L4_HDR_TYPE_UDP}
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l4_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l4_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l4_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l4_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			ULP_THOR_SYM_L4_HDR_VALID_YES}
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "ieh",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "ieh",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l3_hdr_isIP",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "l3_hdr_isIP",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l3_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l3_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,
-		.field_cond_opr = {
-			((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
-			(uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			ULP_THOR_SYM_L3_HDR_TYPE_IPV4},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-			ULP_THOR_SYM_L3_HDR_TYPE_IPV6}
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l3_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l3_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l3_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l3_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			ULP_THOR_SYM_L3_HDR_VALID_YES}
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l2_two_vtags",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "l2_two_vtags",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l2_vtag_present",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "l2_vtag_present",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l2_uc_mc_bc",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l2_hdr_type",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l2_hdr_type",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l2_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l2_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l2_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l2_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			ULP_THOR_SYM_L2_HDR_VALID_YES}
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tun_hdr_flags",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "tun_hdr_flags",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tun_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "tun_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tun_hdr_err",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "tun_hdr_err",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tun_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tun_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "tl4_hdr_is_udp_tcp",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl4_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "tl4_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl4_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "tl4_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl4_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl4_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl3_hdr_isIP",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "tl3_hdr_isIP",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl3_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "tl3_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl3_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "tl3_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
+struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
+	/* class_tid: 3, thor, table: int_full_act_record.ing_0 */
 	{
-	.field_info_mask = {
-		.description = "tl3_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl3_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
+	.description = "sp_rec_ptr",
+	.field_bit_size = 16,
+	.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "tl2_two_vtags",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
+	.description = "encap_ptr",
+	.field_bit_size = 16,
+	.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "tl2_vtag_present",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
+	.description = "mod_rec_ptr",
+	.field_bit_size = 16,
+	.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
+	.description = "rsvd1",
+	.field_bit_size = 16,
+	.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "tl2_hdr_type",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
+	.description = "rsvd0",
+	.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",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl2_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
+	.description = "decap_func",
+	.field_bit_size = 5,
+	.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "hrec_next",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
+	.description = "meter",
+	.field_bit_size = 10,
+	.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
-		.field_opr1 = {
-			(BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
-			BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}
-		}
+	.description = "stats_op",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.field_info_mask = {
-		.description = "agg_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "agg_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
+	.description = "stats_ptr",
+	.field_bit_size = 16,
+	.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "metadata",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
+	.description = "vnic_or_vport",
+	.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_VNIC >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_DRV_FUNC_VNIC & 0xff}
 	},
 	{
-	.field_info_mask = {
-		.description = "pkt_type_0",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "pkt_type_0",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
+	.description = "use_default",
+	.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,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "pkt_type_1",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
+	.description = "mirror",
+	.field_bit_size = 4,
+	.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			1}
-		}
+	.description = "cond_copy",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
-	/* class_tid: 1, thor, table: profile_tcam_cache.wr */
 	{
-	.field_info_mask = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
+	.description = "vlan_del_rpt",
+	.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "prof_func_id",
-		.field_bit_size = 7,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
-		.field_opr1 = {
-			(BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
-			BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}
-		}
+	.description = "drop",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.field_info_mask = {
-		.description = "hdr_sig_id",
-		.field_bit_size = 5,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "hdr_sig_id",
-		.field_bit_size = 5,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
-		.field_opr1 = {
-			(BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,
-			BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
-		}
+	.description = "hit",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
-	/* class_tid: 1, thor, table: em.ipv4 */
 	{
-	.field_info_mask = {
-		.description = "em_profile_id",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "em_profile_id",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l2_cntxt_id",
-		.field_bit_size = 10,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.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}
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "parif",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "parif",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "spif",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "spif",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "svif",
-		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "svif",
-		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "lcos",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "lcos",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "meta",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "meta",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "rcyc_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "rcyc_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "loopback",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "loopback",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl2_l2type",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl2_l2type",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl2_dmac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl2_dmac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl2_smac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl2_smac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl2_dt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl2_dt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl2_sa",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl2_sa",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl2_nvt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl2_nvt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl2_ovp",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl2_ovp",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl2_ovd",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl2_ovd",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl2_ovv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl2_ovv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl2_ovt",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl2_ovt",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl2_ivp",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl2_ivp",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl2_ivd",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl2_ivd",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl2_ivv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl2_ivv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl2_ivt",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl2_ivt",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl2_etype",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl2_etype",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl3_l3type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl3_l3type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl3_sip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl3_sip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl3_sip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl3_sip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl3_sip_selcmp.ipv6",
-		.field_bit_size = 72,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl3_sip_selcmp.ipv6",
-		.field_bit_size = 72,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl3_dip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl3_dip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl3_dip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl3_dip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl3_dip_selcmp.ipv6",
-		.field_bit_size = 72,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl3_dip_selcmp.ipv6",
-		.field_bit_size = 72,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl3_ttl",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl3_ttl",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl3_prot",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl3_prot",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl3_fid.ipv4",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl3_fid.ipv4",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl3_fid.ipv6",
-		.field_bit_size = 20,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl3_fid.ipv6",
-		.field_bit_size = 20,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl3_qos",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl3_qos",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl3_ieh_nonext",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl3_ieh_nonext",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl3_ieh_esp",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl3_ieh_esp",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl3_ieh_auth",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl3_ieh_auth",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl3_ieh_dest",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl3_ieh_dest",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl3_ieh_frag",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl3_ieh_frag",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl3_ieh_rthdr",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl3_ieh_rthdr",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl3_ieh_hop",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl3_ieh_hop",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl3_ieh_1frag",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl3_ieh_1frag",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl3_df",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl3_df",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl3_l3err",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl3_l3err",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl4_l4type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl4_l4type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl4_src",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl4_src",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl4_dst",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl4_dst",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl4_flags",
-		.field_bit_size = 9,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl4_flags",
-		.field_bit_size = 9,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl4_seq",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl4_seq",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl4_pa",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl4_pa",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl4_opt",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl4_opt",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl4_tcpts",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl4_tcpts",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tl4_err",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tl4_err",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tuntype",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tuntype",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tflags",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tflags",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tids",
-		.field_bit_size = 24,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tids",
-		.field_bit_size = 24,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tid",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tid",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tctxts",
-		.field_bit_size = 24,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tctxts",
-		.field_bit_size = 24,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tctxt",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tctxt",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tqos",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tqos",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "terr",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "terr",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l2_l2type",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l2_l2type",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l2_dmac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l2_dmac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l2_smac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l2_smac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l2_dt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l2_dt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l2_sa",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l2_sa",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l2_nvt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l2_nvt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l2_ovp",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l2_ovp",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l2_ovd",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l2_ovd",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l2_ovv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l2_ovv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l2_ovt",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l2_ovt",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l2_ivp",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l2_ivp",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l2_ivd",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l2_ivd",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l2_ivv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l2_ivv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l2_ivt",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l2_ivt",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l2_etype",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l2_etype",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l3_l3type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l3_l3type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l3_sip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr1 = {
-			(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
-		},
-	.field_info_spec = {
-		.description = "l3_sip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr1 = {
-			(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l3_sip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l3_sip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l3_sip_selcmp.ipv6",
-		.field_bit_size = 72,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l3_sip_selcmp.ipv6",
-		.field_bit_size = 72,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l3_dip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr1 = {
-			(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
-		},
-	.field_info_spec = {
-		.description = "l3_dip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr1 = {
-			(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l3_dip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l3_dip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l3_dip_selcmp.ipv6",
-		.field_bit_size = 72,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l3_dip_selcmp.ipv6",
-		.field_bit_size = 72,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l3_ttl",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l3_ttl",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l3_prot",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l3_prot",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,
-		.field_cond_opr = {
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
-			(uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			ULP_THOR_SYM_IP_PROTO_TCP},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-			ULP_THOR_SYM_IP_PROTO_UDP}
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l3_fid.ipv4",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l3_fid.ipv4",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l3_fid.ipv6",
-		.field_bit_size = 20,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l3_fid.ipv6",
-		.field_bit_size = 20,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l3_qos",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l3_qos",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l3_ieh_nonext",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l3_ieh_nonext",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l3_ieh_esp",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l3_ieh_esp",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l3_ieh_auth",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l3_ieh_auth",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l3_ieh_dest",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l3_ieh_dest",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l3_ieh_frag",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l3_ieh_frag",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l3_ieh_rthdr",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l3_ieh_rthdr",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l3_ieh_hop",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l3_ieh_hop",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l3_ieh_1frag",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l3_ieh_1frag",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l3_df",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l3_df",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l3_l3err.ipv4",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l3_l3err.ipv4",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l3_l3err.ipv6",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l3_l3err.ipv6",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l4_l4type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l4_l4type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l4_src",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,
-		.field_cond_opr = {
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
-			(uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr1 = {
-			(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_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_info_spec = {
-		.description = "l4_src",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,
-		.field_cond_opr = {
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
-			(uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr1 = {
-			(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_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_info_mask = {
-		.description = "l4_dst",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,
-		.field_cond_opr = {
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
-			(uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr1 = {
-			(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_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_info_spec = {
-		.description = "l4_dst",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,
-		.field_cond_opr = {
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
-			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
-			(uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr1 = {
-			(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_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_info_mask = {
-		.description = "l4_flags",
-		.field_bit_size = 9,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l4_flags",
-		.field_bit_size = 9,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l4_seq",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l4_seq",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l4_ack",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l4_ack",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l4_win",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l4_win",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l4_pa",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l4_pa",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l4_opt",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l4_opt",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l4_tcpts",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l4_tcpts",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l4_tsval",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l4_tsval",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l4_txecr",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l4_txecr",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l4_err",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "l4_err",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_SKIP
-		}
-	}
-};
-
-struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
-	/* class_tid: 1, thor, table: mac_addr_cache.rd */
-	{
-	.description = "rid",
-	.field_bit_size = 32,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l2_cntxt_tcam_index",
-	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l2_cntxt_id",
-	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.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_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	/* class_tid: 1, thor, table: l2_cntxt_tcam.0 */
-	{
-	.description = "prof_func_id",
-	.field_bit_size = 7,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
-	.field_opr1 = {
-		(BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
-		BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}
-	},
-	{
-	.description = "ctxt_meta_prof",
+	.description = "type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "def_ctxt_data",
-	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
-	.field_opr1 = {
-		(4 >> 8) & 0xff,
-		4 & 0xff}
-	},
-	{
-	.description = "ctxt_opcode",
-	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.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_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.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_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	/* class_tid: 1, thor, table: mac_addr_cache.wr */
-	{
-	.description = "rid",
-	.field_bit_size = 32,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.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_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.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_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.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_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	/* class_tid: 1, thor, table: fkb_select.wm */
-	{
-	.description = "l2_cntxt_id.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr1 = {
-		1}
-	},
-	{
-	.description = "parif.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "spif.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "svif.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "lcos.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "meta.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "rcyc_cnt.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "loopback.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl2_l2type.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl2_dmac.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl2_smac.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl2_dt.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl2_sa.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl2_nvt.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl2_ovp.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl2_ovd.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl2_ovv.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl2_ovt.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl2_ivp.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl2_ivd.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl2_ivv.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl2_ivt.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl2_etype.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_l3type.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_sip.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_sip_selcmp.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_dip.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_dip_selcmp.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_ttl.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_prot.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_fid.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_qos.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_ieh_nonext.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_ieh_esp.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_ieh_auth.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_ieh_dest.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_ieh_frag.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_ieh_rthdr.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_ieh_hop.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_ieh_1frag.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_df.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_l3err.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl4_l4type.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl4_src.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl4_dst.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl4_flags.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl4_seq.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl4_pa.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl4_opt.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl4_tcpts.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl4_err.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tuntype.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tflags.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tids.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tid.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tctxts.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tctxt.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tqos.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "terr.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l2_l2type.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l2_dmac.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l2_smac.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l2_dt.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l2_sa.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l2_nvt.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l2_ovp.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l2_ovd.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l2_ovv.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l2_ovt.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l2_ivp.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l2_ivd.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l2_ivv.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l2_ivt.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l2_etype.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l3_l3type.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l3_sip.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr1 = {
-		1}
-	},
-	{
-	.description = "l3_sip_selcmp.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l3_dip.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr1 = {
-		1}
-	},
-	{
-	.description = "l3_dip_selcmp.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l3_ttl.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l3_prot.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr1 = {
-		1}
-	},
-	{
-	.description = "l3_fid.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l3_qos.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l3_ieh_nonext.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l3_ieh_esp.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l3_ieh_auth.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l3_ieh_dest.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l3_ieh_frag.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l3_ieh_rthdr.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l3_ieh_hop.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l3_ieh_1frag.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l3_df.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l3_l3err.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l4_l4type.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l4_src.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr1 = {
-		1}
-	},
-	{
-	.description = "l4_dst.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr1 = {
-		1}
-	},
-	{
-	.description = "l4_flags.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l4_seq.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l4_ack.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l4_win.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l4_pa.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l4_opt.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l4_tcpts.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l4_tsval.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l4_txecr.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l4_err.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	/* class_tid: 1, thor, table: fkb_select.em */
-	{
-	.description = "l2_cntxt_id.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr1 = {
-		1}
-	},
-	{
-	.description = "parif.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "spif.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "svif.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "lcos.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "meta.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "rcyc_cnt.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "loopback.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl2_l2type.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl2_dmac.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl2_smac.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl2_dt.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl2_sa.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl2_nvt.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl2_ovp.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl2_ovd.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl2_ovv.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl2_ovt.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl2_ivp.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl2_ivd.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl2_ivv.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl2_ivt.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl2_etype.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_l3type.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_sip.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_sip_selcmp.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_dip.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_dip_selcmp.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_ttl.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_prot.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_fid.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_qos.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_ieh_nonext.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_ieh_esp.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_ieh_auth.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_ieh_dest.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_ieh_frag.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_ieh_rthdr.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_ieh_hop.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_ieh_1frag.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_df.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl3_l3err.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl4_l4type.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl4_src.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl4_dst.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl4_flags.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl4_seq.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl4_pa.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl4_opt.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl4_tcpts.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tl4_err.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tuntype.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tflags.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tids.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tid.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tctxts.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "tctxt.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+		1}
 	},
+	/* class_tid: 3, thor, table: parif_def_arec_ptr.ing_0 */
 	{
-	.description = "tqos.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	.description = "act_rec_ptr",
+	.field_bit_size = 32,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr1 = {
+		(BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
 	},
+	/* class_tid: 3, thor, table: parif_def_err_arec_ptr.ing_0 */
 	{
-	.description = "terr.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	.description = "act_rec_ptr",
+	.field_bit_size = 32,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr1 = {
+		(BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
 	},
+	/* class_tid: 3, thor, table: int_full_act_record.egr_vfr */
 	{
-	.description = "l2_l2type.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.description = "sp_rec_ptr",
+	.field_bit_size = 16,
+	.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_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.description = "encap_ptr",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "l2_smac.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.description = "mod_rec_ptr",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "l2_dt.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.description = "rsvd1",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "l2_sa.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.description = "rsvd0",
+	.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "l2_nvt.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.description = "decap_func",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "l2_ovp.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.description = "meter",
+	.field_bit_size = 10,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "l2_ovd.en",
+	.description = "stats_op",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "l2_ovv.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.description = "stats_ptr",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "l2_ovt.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	.description = "vnic_or_vport",
+	.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_VPORT >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_PHY_PORT_VPORT & 0xff}
 	},
 	{
-	.description = "l2_ivp.en",
+	.description = "use_default",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "l2_ivd.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.description = "mirror",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "l2_ivv.en",
+	.description = "cond_copy",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "l2_ivt.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.description = "vlan_del_rpt",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "l2_etype.en",
+	.description = "drop",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "l3_l3type.en",
+	.description = "hit",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.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_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.description = "type",
+	.field_bit_size = 3,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr1 = {
 		1}
 	},
+	/* class_tid: 3, thor, table: parif_def_arec_ptr.egr_0 */
 	{
-	.description = "l3_sip_selcmp.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	.description = "act_rec_ptr",
+	.field_bit_size = 32,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr1 = {
+		(BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
 	},
+	/* class_tid: 3, thor, table: parif_def_err_arec_ptr.egr_0 */
 	{
-	.description = "l3_dip.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.description = "act_rec_ptr",
+	.field_bit_size = 32,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
-		1}
+		(BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
 	},
+	/* class_tid: 4, thor, table: int_full_act_record.loopback */
 	{
-	.description = "l3_dip_selcmp.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.description = "sp_rec_ptr",
+	.field_bit_size = 16,
+	.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_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.description = "encap_ptr",
+	.field_bit_size = 16,
+	.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_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr1 = {
-		1}
+	.description = "mod_rec_ptr",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "l3_fid.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.description = "rsvd1",
+	.field_bit_size = 16,
+	.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_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.description = "rsvd0",
+	.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "l3_ieh_nonext.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.description = "decap_func",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "l3_ieh_esp.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.description = "meter",
+	.field_bit_size = 10,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "l3_ieh_auth.en",
+	.description = "stats_op",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "l3_ieh_dest.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.description = "stats_ptr",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "l3_ieh_frag.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	.description = "vnic_or_vport",
+	.field_bit_size = 11,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+		(ULP_THOR_SYM_LOOPBACK_PORT >> 8) & 0xff,
+		ULP_THOR_SYM_LOOPBACK_PORT & 0xff}
 	},
 	{
-	.description = "l3_ieh_rthdr.en",
+	.description = "use_default",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "l3_ieh_hop.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.description = "mirror",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "l3_ieh_1frag.en",
+	.description = "cond_copy",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "l3_df.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.description = "vlan_del_rpt",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "l3_l3err.en",
+	.description = "drop",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "l4_l4type.en",
+	.description = "hit",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.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_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.description = "type",
+	.field_bit_size = 3,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr1 = {
 		1}
 	},
+	/* class_tid: 4, thor, table: parif_def_arec_ptr.vf_egr */
 	{
-	.description = "l4_dst.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.description = "act_rec_ptr",
+	.field_bit_size = 32,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
 	.field_opr1 = {
-		1}
+		(BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR >> 8) & 0xff,
+		BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR & 0xff}
 	},
+	/* class_tid: 4, thor, table: parif_def_err_arec_ptr.vf_egr */
 	{
-	.description = "l4_flags.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	.description = "act_rec_ptr",
+	.field_bit_size = 32,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+	.field_opr1 = {
+		(BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR >> 8) & 0xff,
+		BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR & 0xff}
 	},
+	/* class_tid: 4, thor, table: int_full_act_record.vf_ing */
 	{
-	.description = "l4_seq.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.description = "sp_rec_ptr",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "l4_ack.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.description = "encap_ptr",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "l4_win.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.description = "mod_rec_ptr",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "l4_pa.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.description = "rsvd1",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "l4_opt.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.description = "rsvd0",
+	.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "l4_tcpts.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.description = "decap_func",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "l4_tsval.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.description = "meter",
+	.field_bit_size = 10,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "l4_txecr.en",
+	.description = "stats_op",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "l4_err.en",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.description = "stats_ptr",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
-	/* class_tid: 1, thor, table: profile_tcam.l3_l4 */
 	{
-	.description = "wc_key_id",
-	.field_bit_size = 6,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.description = "vnic_or_vport",
+	.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_VNIC >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_DRV_FUNC_VNIC & 0xff}
+	},
+	{
+	.description = "use_default",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "wc_profile_id",
-	.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.description = "mirror",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "wc_search_en",
+	.description = "cond_copy",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "em_key_type",
+	.description = "vlan_del_rpt",
 	.field_bit_size = 2,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "em_key_id",
-	.field_bit_size = 6,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
-	.field_opr1 = {
-		(BNXT_ULP_RF_IDX_EM_KEY_ID_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_EM_KEY_ID_0 & 0xff}
-	},
-	{
-	.description = "em_profile_id",
-	.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.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}
-	},
-	{
-	.description = "em_search_en",
+	.description = "drop",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr1 = {
-		1}
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "pl_byp_lkup_en",
+	.description = "hit",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
-	/* class_tid: 1, thor, table: profile_tcam_cache.wr */
 	{
-	.description = "rid",
-	.field_bit_size = 32,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.description = "type",
+	.field_bit_size = 3,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr1 = {
-		(BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_RID & 0xff}
+		1}
 	},
+	/* class_tid: 4, thor, table: vtag_encap_record.vfr_egr0 */
 	{
-	.description = "profile_tcam_index",
-	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
-	.field_opr1 = {
-		(BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 & 0xff}
+	.description = "ecv_tun_type",
+	.field_bit_size = 3,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "em_profile_id",
-	.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.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}
+	.description = "ecv_l4_type",
+	.field_bit_size = 3,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "em_key_id",
-	.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
-	.field_opr1 = {
-		(BNXT_ULP_RF_IDX_EM_KEY_ID_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_EM_KEY_ID_0 & 0xff}
+	.description = "ecv_l3_type",
+	.field_bit_size = 3,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "wc_profile_id",
-	.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.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}
+	.description = "ecv_l2_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "wc_key_id",
-	.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.description = "ecv_vtag_type",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr1 = {
-		(BNXT_ULP_RF_IDX_WC_KEY_ID_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_WC_KEY_ID_0 & 0xff}
+		ULP_THOR_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI}
 	},
 	{
-	.description = "flow_sig_id",
-	.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
-	.field_opr1 = {
-		(BNXT_ULP_CF_IDX_FLOW_SIG_ID >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_FLOW_SIG_ID & 0xff}
+	.description = "rsrvd",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
-	/* class_tid: 1, thor, table: em.ipv4 */
 	{
-	.description = "valid",
+	.description = "ecv_valid",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr1 = {
 		1}
 	},
 	{
-	.description = "strength",
-	.field_bit_size = 2,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.description = "vtag_tpid",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr1 = {
-		3}
+		0x81,
+		0x00}
 	},
 	{
-	.description = "arec_ptr_or_md",
-	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.description = "vtag_vid",
+	.field_bit_size = 12,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 	.field_opr1 = {
-		(BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
+		(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
 	},
 	{
-	.description = "opcode",
-	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.description = "vtag_de",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "meta_prof",
+	.description = "vtag_pcp",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "ctxt_data",
-	.field_bit_size = 14,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+	.field_opr1 = {
+		(BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff,
+		BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP & 0xff}
 	},
-	/* class_tid: 2, thor, table: int_full_act_record.0 */
+	/* class_tid: 4, thor, table: int_full_act_record.vfr_egr0 */
 	{
 	.description = "sp_rec_ptr",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "encap_ptr",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr1 = {
+		(BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_ENCAP_PTR_0 & 0xff}
 	},
 	{
 	.description = "mod_rec_ptr",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "rsvd1",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "rsvd0",
 	.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "decap_func",
 	.field_bit_size = 5,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "meter",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "stats_op",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "stats_ptr",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vnic_or_vport",
 	.field_bit_size = 11,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr1 = {
-		(BNXT_ULP_CF_IDX_DRV_FUNC_VNIC >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_DRV_FUNC_VNIC & 0xff}
+		(ULP_THOR_SYM_LOOPBACK_PORT >> 8) & 0xff,
+		ULP_THOR_SYM_LOOPBACK_PORT & 0xff}
 	},
 	{
 	.description = "use_default",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "mirror",
 	.field_bit_size = 4,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "cnd_copy",
+	.description = "cond_copy",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "vlan_dlt_rpt",
+	.description = "vlan_del_rpt",
 	.field_bit_size = 2,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "drop",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "hit",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr1 = {
 		1}
 	}
 };
 
+struct
+bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
+};
+
 struct bnxt_ulp_mapper_ident_info ulp_thor_class_ident_list[] = {
-	/* class_tid: 1, thor, table: l2_cntxt_tcam.0 */
-	{
-	.description = "l2_cntxt_id",
-	.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
-	.ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
-	.regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
-	.ident_bit_size = 10,
-	.ident_bit_pos = 29
-	},
-	/* class_tid: 1, thor, table: profile_tcam_cache.rd */
-	{
-	.description = "em_key_id",
-	.regfile_idx = BNXT_ULP_RF_IDX_EM_KEY_ID_0,
-	.ident_bit_size = 8,
-	.ident_bit_pos = 50
-	},
-	{
-	.description = "em_profile_id",
-	.regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
-	.ident_bit_size = 8,
-	.ident_bit_pos = 42
-	},
-	{
-	.description = "flow_sig_id",
-	.regfile_idx = BNXT_ULP_RF_IDX_FLOW_SIG_ID,
-	.ident_bit_size = 8,
-	.ident_bit_pos = 74
-	},
-	{
-	.description = "wc_key_id",
-	.regfile_idx = BNXT_ULP_RF_IDX_WC_KEY_ID_0,
-	.ident_bit_size = 8,
-	.ident_bit_pos = 66
-	},
-	{
-	.description = "wc_profile_id",
-	.regfile_idx = BNXT_ULP_RF_IDX_WC_PROFILE_ID_0,
-	.ident_bit_size = 8,
-	.ident_bit_pos = 58
-	},
-	/* class_tid: 1, thor, table: profile_tcam.l3_l4 */
-	{
-	.description = "wc_profile_id",
-	.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
-	.ident_type = TF_IDENT_TYPE_WC_PROF,
-	.regfile_idx = BNXT_ULP_RF_IDX_WC_PROFILE_ID_0,
-	.ident_bit_size = 8,
-	.ident_bit_pos = 6
-	},
-	{
-	.description = "em_profile_id",
-	.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
-	.ident_type = TF_IDENT_TYPE_EM_PROF,
-	.regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
-	.ident_bit_size = 8,
-	.ident_bit_pos = 23
-	}
 };
diff --git a/drivers/net/bnxt/tf_ulp/ulp_template_db_wh_plus_act.c b/drivers/net/bnxt/tf_ulp/ulp_template_db_wh_plus_act.c
index cb128e5695..1d21cd3e38 100644
--- a/drivers/net/bnxt/tf_ulp/ulp_template_db_wh_plus_act.c
+++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_wh_plus_act.c
@@ -3,7 +3,7 @@ 
  * All rights reserved.
  */
 
-/* date: Tue Mar  9 19:13:26 2021 */
+/* date: Sun Mar 14 12:41:59 2021 */
 
 #include "ulp_template_db_enum.h"
 #include "ulp_template_db_field.h"
@@ -986,17 +986,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_act_key_info_list[] = {
 	.field_info_mask = {
 		.description = "shared_index",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
 		.description = "shared_index",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 		.field_opr1 = {
 			(BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE >> 8) & 0xff,
@@ -1008,17 +1006,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_act_key_info_list[] = {
 	.field_info_mask = {
 		.description = "shared_index",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
 		.description = "shared_index",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr1 = {
 			(BNXT_ULP_RF_IDX_MIRROR_PTR_0 >> 8) & 0xff,
@@ -1032,44 +1028,38 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "count",
 	.field_bit_size = 64,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	/* act_tid: 1, wh_plus, table: int_vtag_encap_record.0 */
 	{
 	.description = "ecv_tun_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_l4_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_l3_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_l2_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_vtag_type",
 	.field_bit_size = 4,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr1 = {
 		ULP_WP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI}
@@ -1077,15 +1067,13 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "ecv_custom_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_valid",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr1 = {
 		1}
@@ -1093,8 +1081,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "vtag_tpid",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN >> 8) & 0xff,
@@ -1103,8 +1090,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "vtag_vid",
 	.field_bit_size = 12,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff,
@@ -1113,15 +1099,13 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "vtag_de",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vtag_pcp",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff,
@@ -1130,16 +1114,14 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "spare",
 	.field_bit_size = 80,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	/* act_tid: 1, wh_plus, table: int_full_act_record.0 */
 	{
 	.description = "flow_cntr_ptr",
 	.field_bit_size = 14,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
@@ -1148,29 +1130,25 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "age_enable",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "agg_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "rate_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "flow_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
 	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
@@ -1185,29 +1163,25 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "tcpflags_key",
 	.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcpflags_mir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcpflags_match",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "encap_ptr",
 	.field_bit_size = 11,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff,
@@ -1216,8 +1190,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "dst_ip_ptr",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
@@ -1226,9 +1199,9 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "tcp_dst_port",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT,
-	.field_cond_opr = {
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
+	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff,
@@ -1237,17 +1210,16 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff,
 		(uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff},
-	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
-	.field_opr1 = {
+	.field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+	.field_opr2 = {
 		(BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
 		BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "src_ip_ptr",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
@@ -1256,9 +1228,9 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "tcp_src_port",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT,
-	.field_cond_opr = {
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
+	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff,
@@ -1267,38 +1239,34 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff,
 		(uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff},
-	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
-	.field_opr1 = {
+	.field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+	.field_opr2 = {
 		(BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
 		BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "meter_id",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "l3_rdir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tl3_rdir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "l3_ttl_dec",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 	.field_opr1 = {
 		(BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
@@ -1307,8 +1275,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "tl3_ttl_dec",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 	.field_opr1 = {
 		(BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
@@ -1317,9 +1284,9 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "decap_func",
 	.field_bit_size = 4,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT,
-	.field_cond_opr = {
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
+	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 56) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 48) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 40) & 0xff,
@@ -1328,18 +1295,17 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 		((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 16) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 8) & 0xff,
 		(uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP & 0xff},
-	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr1 = {
-		ULP_WP_SYM_DECAP_FUNC_THRU_TUN},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
+		ULP_WP_SYM_DECAP_FUNC_THRU_TUN},
+	.field_src3 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr3 = {
 		ULP_WP_SYM_DECAP_FUNC_NONE}
 	},
 	{
 	.description = "vnic_or_vport",
 	.field_bit_size = 12,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
@@ -1348,8 +1314,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "pop_vlan",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
 	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 56) & 0xff,
@@ -1364,16 +1329,15 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "meter",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "mirror",
 	.field_bit_size = 2,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT,
-	.field_cond_opr = {
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
+	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 56) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 48) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 40) & 0xff,
@@ -1382,17 +1346,16 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 		((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 16) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 8) & 0xff,
 		(uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE & 0xff},
-	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
-	.field_opr1 = {
+	.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr2 = {
 		(BNXT_ULP_RF_IDX_MIRROR_ID_0 >> 8) & 0xff,
 		BNXT_ULP_RF_IDX_MIRROR_ID_0 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "drop",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
 	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 56) & 0xff,
@@ -1407,23 +1370,20 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "hit",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "type",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	/* act_tid: 1, wh_plus, table: ext_full_act_record.0 */
 	{
 	.description = "flow_cntr_ptr",
 	.field_bit_size = 14,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
@@ -1432,29 +1392,25 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "age_enable",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "agg_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "rate_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "flow_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
 	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
@@ -1469,50 +1425,43 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "flow_cntr_ext",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcpflags_key",
 	.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcpflags_mir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcpflags_match",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "encap_ptr",
 	.field_bit_size = 11,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "encap_rec_int",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "dst_ip_ptr",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
@@ -1521,9 +1470,9 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "tcp_dst_port",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT,
-	.field_cond_opr = {
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
+	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff,
@@ -1532,17 +1481,16 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff,
 		(uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff},
-	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
-	.field_opr1 = {
+	.field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+	.field_opr2 = {
 		(BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
 		BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "src_ip_ptr",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
@@ -1551,9 +1499,9 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "tcp_src_port",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT,
-	.field_cond_opr = {
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
+	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff,
@@ -1562,38 +1510,34 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff,
 		(uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff},
-	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
-	.field_opr1 = {
+	.field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+	.field_opr2 = {
 		(BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
 		BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "meter_id",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "l3_rdir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tl3_rdir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "l3_ttl_dec",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 	.field_opr1 = {
 		(BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
@@ -1602,8 +1546,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "tl3_ttl_dec",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 	.field_opr1 = {
 		(BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
@@ -1612,9 +1555,9 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "decap_func",
 	.field_bit_size = 4,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT,
-	.field_cond_opr = {
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
+	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 56) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 48) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 40) & 0xff,
@@ -1623,18 +1566,17 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 		((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 16) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 8) & 0xff,
 		(uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP & 0xff},
-	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr1 = {
-		ULP_WP_SYM_DECAP_FUNC_THRU_TUN},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
+		ULP_WP_SYM_DECAP_FUNC_THRU_TUN},
+	.field_src3 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr3 = {
 		ULP_WP_SYM_DECAP_FUNC_NONE}
 	},
 	{
 	.description = "vnic_or_vport",
 	.field_bit_size = 12,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
@@ -1643,8 +1585,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "pop_vlan",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
 	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 56) & 0xff,
@@ -1659,15 +1600,13 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "meter",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "mirror",
 	.field_bit_size = 2,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_MIRROR_ID_0 >> 8) & 0xff,
@@ -1676,8 +1615,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "drop",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
 	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 56) & 0xff,
@@ -1692,29 +1630,25 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "ecv_tun_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_l4_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_l3_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_l2_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr1 = {
 		ULP_WP_SYM_ECV_L2_EN_YES}
@@ -1722,72 +1656,62 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "ecv_vtag_type",
 	.field_bit_size = 4,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_custom_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_valid",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vtag_tpid",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vtag_vid",
 	.field_bit_size = 12,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vtag_de",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vtag_pcp",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "spare",
 	.field_bit_size = 0,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	/* act_tid: 2, wh_plus, table: mirror_tbl.alloc */
 	{
 	.description = "act_rec_ptr",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "enable",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr1 = {
 		1}
@@ -1795,45 +1719,39 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "copy",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ign_drop",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "reserved",
 	.field_bit_size = 2,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "sp_ptr",
 	.field_bit_size = 11,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	/* act_tid: 2, wh_plus, table: int_flow_counter_tbl.0 */
 	{
 	.description = "count",
 	.field_bit_size = 64,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	/* act_tid: 2, wh_plus, table: int_full_act_record.0 */
 	{
 	.description = "flow_cntr_ptr",
 	.field_bit_size = 14,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
@@ -1842,29 +1760,25 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "age_enable",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "agg_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "rate_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "flow_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
 	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
@@ -1879,106 +1793,91 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "tcpflags_key",
 	.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcpflags_mir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcpflags_match",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "encap_ptr",
 	.field_bit_size = 11,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "dst_ip_ptr",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcp_dst_port",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "src_ip_ptr",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcp_src_port",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "meter_id",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "l3_rdir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tl3_rdir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "l3_ttl_dec",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tl3_ttl_dec",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "decap_func",
 	.field_bit_size = 4,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vnic_or_vport",
 	.field_bit_size = 12,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
@@ -1987,25 +1886,19 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "pop_vlan",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "meter",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "mirror",
 	.field_bit_size = 2,
-	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_PLUS_CONST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
-	.field_opr1 = {
-		(BNXT_ULP_RF_IDX_MIRROR_PTR_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_MIRROR_PTR_0 & 0xff},
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_PLUS_SRC2,
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
 		1}
@@ -2013,30 +1906,26 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "drop",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "hit",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "type",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	/* act_tid: 2, wh_plus, table: ext_full_act_record.0 */
 	{
 	.description = "flow_cntr_ptr",
 	.field_bit_size = 14,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
@@ -2045,29 +1934,25 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "age_enable",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "agg_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "rate_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "flow_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
 	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
@@ -2082,120 +1967,103 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "flow_cntr_ext",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcpflags_key",
 	.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcpflags_mir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcpflags_match",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "encap_ptr",
 	.field_bit_size = 11,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "encap_rec_int",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "dst_ip_ptr",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcp_dst_port",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "src_ip_ptr",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcp_src_port",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "meter_id",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "l3_rdir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tl3_rdir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "l3_ttl_dec",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tl3_ttl_dec",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "decap_func",
 	.field_bit_size = 4,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vnic_or_vport",
 	.field_bit_size = 12,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
@@ -2204,8 +2072,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "pop_vlan",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
 	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 56) & 0xff,
@@ -2220,18 +2087,13 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "meter",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "mirror",
 	.field_bit_size = 2,
-	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_PLUS_CONST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
-	.field_opr1 = {
-		(BNXT_ULP_RF_IDX_MIRROR_PTR_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_MIRROR_PTR_0 & 0xff},
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_PLUS_SRC2,
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
 		1}
@@ -2239,36 +2101,31 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "drop",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_tun_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_l4_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_l3_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_l2_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr1 = {
 		ULP_WP_SYM_ECV_L2_EN_YES}
@@ -2276,65 +2133,56 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "ecv_vtag_type",
 	.field_bit_size = 4,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_custom_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_valid",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vtag_tpid",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vtag_vid",
 	.field_bit_size = 12,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vtag_de",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vtag_pcp",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "spare",
 	.field_bit_size = 0,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	/* act_tid: 2, wh_plus, table: mirror_tbl.wr */
 	{
 	.description = "act_rec_ptr",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.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,
@@ -2343,8 +2191,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "enable",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr1 = {
 		1}
@@ -2352,37 +2199,32 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "copy",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ign_drop",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "reserved",
 	.field_bit_size = 2,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "sp_ptr",
 	.field_bit_size = 11,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	/* act_tid: 2, wh_plus, table: shared_mirror_record.wr */
 	{
 	.description = "rid",
 	.field_bit_size = 32,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
@@ -2391,11 +2233,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "mirror_id",
 	.field_bit_size = 2,
-	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_PLUS_CONST_POST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
-	.field_opr1 = {
-		(BNXT_ULP_RF_IDX_MIRROR_PTR_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_MIRROR_PTR_0 & 0xff},
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_PLUS_SRC2_POST,
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
 		(1 >> 8) & 0xff,
@@ -2405,16 +2243,14 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "count",
 	.field_bit_size = 64,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	/* act_tid: 3, wh_plus, table: act_modify_ipv4_src.0 */
 	{
 	.description = "ipv4_addr",
 	.field_bit_size = 32,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff,
@@ -2424,8 +2260,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "ipv4_addr",
 	.field_bit_size = 32,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff,
@@ -2435,29 +2270,25 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "ecv_tun_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_l4_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_l3_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_l2_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr1 = {
 		ULP_WP_SYM_ECV_L2_EN_YES}
@@ -2465,22 +2296,19 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "ecv_vtag_type",
 	.field_bit_size = 4,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_custom_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_valid",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr1 = {
 		1}
@@ -2488,44 +2316,38 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "vtag_tpid",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vtag_vid",
 	.field_bit_size = 12,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vtag_de",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vtag_pcp",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "spare",
 	.field_bit_size = 80,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	/* act_tid: 3, wh_plus, table: int_full_act_record.0 */
 	{
 	.description = "flow_cntr_ptr",
 	.field_bit_size = 14,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
@@ -2534,29 +2356,25 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "age_enable",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "agg_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "rate_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "flow_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
 	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
@@ -2571,29 +2389,25 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "tcpflags_key",
 	.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcpflags_mir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcpflags_match",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "encap_ptr",
 	.field_bit_size = 11,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
 	.field_opr1 = {
 		(BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR >> 8) & 0xff,
@@ -2602,8 +2416,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "dst_ip_ptr",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
@@ -2612,9 +2425,9 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "tcp_dst_port",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT,
-	.field_cond_opr = {
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
+	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff,
@@ -2623,17 +2436,16 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff,
 		(uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff},
-	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
-	.field_opr1 = {
+	.field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+	.field_opr2 = {
 		(BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
 		BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "src_ip_ptr",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
@@ -2642,9 +2454,9 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "tcp_src_port",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT,
-	.field_cond_opr = {
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
+	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff,
@@ -2653,38 +2465,34 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff,
 		(uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff},
-	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
-	.field_opr1 = {
+	.field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+	.field_opr2 = {
 		(BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
 		BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "meter_id",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "l3_rdir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tl3_rdir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "l3_ttl_dec",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 	.field_opr1 = {
 		(BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
@@ -2693,8 +2501,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "tl3_ttl_dec",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 	.field_opr1 = {
 		(BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
@@ -2703,9 +2510,9 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "decap_func",
 	.field_bit_size = 4,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,
-	.field_cond_opr = {
+	.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,
@@ -2714,18 +2521,17 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 		((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_src1 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr1 = {
-		ULP_WP_SYM_DECAP_FUNC_THRU_TL2},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
+		ULP_WP_SYM_DECAP_FUNC_THRU_TL2},
+	.field_src3 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr3 = {
 		ULP_WP_SYM_DECAP_FUNC_THRU_L2}
 	},
 	{
 	.description = "vnic_or_vport",
 	.field_bit_size = 12,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
@@ -2734,51 +2540,44 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "pop_vlan",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "meter",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "mirror",
 	.field_bit_size = 2,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "drop",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "hit",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "type",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	/* act_tid: 3, wh_plus, table: ext_full_act_record.0 */
 	{
 	.description = "flow_cntr_ptr",
 	.field_bit_size = 14,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
@@ -2787,29 +2586,25 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "age_enable",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "agg_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "rate_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "flow_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
 	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
@@ -2824,36 +2619,31 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "flow_cntr_ext",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcpflags_key",
 	.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcpflags_mir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcpflags_match",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "encap_ptr",
 	.field_bit_size = 11,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
 	.field_opr1 = {
 		(BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR >> 8) & 0xff,
@@ -2862,8 +2652,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "encap_rec_int",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr1 = {
 		1}
@@ -2871,8 +2660,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "dst_ip_ptr",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
@@ -2881,9 +2669,9 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "tcp_dst_port",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT,
-	.field_cond_opr = {
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
+	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff,
@@ -2892,17 +2680,16 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff,
 		(uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff},
-	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
-	.field_opr1 = {
+	.field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+	.field_opr2 = {
 		(BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
 		BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "src_ip_ptr",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
@@ -2911,9 +2698,9 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "tcp_src_port",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT,
-	.field_cond_opr = {
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
+	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff,
@@ -2922,38 +2709,34 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff,
 		(uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff},
-	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
-	.field_opr1 = {
+	.field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+	.field_opr2 = {
 		(BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
 		BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "meter_id",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "l3_rdir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tl3_rdir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "l3_ttl_dec",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 	.field_opr1 = {
 		(BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
@@ -2962,8 +2745,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "tl3_ttl_dec",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 	.field_opr1 = {
 		(BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
@@ -2972,9 +2754,9 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "decap_func",
 	.field_bit_size = 4,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,
-	.field_cond_opr = {
+	.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,
@@ -2983,18 +2765,17 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 		((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_src1 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr1 = {
-		ULP_WP_SYM_DECAP_FUNC_THRU_TL2},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
+		ULP_WP_SYM_DECAP_FUNC_THRU_TL2},
+	.field_src3 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr3 = {
 		ULP_WP_SYM_DECAP_FUNC_THRU_L2}
 	},
 	{
 	.description = "vnic_or_vport",
 	.field_bit_size = 12,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
@@ -3003,57 +2784,49 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "pop_vlan",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "meter",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "mirror",
 	.field_bit_size = 2,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "drop",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_tun_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_l4_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_l3_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_l2_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr1 = {
 		ULP_WP_SYM_ECV_L2_EN_YES}
@@ -3061,101 +2834,87 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "ecv_vtag_type",
 	.field_bit_size = 4,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_custom_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_valid",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vtag_tpid",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vtag_vid",
 	.field_bit_size = 12,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vtag_de",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vtag_pcp",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "spare",
 	.field_bit_size = 0,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	/* act_tid: 4, wh_plus, table: int_flow_counter_tbl.0 */
 	{
 	.description = "count",
 	.field_bit_size = 64,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	/* act_tid: 4, wh_plus, table: int_vtag_encap_record.0 */
 	{
 	.description = "ecv_tun_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_l4_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_l3_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_l2_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_vtag_type",
 	.field_bit_size = 4,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr1 = {
 		ULP_WP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI}
@@ -3163,15 +2922,13 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "ecv_custom_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_valid",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr1 = {
 		1}
@@ -3179,8 +2936,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "vtag_tpid",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN >> 8) & 0xff,
@@ -3189,8 +2945,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "vtag_vid",
 	.field_bit_size = 12,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff,
@@ -3199,15 +2954,13 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "vtag_de",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vtag_pcp",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff,
@@ -3216,16 +2969,14 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "spare",
 	.field_bit_size = 80,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	/* act_tid: 4, wh_plus, table: int_full_act_record.0 */
 	{
 	.description = "flow_cntr_ptr",
 	.field_bit_size = 14,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
@@ -3234,29 +2985,25 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "age_enable",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "agg_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "rate_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "flow_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
 	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
@@ -3271,29 +3018,25 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "tcpflags_key",
 	.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcpflags_mir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcpflags_match",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "encap_ptr",
 	.field_bit_size = 11,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff,
@@ -3302,57 +3045,49 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "dst_ip_ptr",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcp_dst_port",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "src_ip_ptr",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcp_src_port",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "meter_id",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "l3_rdir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tl3_rdir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "l3_ttl_dec",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 	.field_opr1 = {
 		(BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
@@ -3361,8 +3096,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "tl3_ttl_dec",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 	.field_opr1 = {
 		(BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
@@ -3371,15 +3105,13 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "decap_func",
 	.field_bit_size = 4,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vnic_or_vport",
 	.field_bit_size = 12,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
@@ -3388,29 +3120,25 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "pop_vlan",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "meter",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "mirror",
 	.field_bit_size = 2,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "drop",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
 	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 56) & 0xff,
@@ -3425,23 +3153,20 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "hit",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "type",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	/* act_tid: 4, wh_plus, table: ext_full_act_record.no_tag */
 	{
 	.description = "flow_cntr_ptr",
 	.field_bit_size = 14,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
@@ -3450,29 +3175,25 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "age_enable",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "agg_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "rate_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "flow_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
 	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
@@ -3487,99 +3208,85 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "flow_cntr_ext",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcpflags_key",
 	.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcpflags_mir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcpflags_match",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "encap_ptr",
 	.field_bit_size = 11,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "encap_rec_int",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "dst_ip_ptr",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcp_dst_port",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "src_ip_ptr",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcp_src_port",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "meter_id",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "l3_rdir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tl3_rdir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "l3_ttl_dec",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 	.field_opr1 = {
 		(BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
@@ -3588,8 +3295,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "tl3_ttl_dec",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 	.field_opr1 = {
 		(BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
@@ -3598,15 +3304,13 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "decap_func",
 	.field_bit_size = 4,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vnic_or_vport",
 	.field_bit_size = 12,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
@@ -3615,29 +3319,25 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "pop_vlan",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "meter",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "mirror",
 	.field_bit_size = 2,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "drop",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
 	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 56) & 0xff,
@@ -3652,29 +3352,25 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "ecv_tun_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_l4_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_l3_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_l2_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr1 = {
 		ULP_WP_SYM_ECV_L2_EN_YES}
@@ -3682,65 +3378,56 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "ecv_vtag_type",
 	.field_bit_size = 4,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_custom_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_valid",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vtag_tpid",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vtag_vid",
 	.field_bit_size = 12,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vtag_de",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vtag_pcp",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "spare",
 	.field_bit_size = 0,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	/* act_tid: 4, wh_plus, table: ext_full_act_record.one_tag */
 	{
 	.description = "flow_cntr_ptr",
 	.field_bit_size = 14,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
@@ -3749,29 +3436,25 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "age_enable",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "agg_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "rate_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "flow_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
 	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
@@ -3786,99 +3469,85 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "flow_cntr_ext",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcpflags_key",
 	.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcpflags_mir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcpflags_match",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "encap_ptr",
 	.field_bit_size = 11,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "encap_rec_int",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "dst_ip_ptr",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcp_dst_port",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "src_ip_ptr",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcp_src_port",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "meter_id",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "l3_rdir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tl3_rdir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "l3_ttl_dec",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 	.field_opr1 = {
 		(BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
@@ -3887,8 +3556,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "tl3_ttl_dec",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 	.field_opr1 = {
 		(BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
@@ -3897,15 +3565,13 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "decap_func",
 	.field_bit_size = 4,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vnic_or_vport",
 	.field_bit_size = 12,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
@@ -3914,8 +3580,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "pop_vlan",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
 	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 56) & 0xff,
@@ -3930,22 +3595,19 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "meter",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "mirror",
 	.field_bit_size = 2,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "drop",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
 	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 56) & 0xff,
@@ -3960,36 +3622,31 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "ecv_tun_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_l4_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_l3_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_l2_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_vtag_type",
 	.field_bit_size = 4,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr1 = {
 		ULP_WP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI}
@@ -3997,15 +3654,13 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "ecv_custom_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_valid",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr1 = {
 		1}
@@ -4013,8 +3668,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "vtag_tpid",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN >> 8) & 0xff,
@@ -4023,8 +3677,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "vtag_vid",
 	.field_bit_size = 12,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff,
@@ -4033,15 +3686,13 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "vtag_de",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vtag_pcp",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff,
@@ -4050,24 +3701,21 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "spare",
 	.field_bit_size = 0,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	/* act_tid: 5, wh_plus, table: int_flow_counter_tbl.0 */
 	{
 	.description = "count",
 	.field_bit_size = 64,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	/* act_tid: 5, wh_plus, table: act_modify_ipv4_src.0 */
 	{
 	.description = "ipv4_addr",
 	.field_bit_size = 32,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff,
@@ -4077,8 +3725,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "ipv4_addr",
 	.field_bit_size = 32,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff,
@@ -4088,29 +3735,25 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "ecv_tun_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_l4_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_l3_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_l2_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr1 = {
 		ULP_WP_SYM_ECV_L2_EN_YES}
@@ -4118,22 +3761,19 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "ecv_vtag_type",
 	.field_bit_size = 4,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_custom_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_valid",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr1 = {
 		1}
@@ -4141,44 +3781,38 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "vtag_tpid",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vtag_vid",
 	.field_bit_size = 12,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vtag_de",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vtag_pcp",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "spare",
 	.field_bit_size = 80,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	/* act_tid: 5, wh_plus, table: int_full_act_record.0 */
 	{
 	.description = "flow_cntr_ptr",
 	.field_bit_size = 14,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
@@ -4187,29 +3821,25 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "age_enable",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "agg_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "rate_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "flow_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
 	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
@@ -4224,29 +3854,25 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "tcpflags_key",
 	.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcpflags_mir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcpflags_match",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "encap_ptr",
 	.field_bit_size = 11,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
 	.field_opr1 = {
 		(BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR >> 8) & 0xff,
@@ -4255,8 +3881,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "dst_ip_ptr",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
@@ -4265,9 +3890,9 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "tcp_dst_port",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT,
-	.field_cond_opr = {
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
+	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff,
@@ -4276,17 +3901,16 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff,
 		(uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff},
-	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
-	.field_opr1 = {
+	.field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+	.field_opr2 = {
 		(BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
 		BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "src_ip_ptr",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
@@ -4295,9 +3919,9 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "tcp_src_port",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT,
-	.field_cond_opr = {
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
+	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff,
@@ -4306,38 +3930,34 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff,
 		(uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff},
-	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
-	.field_opr1 = {
+	.field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+	.field_opr2 = {
 		(BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
 		BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "meter_id",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "l3_rdir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tl3_rdir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "l3_ttl_dec",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 	.field_opr1 = {
 		(BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
@@ -4346,8 +3966,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "tl3_ttl_dec",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 	.field_opr1 = {
 		(BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
@@ -4356,9 +3975,9 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "decap_func",
 	.field_bit_size = 4,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,
-	.field_cond_opr = {
+	.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,
@@ -4367,18 +3986,17 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 		((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_src1 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr1 = {
-		ULP_WP_SYM_DECAP_FUNC_THRU_TL2},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
+		ULP_WP_SYM_DECAP_FUNC_THRU_TL2},
+	.field_src3 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr3 = {
 		ULP_WP_SYM_DECAP_FUNC_THRU_L2}
 	},
 	{
 	.description = "vnic_or_vport",
 	.field_bit_size = 12,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
@@ -4387,51 +4005,44 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "pop_vlan",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "meter",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "mirror",
 	.field_bit_size = 2,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "drop",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "hit",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "type",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	/* act_tid: 5, wh_plus, table: ext_full_act_record.0 */
 	{
 	.description = "flow_cntr_ptr",
 	.field_bit_size = 14,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
@@ -4440,29 +4051,25 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "age_enable",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "agg_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "rate_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "flow_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
 	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
@@ -4477,36 +4084,31 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "flow_cntr_ext",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcpflags_key",
 	.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcpflags_mir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcpflags_match",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "encap_ptr",
 	.field_bit_size = 11,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
 	.field_opr1 = {
 		(BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR >> 8) & 0xff,
@@ -4515,8 +4117,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "encap_rec_int",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr1 = {
 		1}
@@ -4524,8 +4125,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "dst_ip_ptr",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
@@ -4534,9 +4134,9 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "tcp_dst_port",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT,
-	.field_cond_opr = {
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
+	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff,
@@ -4545,17 +4145,16 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff,
 		(uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff},
-	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
-	.field_opr1 = {
+	.field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+	.field_opr2 = {
 		(BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
 		BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "src_ip_ptr",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
@@ -4564,9 +4163,9 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "tcp_src_port",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT,
-	.field_cond_opr = {
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
+	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff,
@@ -4575,38 +4174,34 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff,
 		((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff,
 		(uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff},
-	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
-	.field_opr1 = {
+	.field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+	.field_opr2 = {
 		(BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
 		BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "meter_id",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "l3_rdir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tl3_rdir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "l3_ttl_dec",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 	.field_opr1 = {
 		(BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
@@ -4615,8 +4210,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "tl3_ttl_dec",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 	.field_opr1 = {
 		(BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
@@ -4625,9 +4219,9 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "decap_func",
 	.field_bit_size = 4,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,
-	.field_cond_opr = {
+	.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,
@@ -4636,18 +4230,17 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 		((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_src1 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr1 = {
-		ULP_WP_SYM_DECAP_FUNC_THRU_TL2},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
+		ULP_WP_SYM_DECAP_FUNC_THRU_TL2},
+	.field_src3 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr3 = {
 		ULP_WP_SYM_DECAP_FUNC_THRU_L2}
 	},
 	{
 	.description = "vnic_or_vport",
 	.field_bit_size = 12,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
@@ -4656,57 +4249,49 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "pop_vlan",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "meter",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "mirror",
 	.field_bit_size = 2,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "drop",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_tun_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_l4_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_l3_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_l2_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr1 = {
 		ULP_WP_SYM_ECV_L2_EN_YES}
@@ -4714,73 +4299,63 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "ecv_vtag_type",
 	.field_bit_size = 4,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_custom_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_valid",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vtag_tpid",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vtag_vid",
 	.field_bit_size = 12,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vtag_de",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vtag_pcp",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "spare",
 	.field_bit_size = 0,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	/* act_tid: 6, wh_plus, table: int_flow_counter_tbl.0 */
 	{
 	.description = "count",
 	.field_bit_size = 64,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	/* act_tid: 6, wh_plus, table: sp_smac_ipv4.0 */
 	{
 	.description = "smac",
 	.field_bit_size = 48,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff,
@@ -4789,8 +4364,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "ipv4_src_addr",
 	.field_bit_size = 32,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff,
@@ -4799,16 +4373,14 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "reserved",
 	.field_bit_size = 48,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	/* act_tid: 6, wh_plus, table: sp_smac_ipv6.0 */
 	{
 	.description = "smac",
 	.field_bit_size = 48,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff,
@@ -4817,8 +4389,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "ipv6_src_addr",
 	.field_bit_size = 128,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff,
@@ -4827,16 +4398,14 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "reserved",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	/* act_tid: 6, wh_plus, table: int_tun_encap_record.0 */
 	{
 	.description = "ecv_tun_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr1 = {
 		ULP_WP_SYM_ECV_TUN_TYPE_VXLAN}
@@ -4844,8 +4413,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "ecv_l4_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr1 = {
 		ULP_WP_SYM_ECV_L4_TYPE_UDP_CSUM}
@@ -4853,8 +4421,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "ecv_l3_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff,
@@ -4863,8 +4430,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "ecv_l2_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr1 = {
 		1}
@@ -4872,8 +4438,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "ecv_vtag_type",
 	.field_bit_size = 4,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff,
@@ -4882,15 +4447,13 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "ecv_custom_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_valid",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr1 = {
 		1}
@@ -4898,8 +4461,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "encap_l2_dmac",
 	.field_bit_size = 48,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC >> 8) & 0xff,
@@ -4908,8 +4470,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "encap_vtag",
 	.field_bit_size = 0,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP_SZ,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG >> 8) & 0xff,
@@ -4920,8 +4481,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "encap_ip",
 	.field_bit_size = 0,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP_SZ,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_IP >> 8) & 0xff,
@@ -4932,8 +4492,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "encap_udp",
 	.field_bit_size = 32,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP >> 8) & 0xff,
@@ -4942,8 +4501,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "encap_tun",
 	.field_bit_size = 0,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP_SZ,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN >> 8) & 0xff,
@@ -4955,8 +4513,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "flow_cntr_ptr",
 	.field_bit_size = 14,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
@@ -4965,29 +4522,25 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "age_enable",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "agg_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "rate_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "flow_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
 	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
@@ -5002,29 +4555,25 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "tcpflags_key",
 	.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcpflags_mir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcpflags_match",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "encap_ptr",
 	.field_bit_size = 11,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff,
@@ -5033,78 +4582,67 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "dst_ip_ptr",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcp_dst_port",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "src_ip_ptr",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcp_src_port",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "meter_id",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "l3_rdir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tl3_rdir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "l3_ttl_dec",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tl3_ttl_dec",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "decap_func",
 	.field_bit_size = 4,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vnic_or_vport",
 	.field_bit_size = 12,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
@@ -5113,51 +4651,44 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "pop_vlan",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "meter",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "mirror",
 	.field_bit_size = 2,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "drop",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "hit",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "type",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	/* act_tid: 6, wh_plus, table: ext_full_act_record_vxlan.0 */
 	{
 	.description = "flow_cntr_ptr",
 	.field_bit_size = 14,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
@@ -5166,29 +4697,25 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "age_enable",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "agg_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "rate_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "flow_cntr_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
 	.field_opr1 = {
 		((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
@@ -5203,120 +4730,103 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "flow_cntr_ext",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcpflags_key",
 	.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcpflags_mir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcpflags_match",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "encap_ptr",
 	.field_bit_size = 11,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "encap_rec_int",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "dst_ip_ptr",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcp_dst_port",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "src_ip_ptr",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tcp_src_port",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "meter_id",
 	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "l3_rdir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tl3_rdir",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "l3_ttl_dec",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "tl3_ttl_dec",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "decap_func",
 	.field_bit_size = 4,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "vnic_or_vport",
 	.field_bit_size = 12,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
@@ -5325,36 +4835,31 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "pop_vlan",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "meter",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "mirror",
 	.field_bit_size = 2,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "drop",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_tun_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr1 = {
 		ULP_WP_SYM_ECV_TUN_TYPE_VXLAN}
@@ -5362,8 +4867,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "ecv_l4_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr1 = {
 		ULP_WP_SYM_ECV_L4_TYPE_UDP_CSUM}
@@ -5371,8 +4875,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "ecv_l3_type",
 	.field_bit_size = 3,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff,
@@ -5381,8 +4884,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "ecv_l2_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr1 = {
 		1}
@@ -5390,8 +4892,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "ecv_vtag_type",
 	.field_bit_size = 4,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff,
@@ -5400,15 +4901,13 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "ecv_custom_en",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "ecv_valid",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr1 = {
 		1}
@@ -5416,8 +4915,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "encap_l2_dmac",
 	.field_bit_size = 48,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC >> 8) & 0xff,
@@ -5426,8 +4924,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "encap_vtag",
 	.field_bit_size = 0,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP_SZ,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG >> 8) & 0xff,
@@ -5438,8 +4935,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "encap_ip",
 	.field_bit_size = 0,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP_SZ,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_IP >> 8) & 0xff,
@@ -5450,8 +4946,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "encap_udp",
 	.field_bit_size = 32,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP >> 8) & 0xff,
@@ -5460,8 +4955,7 @@  struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
 	{
 	.description = "encap_tun",
 	.field_bit_size = 80,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr1 = {
 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN >> 8) & 0xff,
diff --git a/drivers/net/bnxt/tf_ulp/ulp_template_db_wh_plus_class.c b/drivers/net/bnxt/tf_ulp/ulp_template_db_wh_plus_class.c
index fba5b777f7..4e0cd66126 100644
--- a/drivers/net/bnxt/tf_ulp/ulp_template_db_wh_plus_class.c
+++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_wh_plus_class.c
@@ -3,7 +3,7 @@ 
  * All rights reserved.
  */
 
-/* date: Mon Mar  8 17:37:39 2021 */
+/* date: Mon Mar 15 10:26:20 2021 */
 
 #include "ulp_template_db_enum.h"
 #include "ulp_template_db_field.h"
@@ -25,21 +25,21 @@  struct bnxt_ulp_mapper_tmpl_info ulp_wh_plus_class_tmpl_list[] = {
 	/* class_tid: 2, wh_plus, egress */
 	[2] = {
 	.device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
-	.num_tbls = 14,
+	.num_tbls = 15,
 	.start_tbl_idx = 18,
 	.reject_info = {
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 23,
+		.cond_start_idx = 24,
 		.cond_nums = 1 }
 	},
 	/* class_tid: 3, wh_plus, ingress */
 	[3] = {
 	.device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
-	.num_tbls = 23,
-	.start_tbl_idx = 32,
+	.num_tbls = 22,
+	.start_tbl_idx = 33,
 	.reject_info = {
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
-		.cond_start_idx = 33,
+		.cond_start_idx = 35,
 		.cond_nums = 0 }
 	},
 	/* class_tid: 4, wh_plus, egress */
@@ -49,7 +49,7 @@  struct bnxt_ulp_mapper_tmpl_info ulp_wh_plus_class_tmpl_list[] = {
 	.start_tbl_idx = 55,
 	.reject_info = {
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
-		.cond_start_idx = 39,
+		.cond_start_idx = 41,
 		.cond_nums = 0 }
 	}
 };
@@ -94,9 +94,9 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
 	.key_start_idx = 1,
-	.blob_key_bit_size = 56,
-	.key_bit_size = 56,
-	.key_num_fields = 2,
+	.blob_key_bit_size = 70,
+	.key_bit_size = 70,
+	.key_num_fields = 5,
 	.ident_start_idx = 1,
 	.ident_nums = 1
 	},
@@ -130,7 +130,7 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 	.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
 	.pri_operand = 0,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 3,
+	.key_start_idx = 6,
 	.blob_key_bit_size = 167,
 	.key_bit_size = 167,
 	.key_num_fields = 13,
@@ -155,10 +155,10 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 16,
-	.blob_key_bit_size = 56,
-	.key_bit_size = 56,
-	.key_num_fields = 2,
+	.key_start_idx = 19,
+	.blob_key_bit_size = 70,
+	.key_bit_size = 70,
+	.key_num_fields = 5,
 	.result_start_idx = 13,
 	.result_bit_size = 62,
 	.result_num_fields = 4
@@ -179,7 +179,7 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 18,
+	.key_start_idx = 24,
 	.blob_key_bit_size = 14,
 	.key_bit_size = 14,
 	.key_num_fields = 3,
@@ -213,8 +213,8 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cc_opc = BNXT_ULP_CC_UPD_OPC_EQ,
 		.cc_src1 = BNXT_ULP_CC_UPD_SRC_REGFILE,
 		.cc_opr1 = BNXT_ULP_RF_IDX_FLOW_SIG_ID,
-		.cc_src2 = BNXT_ULP_CC_UPD_SRC_COMP_FIELD,
-		.cc_opr2 = BNXT_ULP_CF_IDX_FLOW_SIG_ID,
+		.cc_src2 = BNXT_ULP_CC_UPD_SRC_REGFILE,
+		.cc_opr2 = BNXT_ULP_RF_IDX_CF_FLOW_SIG_ID,
 		.cc_dst_opr = BNXT_ULP_RF_IDX_CC },
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE
 	},
@@ -235,7 +235,7 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 21,
+	.key_start_idx = 27,
 	.blob_key_bit_size = 81,
 	.key_bit_size = 81,
 	.key_num_fields = 43,
@@ -262,7 +262,7 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 64,
+	.key_start_idx = 70,
 	.blob_key_bit_size = 81,
 	.key_bit_size = 81,
 	.key_num_fields = 43,
@@ -272,7 +272,7 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 	.ident_start_idx = 7,
 	.ident_nums = 1
 	},
-	{ /* class_tid: 1, wh_plus, table: profile_tcam.vxlan */
+	{ /* class_tid: 1, wh_plus, table: profile_tcam.ipv4_vxlan */
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
 	.resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
 	.direction = TF_DIR_RX,
@@ -281,7 +281,7 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
 		.cond_start_idx = 9,
-		.cond_nums = 1 },
+		.cond_nums = 2 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
@@ -289,7 +289,7 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 107,
+	.key_start_idx = 113,
 	.blob_key_bit_size = 81,
 	.key_bit_size = 81,
 	.key_num_fields = 43,
@@ -309,13 +309,13 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 10,
+		.cond_start_idx = 11,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 150,
+	.key_start_idx = 156,
 	.blob_key_bit_size = 14,
 	.key_bit_size = 14,
 	.key_num_fields = 3,
@@ -331,13 +331,13 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 0,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 10,
+		.cond_start_idx = 11,
 		.cond_nums = 3 },
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 153,
+	.key_start_idx = 159,
 	.blob_key_bit_size = 176,
 	.key_bit_size = 176,
 	.key_num_fields = 10,
@@ -353,13 +353,13 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 0,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 13,
+		.cond_start_idx = 14,
 		.cond_nums = 3 },
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 163,
+	.key_start_idx = 169,
 	.blob_key_bit_size = 448,
 	.key_bit_size = 448,
 	.key_num_fields = 10,
@@ -375,13 +375,13 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 0,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 16,
+		.cond_start_idx = 17,
 		.cond_nums = 3 },
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 173,
+	.key_start_idx = 179,
 	.blob_key_bit_size = 416,
 	.key_bit_size = 416,
 	.key_num_fields = 11,
@@ -397,13 +397,13 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 0,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 19,
+		.cond_start_idx = 20,
 		.cond_nums = 3 },
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 184,
+	.key_start_idx = 190,
 	.blob_key_bit_size = 448,
 	.key_bit_size = 448,
 	.key_num_fields = 11,
@@ -419,13 +419,13 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 0,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 22,
+		.cond_start_idx = 23,
 		.cond_nums = 1 },
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 195,
+	.key_start_idx = 201,
 	.blob_key_bit_size = 200,
 	.key_bit_size = 200,
 	.key_num_fields = 11,
@@ -441,13 +441,13 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 0,
 		.cond_false_goto = 0,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 23,
+		.cond_start_idx = 24,
 		.cond_nums = 0 },
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 206,
+	.key_start_idx = 212,
 	.blob_key_bit_size = 448,
 	.key_bit_size = 448,
 	.key_num_fields = 11,
@@ -464,13 +464,13 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 5,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 24,
+		.cond_start_idx = 25,
 		.cond_nums = 1 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 217,
+	.key_start_idx = 223,
 	.blob_key_bit_size = 8,
 	.key_bit_size = 8,
 	.key_num_fields = 1,
@@ -486,16 +486,16 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 25,
+		.cond_start_idx = 26,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 218,
-	.blob_key_bit_size = 56,
-	.key_bit_size = 56,
-	.key_num_fields = 2,
+	.key_start_idx = 224,
+	.blob_key_bit_size = 70,
+	.key_bit_size = 70,
+	.key_num_fields = 5,
 	.ident_start_idx = 10,
 	.ident_nums = 1
 	},
@@ -506,7 +506,7 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 3,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 25,
+		.cond_start_idx = 26,
 		.cond_nums = 1 },
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
@@ -520,7 +520,7 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 26,
+		.cond_start_idx = 27,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
@@ -529,7 +529,7 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 	.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
 	.pri_operand = 0,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 220,
+	.key_start_idx = 229,
 	.blob_key_bit_size = 167,
 	.key_bit_size = 167,
 	.key_num_fields = 13,
@@ -548,16 +548,16 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 26,
+		.cond_start_idx = 27,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 233,
-	.blob_key_bit_size = 56,
-	.key_bit_size = 56,
-	.key_num_fields = 2,
+	.key_start_idx = 242,
+	.blob_key_bit_size = 70,
+	.key_bit_size = 70,
+	.key_num_fields = 5,
 	.result_start_idx = 140,
 	.result_bit_size = 62,
 	.result_num_fields = 4
@@ -571,32 +571,51 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 26,
+		.cond_start_idx = 27,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 235,
+	.key_start_idx = 247,
 	.blob_key_bit_size = 14,
 	.key_bit_size = 14,
 	.key_num_fields = 3,
 	.ident_start_idx = 12,
 	.ident_nums = 3
 	},
-	{ /* class_tid: 2, wh_plus, table: control.1 */
+	{ /* class_tid: 2, wh_plus, table: control.gen_tbl_miss */
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
 	.direction = TF_DIR_TX,
 	.execute_info = {
-		.cond_true_goto  = 1,
-		.cond_false_goto = 4,
+		.cond_true_goto  = 2,
+		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 26,
+		.cond_start_idx = 27,
 		.cond_nums = 1 },
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE
 	},
+	{ /* class_tid: 2, wh_plus, table: control.conflict_check */
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+	.direction = TF_DIR_TX,
+	.execute_info = {
+		.cond_true_goto  = 4,
+		.cond_false_goto = 1023,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 28,
+		.cond_nums = 1 },
+	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
+	.cc_upd_info = {
+		.cc_opc = BNXT_ULP_CC_UPD_OPC_EQ,
+		.cc_src1 = BNXT_ULP_CC_UPD_SRC_REGFILE,
+		.cc_opr1 = BNXT_ULP_RF_IDX_FLOW_SIG_ID,
+		.cc_src2 = BNXT_ULP_CC_UPD_SRC_COMP_FIELD,
+		.cc_opr2 = BNXT_ULP_CF_IDX_FLOW_SIG_ID,
+		.cc_dst_opr = BNXT_ULP_RF_IDX_CC },
+	.byte_order = BNXT_ULP_BYTE_ORDER_LE
+	},
 	{ /* class_tid: 2, wh_plus, table: profile_tcam.ipv4 */
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
 	.resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
@@ -605,7 +624,7 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 2,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 27,
+		.cond_start_idx = 29,
 		.cond_nums = 1 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
@@ -614,7 +633,7 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 238,
+	.key_start_idx = 250,
 	.blob_key_bit_size = 81,
 	.key_bit_size = 81,
 	.key_num_fields = 43,
@@ -632,7 +651,7 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 28,
+		.cond_start_idx = 30,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
@@ -641,7 +660,7 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 281,
+	.key_start_idx = 293,
 	.blob_key_bit_size = 81,
 	.key_bit_size = 81,
 	.key_num_fields = 43,
@@ -660,13 +679,13 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 28,
+		.cond_start_idx = 30,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 324,
+	.key_start_idx = 336,
 	.blob_key_bit_size = 14,
 	.key_bit_size = 14,
 	.key_num_fields = 3,
@@ -682,13 +701,13 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 0,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 28,
+		.cond_start_idx = 30,
 		.cond_nums = 2 },
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 327,
+	.key_start_idx = 339,
 	.blob_key_bit_size = 176,
 	.key_bit_size = 176,
 	.key_num_fields = 10,
@@ -704,13 +723,13 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 0,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 30,
+		.cond_start_idx = 32,
 		.cond_nums = 2 },
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 337,
+	.key_start_idx = 349,
 	.blob_key_bit_size = 448,
 	.key_bit_size = 448,
 	.key_num_fields = 10,
@@ -726,13 +745,13 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 0,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 32,
+		.cond_start_idx = 34,
 		.cond_nums = 1 },
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 347,
+	.key_start_idx = 359,
 	.blob_key_bit_size = 416,
 	.key_bit_size = 416,
 	.key_num_fields = 11,
@@ -748,13 +767,13 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 0,
 		.cond_false_goto = 0,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 33,
+		.cond_start_idx = 35,
 		.cond_nums = 0 },
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 358,
+	.key_start_idx = 370,
 	.blob_key_bit_size = 448,
 	.key_bit_size = 448,
 	.key_num_fields = 11,
@@ -762,29 +781,6 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 	.result_bit_size = 64,
 	.result_num_fields = 9
 	},
-	{ /* class_tid: 3, wh_plus, table: port_table.wr */
-	.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 = 33,
-		.cond_nums = 0 },
-	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
-	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
-	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
-	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 369,
-	.blob_key_bit_size = 8,
-	.key_bit_size = 8,
-	.key_num_fields = 1,
-	.result_start_idx = 219,
-	.result_bit_size = 144,
-	.result_num_fields = 4
-	},
 	{ /* class_tid: 3, wh_plus, table: int_full_act_record.ing_0 */
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
 	.resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
@@ -795,14 +791,14 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 33,
+		.cond_start_idx = 35,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.result_start_idx = 223,
+	.result_start_idx = 219,
 	.result_bit_size = 128,
 	.result_num_fields = 26
 	},
@@ -815,13 +811,13 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 33,
+		.cond_start_idx = 35,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 370,
+	.key_start_idx = 381,
 	.blob_key_bit_size = 8,
 	.key_bit_size = 8,
 	.key_num_fields = 1,
@@ -835,7 +831,7 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 3,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 33,
+		.cond_start_idx = 35,
 		.cond_nums = 1 },
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
@@ -849,7 +845,7 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 34,
+		.cond_start_idx = 36,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
@@ -860,11 +856,11 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 371,
+	.key_start_idx = 382,
 	.blob_key_bit_size = 167,
 	.key_bit_size = 167,
 	.key_num_fields = 13,
-	.result_start_idx = 249,
+	.result_start_idx = 245,
 	.result_bit_size = 64,
 	.result_num_fields = 13,
 	.ident_start_idx = 17,
@@ -879,17 +875,17 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 34,
+		.cond_start_idx = 36,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 384,
+	.key_start_idx = 395,
 	.blob_key_bit_size = 8,
 	.key_bit_size = 8,
 	.key_num_fields = 1,
-	.result_start_idx = 262,
+	.result_start_idx = 258,
 	.result_bit_size = 62,
 	.result_num_fields = 4
 	},
@@ -901,13 +897,13 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 34,
+		.cond_start_idx = 36,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
 	.tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.result_start_idx = 266,
+	.result_start_idx = 262,
 	.result_bit_size = 32,
 	.result_num_fields = 1
 	},
@@ -919,13 +915,13 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 34,
+		.cond_start_idx = 36,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
 	.tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.result_start_idx = 267,
+	.result_start_idx = 263,
 	.result_bit_size = 32,
 	.result_num_fields = 1
 	},
@@ -937,13 +933,13 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 34,
+		.cond_start_idx = 36,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
 	.tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.result_start_idx = 268,
+	.result_start_idx = 264,
 	.result_bit_size = 32,
 	.result_num_fields = 1
 	},
@@ -954,7 +950,7 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 6,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 34,
+		.cond_start_idx = 36,
 		.cond_nums = 1 },
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE
@@ -969,14 +965,14 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 35,
+		.cond_start_idx = 37,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.result_start_idx = 269,
+	.result_start_idx = 265,
 	.result_bit_size = 128,
 	.result_num_fields = 26,
 	.encap_num_fields = 0
@@ -990,13 +986,13 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 35,
+		.cond_start_idx = 37,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 385,
+	.key_start_idx = 396,
 	.blob_key_bit_size = 8,
 	.key_bit_size = 8,
 	.key_num_fields = 1,
@@ -1010,7 +1006,7 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 0,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 35,
+		.cond_start_idx = 37,
 		.cond_nums = 1 },
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
@@ -1024,7 +1020,7 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 36,
+		.cond_start_idx = 38,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
@@ -1033,11 +1029,11 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 	.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
 	.pri_operand = 0,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 386,
+	.key_start_idx = 397,
 	.blob_key_bit_size = 167,
 	.key_bit_size = 167,
 	.key_num_fields = 13,
-	.result_start_idx = 295,
+	.result_start_idx = 291,
 	.result_bit_size = 64,
 	.result_num_fields = 13,
 	.ident_start_idx = 18,
@@ -1052,17 +1048,17 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 0,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 36,
+		.cond_start_idx = 38,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 399,
+	.key_start_idx = 410,
 	.blob_key_bit_size = 8,
 	.key_bit_size = 8,
 	.key_num_fields = 1,
-	.result_start_idx = 308,
+	.result_start_idx = 304,
 	.result_bit_size = 62,
 	.result_num_fields = 4
 	},
@@ -1075,13 +1071,13 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 36,
+		.cond_start_idx = 38,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 400,
+	.key_start_idx = 411,
 	.blob_key_bit_size = 8,
 	.key_bit_size = 8,
 	.key_num_fields = 1,
@@ -1095,7 +1091,7 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 3,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 36,
+		.cond_start_idx = 38,
 		.cond_nums = 1 },
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
@@ -1109,7 +1105,7 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 37,
+		.cond_start_idx = 39,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
@@ -1118,11 +1114,11 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 401,
+	.key_start_idx = 412,
 	.blob_key_bit_size = 167,
 	.key_bit_size = 167,
 	.key_num_fields = 13,
-	.result_start_idx = 312,
+	.result_start_idx = 308,
 	.result_bit_size = 64,
 	.result_num_fields = 13,
 	.ident_start_idx = 18,
@@ -1137,17 +1133,17 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 37,
+		.cond_start_idx = 39,
 		.cond_nums = 2 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 414,
+	.key_start_idx = 425,
 	.blob_key_bit_size = 8,
 	.key_bit_size = 8,
 	.key_num_fields = 1,
-	.result_start_idx = 325,
+	.result_start_idx = 321,
 	.result_bit_size = 62,
 	.result_num_fields = 4
 	},
@@ -1161,14 +1157,14 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 39,
+		.cond_start_idx = 41,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.result_start_idx = 329,
+	.result_start_idx = 325,
 	.result_bit_size = 128,
 	.result_num_fields = 26,
 	.encap_num_fields = 0
@@ -1181,13 +1177,13 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 39,
+		.cond_start_idx = 41,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
 	.tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_PARIF,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.result_start_idx = 355,
+	.result_start_idx = 351,
 	.result_bit_size = 32,
 	.result_num_fields = 1
 	},
@@ -1199,13 +1195,13 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 39,
+		.cond_start_idx = 41,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
 	.tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_PARIF,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.result_start_idx = 356,
+	.result_start_idx = 352,
 	.result_bit_size = 32,
 	.result_num_fields = 1
 	},
@@ -1217,13 +1213,13 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 0,
 		.cond_false_goto = 0,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 39,
+		.cond_start_idx = 41,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
 	.tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_PARIF,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.result_start_idx = 357,
+	.result_start_idx = 353,
 	.result_bit_size = 32,
 	.result_num_fields = 1
 	},
@@ -1237,14 +1233,14 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 39,
+		.cond_start_idx = 41,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_GLB_REGFILE,
 	.tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.result_start_idx = 358,
+	.result_start_idx = 354,
 	.result_bit_size = 128,
 	.result_num_fields = 26,
 	.encap_num_fields = 0
@@ -1258,13 +1254,13 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 39,
+		.cond_start_idx = 41,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 415,
+	.key_start_idx = 426,
 	.blob_key_bit_size = 8,
 	.key_bit_size = 8,
 	.key_num_fields = 1,
@@ -1278,7 +1274,7 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 3,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 39,
+		.cond_start_idx = 41,
 		.cond_nums = 1 },
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
@@ -1292,7 +1288,7 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_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_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
@@ -1301,11 +1297,11 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 	.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
 	.pri_operand = 0,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 416,
+	.key_start_idx = 427,
 	.blob_key_bit_size = 167,
 	.key_bit_size = 167,
 	.key_num_fields = 13,
-	.result_start_idx = 384,
+	.result_start_idx = 380,
 	.result_bit_size = 64,
 	.result_num_fields = 13,
 	.ident_start_idx = 19,
@@ -1320,17 +1316,17 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_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_WRITE,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 429,
+	.key_start_idx = 440,
 	.blob_key_bit_size = 8,
 	.key_bit_size = 8,
 	.key_num_fields = 1,
-	.result_start_idx = 397,
+	.result_start_idx = 393,
 	.result_bit_size = 62,
 	.result_num_fields = 4
 	},
@@ -1342,13 +1338,13 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_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_IF_TBL_OPC_WR_CONST,
 	.tbl_operand = ULP_WP_SYM_LOOPBACK_PARIF,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.result_start_idx = 401,
+	.result_start_idx = 397,
 	.result_bit_size = 32,
 	.result_num_fields = 1
 	},
@@ -1360,13 +1356,13 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_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_IF_TBL_OPC_WR_CONST,
 	.tbl_operand = ULP_WP_SYM_LOOPBACK_PARIF,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.result_start_idx = 402,
+	.result_start_idx = 398,
 	.result_bit_size = 32,
 	.result_num_fields = 1
 	},
@@ -1378,13 +1374,13 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_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_IF_TBL_OPC_WR_CONST,
 	.tbl_operand = ULP_WP_SYM_LOOPBACK_PARIF,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.result_start_idx = 403,
+	.result_start_idx = 399,
 	.result_bit_size = 32,
 	.result_num_fields = 1
 	},
@@ -1398,14 +1394,14 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_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_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_AND_SET_VFR_FLAG,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.result_start_idx = 404,
+	.result_start_idx = 400,
 	.result_bit_size = 128,
 	.result_num_fields = 26,
 	.encap_num_fields = 0
@@ -1418,7 +1414,7 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_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_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
@@ -1428,11 +1424,11 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 430,
+	.key_start_idx = 441,
 	.blob_key_bit_size = 167,
 	.key_bit_size = 167,
 	.key_num_fields = 13,
-	.result_start_idx = 430,
+	.result_start_idx = 426,
 	.result_bit_size = 64,
 	.result_num_fields = 13,
 	.ident_start_idx = 20,
@@ -1447,13 +1443,13 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_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_INDEX,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 443,
+	.key_start_idx = 454,
 	.blob_key_bit_size = 8,
 	.key_bit_size = 8,
 	.key_num_fields = 1,
@@ -1467,7 +1463,7 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 3,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 40,
+		.cond_start_idx = 42,
 		.cond_nums = 1 },
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
@@ -1481,7 +1477,7 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 41,
+		.cond_start_idx = 43,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
@@ -1490,11 +1486,11 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 	.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
 	.pri_operand = 0,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 444,
+	.key_start_idx = 455,
 	.blob_key_bit_size = 167,
 	.key_bit_size = 167,
 	.key_num_fields = 13,
-	.result_start_idx = 443,
+	.result_start_idx = 439,
 	.result_bit_size = 64,
 	.result_num_fields = 13,
 	.ident_start_idx = 20,
@@ -1509,17 +1505,17 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 41,
+		.cond_start_idx = 43,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 457,
+	.key_start_idx = 468,
 	.blob_key_bit_size = 8,
 	.key_bit_size = 8,
 	.key_num_fields = 1,
-	.result_start_idx = 456,
+	.result_start_idx = 452,
 	.result_bit_size = 62,
 	.result_num_fields = 4
 	},
@@ -1533,14 +1529,14 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 41,
+		.cond_start_idx = 43,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_ENCAP_PTR_0,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.result_start_idx = 460,
+	.result_start_idx = 456,
 	.result_bit_size = 0,
 	.result_num_fields = 0,
 	.encap_num_fields = 12
@@ -1555,14 +1551,14 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 41,
+		.cond_start_idx = 43,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.result_start_idx = 472,
+	.result_start_idx = 468,
 	.result_bit_size = 128,
 	.result_num_fields = 26
 	},
@@ -1576,14 +1572,14 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 41,
+		.cond_start_idx = 43,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.result_start_idx = 498,
+	.result_start_idx = 494,
 	.result_bit_size = 128,
 	.result_num_fields = 26
 	},
@@ -1595,7 +1591,7 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 41,
+		.cond_start_idx = 43,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
@@ -1605,11 +1601,11 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 458,
+	.key_start_idx = 469,
 	.blob_key_bit_size = 167,
 	.key_bit_size = 167,
 	.key_num_fields = 13,
-	.result_start_idx = 524,
+	.result_start_idx = 520,
 	.result_bit_size = 64,
 	.result_num_fields = 13,
 	.ident_start_idx = 20,
@@ -1623,7 +1619,7 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 		.cond_true_goto  = 0,
 		.cond_false_goto = 0,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 41,
+		.cond_start_idx = 43,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
@@ -1633,11 +1629,11 @@  struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
 	.byte_order = BNXT_ULP_BYTE_ORDER_LE,
-	.key_start_idx = 471,
+	.key_start_idx = 482,
 	.blob_key_bit_size = 167,
 	.key_bit_size = 167,
 	.key_num_fields = 13,
-	.result_start_idx = 537,
+	.result_start_idx = 533,
 	.result_bit_size = 64,
 	.result_num_fields = 13,
 	.ident_start_idx = 20,
@@ -1689,11 +1685,15 @@  struct bnxt_ulp_mapper_cond_info ulp_wh_plus_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
 	},
-	/* cond_execute: class_tid: 1, profile_tcam.vxlan */
+	/* cond_execute: class_tid: 1, profile_tcam.ipv4_vxlan */
 	{
 	.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_O_IPV4
+	},
 	/* cond_execute: class_tid: 1, em.ipv4 */
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_NOT_SET,
@@ -1761,11 +1761,16 @@  struct bnxt_ulp_mapper_cond_info ulp_wh_plus_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
 	},
-	/* cond_execute: class_tid: 2, control.1 */
+	/* cond_execute: class_tid: 2, control.gen_tbl_miss */
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
 	},
+	/* cond_execute: class_tid: 2, control.conflict_check */
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_CC
+	},
 	/* cond_execute: class_tid: 2, profile_tcam.ipv4 */
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
@@ -1838,8 +1843,7 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "svif",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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,
@@ -1848,8 +1852,7 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_spec = {
 		.description = "svif",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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,
@@ -1861,8 +1864,7 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "svif",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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,
@@ -1871,8 +1873,7 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_spec = {
 		.description = "svif",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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,
@@ -1880,11 +1881,85 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 		}
 	},
 	{
+	.field_info_mask = {
+		.description = "tun_hdr",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tun_hdr",
+		.field_bit_size = 1,
+		.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_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "one_tag",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
+			(BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff,
+			BNXT_ULP_CF_IDX_O_ONE_VTAG & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "vid",
+		.field_bit_size = 12,
+		.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_OO_VLAN >> 56) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
+			(uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_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_ZERO
+		},
+	.field_info_spec = {
+		.description = "vid",
+		.field_bit_size = 12,
+		.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_OO_VLAN >> 56) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
+			(uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_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_ZERO
+		}
+	},
+	{
 	.field_info_mask = {
 		.description = "mac_addr",
 		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr1 = {
 			(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
@@ -1893,8 +1968,7 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_spec = {
 		.description = "mac_addr",
 		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr1 = {
 			(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
@@ -1906,37 +1980,55 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l2_ivlan_vid",
 		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr1 = {
+		.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_OO_VLAN >> 56) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
+			(uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
 			(BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}
+			BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "l2_ivlan_vid",
 		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr1 = {
+		.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_OO_VLAN >> 56) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
+			(uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
 			(BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}
+			BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
 		.description = "l2_ovlan_vid",
 		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -1944,8 +2036,7 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "mac0_addr",
 		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr1 = {
 			(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
@@ -1954,8 +2045,7 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_spec = {
 		.description = "mac0_addr",
 		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr1 = {
 			(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
@@ -1966,8 +2056,7 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "svif",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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,
@@ -1976,8 +2065,7 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_spec = {
 		.description = "svif",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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,
@@ -1988,15 +2076,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "sparif",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "sparif",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2004,15 +2090,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl2_ivlan_vid",
 		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "tl2_ivlan_vid",
 		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2020,15 +2104,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl2_ovlan_vid",
 		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "tl2_ovlan_vid",
 		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2036,15 +2118,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "mac1_addr",
 		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2052,17 +2132,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l2_num_vtags",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
 		.description = "l2_num_vtags",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
 			(BNXT_ULP_CF_IDX_O_VTAG_NUM >> 8) & 0xff,
@@ -2073,15 +2151,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl2_num_vtags",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "tl2_num_vtags",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2089,15 +2165,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tun_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2105,15 +2179,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "key_type",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "key_type",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2121,8 +2193,7 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
 			1}
@@ -2130,8 +2201,7 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_spec = {
 		.description = "valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
 			1}
@@ -2142,8 +2212,7 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "svif",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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,
@@ -2152,8 +2221,7 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_spec = {
 		.description = "svif",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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,
@@ -2161,11 +2229,85 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 		}
 	},
 	{
+	.field_info_mask = {
+		.description = "tun_hdr",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tun_hdr",
+		.field_bit_size = 1,
+		.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_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "one_tag",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
+			(BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff,
+			BNXT_ULP_CF_IDX_O_ONE_VTAG & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "vid",
+		.field_bit_size = 12,
+		.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_OO_VLAN >> 56) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
+			(uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_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_ZERO
+		},
+	.field_info_spec = {
+		.description = "vid",
+		.field_bit_size = 12,
+		.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_OO_VLAN >> 56) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
+			((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
+			(uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_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_ZERO
+		}
+	},
+	{
 	.field_info_mask = {
 		.description = "mac_addr",
 		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr1 = {
 			(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
@@ -2174,8 +2316,7 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_spec = {
 		.description = "mac_addr",
 		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr1 = {
 			(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
@@ -2187,17 +2328,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "recycle_cnt",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2205,26 +2344,25 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "prof_func_id",
 		.field_bit_size = 7,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT,
-		.field_cond_opr = {
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+		.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
+		.field_opr1 = {
 			(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
 			BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-		.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
-		.field_opr1 = {
-			(BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
-			BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
 		.field_opr2 = {
+			(BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
+			BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
+		.field_opr3 = {
 			(BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
 			BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
 		}
@@ -2233,17 +2371,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "hdr_sig_id",
 		.field_bit_size = 5,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
 		.description = "hdr_sig_id",
 		.field_bit_size = 5,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
 			(BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,
@@ -2255,15 +2391,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l4_hdr_is_udp_tcp",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2271,20 +2405,20 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l4_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_CF,
-		.field_cond_opr = {
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
 			(BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
 			BNXT_ULP_CF_IDX_O_L4 & 0xff},
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "l4_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,
-		.field_cond_opr = {
+		.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_O_TCP >> 56) & 0xff,
 			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
 			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
@@ -2293,11 +2427,11 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
 			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
 			(uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			ULP_WP_SYM_L4_HDR_TYPE_TCP},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
+			ULP_WP_SYM_L4_HDR_TYPE_TCP},
+		.field_src3 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr3 = {
 			ULP_WP_SYM_L4_HDR_TYPE_UDP}
 		}
 	},
@@ -2305,8 +2439,7 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l4_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
 			(BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
@@ -2315,8 +2448,7 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_spec = {
 		.description = "l4_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2324,8 +2456,7 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l4_hdr_valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
 			(BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
@@ -2334,8 +2465,7 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_spec = {
 		.description = "l4_hdr_valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
 			(BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
@@ -2346,15 +2476,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l3_ipv6_cmp_dst",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2362,15 +2490,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l3_ipv6_cmp_src",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2378,15 +2504,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l3_hdr_isIP",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "l3_hdr_isIP",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2394,17 +2518,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l3_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
 		.description = "l3_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2412,17 +2534,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l3_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
 		.description = "l3_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2430,17 +2550,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l3_hdr_valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
 		.description = "l3_hdr_valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
 			ULP_WP_SYM_L3_HDR_VALID_YES}
@@ -2450,17 +2568,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l2_two_vtags",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2468,17 +2584,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l2_vtag_present",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
 			(BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff,
@@ -2489,17 +2603,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l2_uc_mc_bc",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2507,17 +2619,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l2_hdr_type",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
 		.description = "l2_hdr_type",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2525,17 +2635,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l2_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
 		.description = "l2_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2543,17 +2651,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l2_hdr_valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
 			ULP_WP_SYM_L2_HDR_VALID_YES}
@@ -2563,15 +2669,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tun_hdr_flags",
 		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2579,15 +2683,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tun_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2595,15 +2697,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tun_hdr_err",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2611,17 +2711,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tun_hdr_valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2629,15 +2727,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl4_hdr_is_udp_tcp",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "tl4_hdr_is_udp_tcp",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2645,15 +2741,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl4_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "tl4_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2661,15 +2755,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl4_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "tl4_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2677,17 +2769,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl4_hdr_valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
 		.description = "tl4_hdr_valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2695,15 +2785,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl3_ipv6_cmp_dst",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2711,15 +2799,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl3_ipv6_cmp_src",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2727,15 +2813,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl3_hdr_isIP",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2743,15 +2827,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl3_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "tl3_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2759,15 +2841,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl3_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "tl3_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2775,17 +2855,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl3_hdr_valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2793,15 +2871,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl2_two_vtags",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "tl2_two_vtags",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2809,15 +2885,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl2_vtag_present",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "tl2_vtag_present",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2825,15 +2899,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl2_uc_mc_bc",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2841,15 +2913,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl2_hdr_type",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2857,17 +2927,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl2_hdr_valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2875,15 +2943,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "hrec_next",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2891,15 +2957,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "reserved",
 		.field_bit_size = 9,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "reserved",
 		.field_bit_size = 9,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2907,26 +2971,25 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "prof_func_id",
 		.field_bit_size = 7,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT,
-		.field_cond_opr = {
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+		.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
+		.field_opr1 = {
 			(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
 			BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-		.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
-		.field_opr1 = {
-			(BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
-			BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
 		.field_opr2 = {
+			(BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
+			BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
+		.field_opr3 = {
 			(BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
 			BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
 		}
@@ -2935,15 +2998,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "agg_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2951,15 +3012,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "recycle_cnt",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2967,15 +3026,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "pkt_type_0",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2983,15 +3040,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "pkt_type_1",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -2999,8 +3054,7 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
 			1}
@@ -3008,8 +3062,7 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_spec = {
 		.description = "valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
 			1}
@@ -3020,15 +3073,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l4_hdr_is_udp_tcp",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3036,20 +3087,20 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l4_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_CF,
-		.field_cond_opr = {
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr1 = {
 			(BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
 			BNXT_ULP_CF_IDX_O_L4 & 0xff},
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "l4_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,
-		.field_cond_opr = {
+		.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_O_TCP >> 56) & 0xff,
 			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
 			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
@@ -3058,11 +3109,11 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
 			((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
 			(uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-			ULP_WP_SYM_L4_HDR_TYPE_TCP},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
+			ULP_WP_SYM_L4_HDR_TYPE_TCP},
+		.field_src3 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr3 = {
 			ULP_WP_SYM_L4_HDR_TYPE_UDP}
 		}
 	},
@@ -3070,8 +3121,7 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l4_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
 			(BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
@@ -3080,8 +3130,7 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_spec = {
 		.description = "l4_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3089,8 +3138,7 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l4_hdr_valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
 			(BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
@@ -3099,8 +3147,7 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_spec = {
 		.description = "l4_hdr_valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
 			(BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
@@ -3111,15 +3158,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l3_ipv6_cmp_dst",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3127,15 +3172,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l3_ipv6_cmp_src",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3143,15 +3186,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l3_hdr_isIP",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "l3_hdr_isIP",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3159,17 +3200,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l3_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
 		.description = "l3_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
 			ULP_WP_SYM_L3_HDR_TYPE_IPV6}
@@ -3179,17 +3218,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l3_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
 		.description = "l3_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3197,17 +3234,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l3_hdr_valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
 		.description = "l3_hdr_valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
 			ULP_WP_SYM_L3_HDR_VALID_YES}
@@ -3217,17 +3252,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l2_two_vtags",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3235,17 +3268,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l2_vtag_present",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
 			(BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff,
@@ -3256,17 +3287,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l2_uc_mc_bc",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3274,17 +3303,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l2_hdr_type",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
 		.description = "l2_hdr_type",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3292,17 +3319,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l2_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
 		.description = "l2_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3310,17 +3335,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l2_hdr_valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
 			ULP_WP_SYM_L2_HDR_VALID_YES}
@@ -3330,15 +3353,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tun_hdr_flags",
 		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3346,15 +3367,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tun_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3362,15 +3381,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tun_hdr_err",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3378,17 +3395,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tun_hdr_valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3396,15 +3411,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl4_hdr_is_udp_tcp",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "tl4_hdr_is_udp_tcp",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3412,15 +3425,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl4_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "tl4_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3428,15 +3439,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl4_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "tl4_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3444,17 +3453,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl4_hdr_valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
 		.description = "tl4_hdr_valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3462,15 +3469,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl3_ipv6_cmp_dst",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3478,15 +3483,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl3_ipv6_cmp_src",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3494,15 +3497,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl3_hdr_isIP",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3510,15 +3511,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl3_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "tl3_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3526,15 +3525,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl3_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "tl3_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3542,17 +3539,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl3_hdr_valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3560,15 +3555,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl2_two_vtags",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "tl2_two_vtags",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3576,15 +3569,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl2_vtag_present",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "tl2_vtag_present",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3592,15 +3583,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl2_uc_mc_bc",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3608,15 +3597,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl2_hdr_type",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3624,17 +3611,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl2_hdr_valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3642,15 +3627,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "hrec_next",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3658,15 +3641,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "reserved",
 		.field_bit_size = 9,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "reserved",
 		.field_bit_size = 9,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3674,26 +3655,25 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "prof_func_id",
 		.field_bit_size = 7,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT,
-		.field_cond_opr = {
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+		.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
+		.field_opr1 = {
 			(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
 			BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-		.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
-		.field_opr1 = {
-			(BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
-			BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
 		.field_opr2 = {
+			(BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
+			BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
+		.field_opr3 = {
 			(BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
 			BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
 		}
@@ -3702,15 +3682,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "agg_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3718,15 +3696,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "recycle_cnt",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3734,15 +3710,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "pkt_type_0",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3750,15 +3724,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "pkt_type_1",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3766,8 +3738,7 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
 			1}
@@ -3775,27 +3746,24 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_spec = {
 		.description = "valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
 			1}
 		}
 	},
-	/* class_tid: 1, wh_plus, table: profile_tcam.vxlan */
+	/* class_tid: 1, wh_plus, table: profile_tcam.ipv4_vxlan */
 	{
 	.field_info_mask = {
 		.description = "l4_hdr_is_udp_tcp",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3803,17 +3771,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l4_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
 		.description = "l4_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
 			ULP_WP_SYM_L4_HDR_TYPE_UDP}
@@ -3823,17 +3789,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l4_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
 		.description = "l4_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3841,15 +3805,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l4_hdr_valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "l4_hdr_valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3857,15 +3819,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l3_ipv6_cmp_dst",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3873,15 +3833,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l3_ipv6_cmp_src",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3889,15 +3847,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l3_hdr_isIP",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "l3_hdr_isIP",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3905,15 +3861,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l3_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3921,17 +3875,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l3_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
 		.description = "l3_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3939,15 +3891,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l3_hdr_valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "l3_hdr_valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3955,15 +3905,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l2_two_vtags",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "l2_two_vtags",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3971,15 +3919,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l2_vtag_present",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "l2_vtag_present",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -3987,15 +3933,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l2_uc_mc_bc",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "l2_uc_mc_bc",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -4003,15 +3947,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l2_hdr_type",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "l2_hdr_type",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -4019,15 +3961,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l2_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "l2_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -4035,15 +3975,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l2_hdr_valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "l2_hdr_valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -4051,15 +3989,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tun_hdr_flags",
 		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -4067,17 +4003,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tun_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
 		.description = "tun_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -4085,15 +4019,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tun_hdr_err",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -4101,17 +4033,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tun_hdr_valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
 			ULP_WP_SYM_TUN_HDR_VALID_YES}
@@ -4121,15 +4051,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl4_hdr_is_udp_tcp",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "tl4_hdr_is_udp_tcp",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -4137,15 +4065,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl4_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "tl4_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -4153,15 +4079,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl4_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "tl4_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -4169,17 +4093,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl4_hdr_valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
 		.description = "tl4_hdr_valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
 			ULP_WP_SYM_TL4_HDR_VALID_YES}
@@ -4189,15 +4111,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl3_ipv6_cmp_dst",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -4205,15 +4125,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl3_ipv6_cmp_src",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -4221,15 +4139,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl3_hdr_isIP",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -4237,15 +4153,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl3_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
 		},
 	.field_info_spec = {
 		.description = "tl3_hdr_type",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -4253,15 +4169,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl3_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "tl3_hdr_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -4269,17 +4183,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl3_hdr_valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
 			ULP_WP_SYM_TL3_HDR_VALID_YES}
@@ -4289,15 +4201,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl2_two_vtags",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "tl2_two_vtags",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -4305,15 +4215,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl2_vtag_present",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "tl2_vtag_present",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -4321,17 +4229,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl2_uc_mc_bc",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
 		.description = "tl2_uc_mc_bc",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -4339,15 +4245,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl2_hdr_type",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -4355,17 +4259,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl2_hdr_valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
 			ULP_WP_SYM_TL2_HDR_VALID_YES}
@@ -4375,15 +4277,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "hrec_next",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -4391,15 +4291,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "reserved",
 		.field_bit_size = 9,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "reserved",
 		.field_bit_size = 9,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -4407,17 +4305,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "prof_func_id",
 		.field_bit_size = 7,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
 		.field_opr1 = {
 			(BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
@@ -4428,15 +4324,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "agg_error",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -4444,15 +4338,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "recycle_cnt",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -4460,15 +4352,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "pkt_type_0",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -4476,15 +4366,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "pkt_type_1",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -4492,8 +4380,7 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
 			1}
@@ -4501,8 +4388,7 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_spec = {
 		.description = "valid",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
 			1}
@@ -4513,17 +4399,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "recycle_cnt",
 		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -4531,26 +4415,25 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "prof_func_id",
 		.field_bit_size = 7,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.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_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT,
-		.field_cond_opr = {
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+		.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
+		.field_opr1 = {
 			(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
 			BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-		.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
-		.field_opr1 = {
-			(BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
-			BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
 		.field_opr2 = {
+			(BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
+			BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
+		.field_opr3 = {
 			(BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
 			BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
 		}
@@ -4559,17 +4442,15 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "hdr_sig_id",
 		.field_bit_size = 5,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
 		.description = "hdr_sig_id",
 		.field_bit_size = 5,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
 			(BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,
@@ -4581,15 +4462,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "spare",
 		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "spare",
 		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -4597,15 +4476,13 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "local_cos",
 		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "local_cos",
 		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -4613,9 +4490,8 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "l4.dst",
 		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff,
 			0xff}
@@ -4623,25 +4499,24 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_spec = {
 		.description = "l4.dst",
 		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_CF,
-		.field_cond_opr = {
-			(BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
-			BNXT_ULP_CF_IDX_O_L4 & 0xff},
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
+			(BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
+			BNXT_ULP_CF_IDX_O_L4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr2 = {
 			(BNXT_ULP_CF_IDX_O_L4_DST_PORT >> 8) & 0xff,
 			BNXT_ULP_CF_IDX_O_L4_DST_PORT & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
 		.description = "l4.src",
 		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff,
 			0xff}
@@ -4649,136 +4524,108 @@  struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_spec = {
 		.description = "l4.src",
 		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_CF,
-		.field_cond_opr = {
-			(BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
-			BNXT_ULP_CF_IDX_O_L4 & 0xff},
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
+			(BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
+			BNXT_ULP_CF_IDX_O_L4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr2 = {
 			(BNXT_ULP_CF_IDX_O_L4_SRC_PORT >> 8) & 0xff,
 			BNXT_ULP_CF_IDX_O_L4_SRC_PORT & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
 		.description = "l3.prot",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
 		.description = "l3.prot",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+		.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
 		.field_opr1 = {
+			(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_CF,
+		.field_opr2 = {
 			(BNXT_ULP_CF_IDX_O_L3_PROTO_ID >> 8) & 0xff,
-			BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff}
+			BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
 		.description = "l3.dst",
 		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT,
-		.field_cond_opr = {
-			(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr1 = {
 			(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_ZERO
+			BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
 		},
 	.field_info_spec = {
 		.description = "l3.dst",
 		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_