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 5c8893c129..bdb1a640af 100644
--- a/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h
+++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h
@@ -8,7 +8,7 @@
 #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 1a4e610b56..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 Jan 26 15:51:49 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 25b536a527..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: Fri Jan 29 09:44:41 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_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_mask = {
 		.description = "l3.src",
 		.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_SRC_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_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_SRC_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
 		},
 	.field_info_spec = {
 		.description = "l3.src",
 		.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_SRC_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_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_SRC_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
 		}
 	},
 	{
 	.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_FIELD_BIT,
-		.field_cond_opr = {
-			(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr1 = {
 			(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 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_FIELD_BIT,
-		.field_cond_opr = {
-			(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr1 = {
 			(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 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_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff,
 			0xff}
@@ -4786,8 +4633,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr1 = {
 			(BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
@@ -4798,17 +4644,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
 		.description = "em_profile_id",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_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_EM_PROFILE_ID_0 >> 8) & 0xff,
@@ -4820,15 +4664,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "spare",
 		.field_bit_size = 275,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_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 = 275,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -4836,15 +4678,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
 		}
 	},
@@ -4852,9 +4692,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}
@@ -4862,25 +4701,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}
@@ -4888,136 +4726,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_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_mask = {
 		.description = "l3.src",
 		.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_SRC_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_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_SRC_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
 		},
 	.field_info_spec = {
 		.description = "l3.src",
 		.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_SRC_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_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_SRC_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
 		}
 	},
 	{
 	.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_FIELD_BIT,
-		.field_cond_opr = {
-			(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr1 = {
 			(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 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_FIELD_BIT,
-		.field_cond_opr = {
-			(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr1 = {
 			(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 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_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff,
 			0xff}
@@ -5025,8 +4835,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr1 = {
 			(BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
@@ -5037,17 +4846,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
 		.description = "em_profile_id",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_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_EM_PROFILE_ID_0 >> 8) & 0xff,
@@ -5059,15 +4866,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
 		}
 	},
@@ -5075,15 +4880,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
 		}
 	},
@@ -5091,9 +4894,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}
@@ -5101,25 +4903,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}
@@ -5127,142 +4928,113 @@ 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_IPV6_PROTO_ID >> 8) & 0xff,
+			BNXT_ULP_GLB_HF_ID_O_IPV6_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 = 128,
-		.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_IPV6_DST_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV6_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_IPV6_DST_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}
 		},
 	.field_info_spec = {
 		.description = "l3.dst",
 		.field_bit_size = 128,
-		.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_IPV6_DST_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV6_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_IPV6_DST_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
 		.description = "l3.src",
 		.field_bit_size = 128,
-		.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_IPV6_SRC_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr1 = {
 			(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}
 		},
 	.field_info_spec = {
 		.description = "l3.src",
 		.field_bit_size = 128,
-		.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_IPV6_SRC_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr1 = {
 			(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}
 		}
 	},
 	{
 	.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_FIELD_BIT,
-		.field_cond_opr = {
-			(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr1 = {
 			(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 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_FIELD_BIT,
-		.field_cond_opr = {
-			(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr1 = {
 			(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
 		}
 	},
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "l2.dmac",
 		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -5270,9 +5042,8 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff,
 			0xff}
@@ -5280,8 +5051,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr1 = {
 			(BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
@@ -5292,17 +5062,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
 		.description = "em_profile_id",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_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_EM_PROFILE_ID_0 >> 8) & 0xff,
@@ -5314,15 +5082,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "spare",
 		.field_bit_size = 35,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_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 = 35,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -5330,15 +5096,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
 		}
 	},
@@ -5346,9 +5110,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}
@@ -5356,25 +5119,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}
@@ -5382,142 +5144,113 @@ 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_IPV6_PROTO_ID >> 8) & 0xff,
+			BNXT_ULP_GLB_HF_ID_O_IPV6_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 = 128,
-		.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_IPV6_DST_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV6_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_IPV6_DST_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}
 		},
 	.field_info_spec = {
 		.description = "l3.dst",
 		.field_bit_size = 128,
-		.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_IPV6_DST_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV6_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_IPV6_DST_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
 		.description = "l3.src",
 		.field_bit_size = 128,
-		.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_IPV6_SRC_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr1 = {
 			(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}
 		},
 	.field_info_spec = {
 		.description = "l3.src",
 		.field_bit_size = 128,
-		.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_IPV6_SRC_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr1 = {
 			(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}
 		}
 	},
 	{
 	.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_FIELD_BIT,
-		.field_cond_opr = {
-			(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr1 = {
 			(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 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_FIELD_BIT,
-		.field_cond_opr = {
-			(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr1 = {
 			(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
 		}
 	},
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "l2.dmac",
 		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -5525,9 +5258,8 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff,
 			0xff}
@@ -5535,8 +5267,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr1 = {
 			(BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
@@ -5547,17 +5278,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
 		.description = "em_profile_id",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_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_EM_PROFILE_ID_0 >> 8) & 0xff,
@@ -5569,15 +5298,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
 		}
 	},
@@ -5585,15 +5312,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
 		}
 	},
@@ -5601,15 +5326,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "tl4.src",
 		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -5617,40 +5340,45 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.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_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+			(4789 >> 8) & 0xff,
+			4789 & 0xff}
 		}
 	},
 	{
 	.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_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.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_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+			17}
 		}
 	},
 	{
 	.field_info_mask = {
 		.description = "tl3.dst",
 		.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_HF,
 		.field_opr1 = {
 			(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
@@ -5659,8 +5387,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_spec = {
 		.description = "tl3.dst",
 		.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_HF,
 		.field_opr1 = {
 			(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
@@ -5671,15 +5398,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl3.src",
 		.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_ZERO
 		},
 	.field_info_spec = {
 		.description = "tl3.src",
 		.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_ZERO
 		}
 	},
@@ -5687,15 +5412,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl2.src",
 		.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 = "tl2.src",
 		.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
 		}
 	},
@@ -5703,15 +5426,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tun_id",
 		.field_bit_size = 24,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_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_id",
 		.field_bit_size = 24,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -5719,9 +5440,8 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff,
 			0xff}
@@ -5729,8 +5449,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr1 = {
 			(BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
@@ -5741,17 +5460,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
 		.description = "em_profile_id",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_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_EM_PROFILE_ID_0 >> 8) & 0xff,
@@ -5763,15 +5480,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "spare",
 		.field_bit_size = 251,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_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 = 251,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -5779,15 +5494,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
 		}
 	},
@@ -5795,31 +5508,33 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.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_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+			(4789 >> 8) & 0xff,
+			4789 & 0xff}
 		}
 	},
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "tl4.src",
 		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -5827,24 +5542,25 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.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_ZERO
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+			17}
 		}
 	},
 	{
 	.field_info_mask = {
 		.description = "tl3.dst",
 		.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_HF,
 		.field_opr1 = {
 			(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
@@ -5853,8 +5569,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_spec = {
 		.description = "tl3.dst",
 		.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_HF,
 		.field_opr1 = {
 			(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
@@ -5865,15 +5580,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl3.src",
 		.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_ZERO
 		},
 	.field_info_spec = {
 		.description = "tl3.src",
 		.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_ZERO
 		}
 	},
@@ -5881,15 +5594,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tl2.src",
 		.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 = "tl2.src",
 		.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
 		}
 	},
@@ -5897,15 +5608,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "tun_id",
 		.field_bit_size = 24,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_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_id",
 		.field_bit_size = 24,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -5913,9 +5622,8 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff,
 			0xff}
@@ -5923,8 +5631,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr1 = {
 			(BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
@@ -5935,17 +5642,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
 		.description = "em_profile_id",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_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_EM_PROFILE_ID_0 >> 8) & 0xff,
@@ -5957,8 +5662,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,
@@ -5967,8 +5671,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,
@@ -5980,8 +5683,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,
@@ -5990,8 +5692,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,
@@ -5999,11 +5700,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_SMAC >> 8) & 0xff,
@@ -6012,8 +5787,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_SMAC >> 8) & 0xff,
@@ -6025,37 +5799,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
 		}
 	},
@@ -6063,8 +5855,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_SMAC >> 8) & 0xff,
@@ -6073,8 +5864,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_SMAC >> 8) & 0xff,
@@ -6085,8 +5875,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,
@@ -6095,8 +5884,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,
@@ -6107,15 +5895,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
 		}
 	},
@@ -6123,15 +5909,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
 		}
 	},
@@ -6139,15 +5923,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
 		}
 	},
@@ -6155,15 +5937,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
 		}
 	},
@@ -6171,17 +5951,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,
@@ -6192,15 +5970,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
 		}
 	},
@@ -6208,15 +5984,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
 		}
 	},
@@ -6224,15 +5998,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
 		}
 	},
@@ -6240,8 +6012,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}
@@ -6249,8 +6020,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}
@@ -6261,8 +6031,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,
@@ -6271,8 +6040,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,
@@ -6280,11 +6048,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_SMAC >> 8) & 0xff,
@@ -6293,8 +6135,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_SMAC >> 8) & 0xff,
@@ -6306,17 +6147,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
 		}
 	},
@@ -6324,26 +6163,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_SMAC >> 8) & 0xff,
 			BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 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}
 		}
@@ -6352,17 +6190,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,
@@ -6374,15 +6210,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
 		}
 	},
@@ -6390,20 +6224,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,
@@ -6412,11 +6246,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}
 		}
 	},
@@ -6424,8 +6258,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,
@@ -6434,8 +6267,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
 		}
 	},
@@ -6443,8 +6275,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,
@@ -6453,8 +6284,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,
@@ -6465,15 +6295,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
 		}
 	},
@@ -6481,15 +6309,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
 		}
 	},
@@ -6497,15 +6323,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
 		}
 	},
@@ -6513,17 +6337,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
 		}
 	},
@@ -6531,17 +6353,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
 		}
 	},
@@ -6549,17 +6369,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}
@@ -6569,17 +6387,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
 		}
 	},
@@ -6587,17 +6403,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,
@@ -6608,17 +6422,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
 		}
 	},
@@ -6626,17 +6438,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
 		}
 	},
@@ -6644,17 +6454,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
 		}
 	},
@@ -6662,17 +6470,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}
@@ -6682,15 +6488,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
 		}
 	},
@@ -6698,15 +6502,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
 		}
 	},
@@ -6714,15 +6516,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
 		}
 	},
@@ -6730,17 +6530,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
 		}
 	},
@@ -6748,15 +6546,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
 		}
 	},
@@ -6764,15 +6560,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
 		}
 	},
@@ -6780,15 +6574,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
 		}
 	},
@@ -6796,17 +6588,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
 		}
 	},
@@ -6814,15 +6604,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
 		}
 	},
@@ -6830,15 +6618,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
 		}
 	},
@@ -6846,15 +6632,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
 		}
 	},
@@ -6862,15 +6646,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
 		}
 	},
@@ -6878,15 +6660,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
 		}
 	},
@@ -6894,17 +6674,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
 		}
 	},
@@ -6912,15 +6690,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
 		}
 	},
@@ -6928,15 +6704,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
 		}
 	},
@@ -6944,15 +6718,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
 		}
 	},
@@ -6960,15 +6732,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
 		}
 	},
@@ -6976,17 +6746,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
 		}
 	},
@@ -6994,15 +6762,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
 		}
 	},
@@ -7010,15 +6776,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
 		}
 	},
@@ -7026,26 +6790,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_SMAC >> 8) & 0xff,
 			BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 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}
 		}
@@ -7054,15 +6817,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
 		}
 	},
@@ -7070,15 +6831,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
 		}
 	},
@@ -7086,15 +6845,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
 		}
 	},
@@ -7102,15 +6859,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
 		}
 	},
@@ -7118,8 +6873,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}
@@ -7127,8 +6881,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}
@@ -7139,15 +6892,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
 		}
 	},
@@ -7155,20 +6906,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,
@@ -7177,11 +6928,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}
 		}
 	},
@@ -7189,8 +6940,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,
@@ -7199,8 +6949,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
 		}
 	},
@@ -7208,8 +6957,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,
@@ -7218,8 +6966,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,
@@ -7230,15 +6977,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
 		}
 	},
@@ -7246,15 +6991,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
 		}
 	},
@@ -7262,15 +7005,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
 		}
 	},
@@ -7278,17 +7019,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}
@@ -7298,17 +7037,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
 		}
 	},
@@ -7316,17 +7053,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}
@@ -7336,17 +7071,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
 		}
 	},
@@ -7354,17 +7087,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,
@@ -7375,17 +7106,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
 		}
 	},
@@ -7393,17 +7122,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
 		}
 	},
@@ -7411,17 +7138,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
 		}
 	},
@@ -7429,17 +7154,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}
@@ -7449,15 +7172,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
 		}
 	},
@@ -7465,15 +7186,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
 		}
 	},
@@ -7481,15 +7200,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
 		}
 	},
@@ -7497,17 +7214,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
 		}
 	},
@@ -7515,15 +7230,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
 		}
 	},
@@ -7531,15 +7244,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
 		}
 	},
@@ -7547,15 +7258,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
 		}
 	},
@@ -7563,17 +7272,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
 		}
 	},
@@ -7581,15 +7288,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
 		}
 	},
@@ -7597,15 +7302,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
 		}
 	},
@@ -7613,15 +7316,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
 		}
 	},
@@ -7629,15 +7330,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
 		}
 	},
@@ -7645,15 +7344,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
 		}
 	},
@@ -7661,17 +7358,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
 		}
 	},
@@ -7679,15 +7374,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
 		}
 	},
@@ -7695,15 +7388,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
 		}
 	},
@@ -7711,15 +7402,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
 		}
 	},
@@ -7727,15 +7416,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
 		}
 	},
@@ -7743,17 +7430,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
 		}
 	},
@@ -7761,15 +7446,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
 		}
 	},
@@ -7777,15 +7460,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
 		}
 	},
@@ -7793,26 +7474,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_SMAC >> 8) & 0xff,
 			BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 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}
 		}
@@ -7821,15 +7501,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
 		}
 	},
@@ -7837,15 +7515,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
 		}
 	},
@@ -7853,15 +7529,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
 		}
 	},
@@ -7869,15 +7543,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
 		}
 	},
@@ -7885,8 +7557,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}
@@ -7894,8 +7565,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}
@@ -7906,17 +7576,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
 		}
 	},
@@ -7924,26 +7592,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_SMAC >> 8) & 0xff,
 			BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 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}
 		}
@@ -7952,17 +7619,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,
@@ -7974,15 +7639,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
 		}
 	},
@@ -7990,15 +7653,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
 		}
 	},
@@ -8006,9 +7667,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}
@@ -8016,25 +7676,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}
@@ -8042,136 +7701,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_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_mask = {
 		.description = "l3.src",
 		.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_SRC_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_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_SRC_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
 		},
 	.field_info_spec = {
 		.description = "l3.src",
 		.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_SRC_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_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_SRC_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
 		}
 	},
 	{
 	.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_FIELD_BIT,
-		.field_cond_opr = {
-			(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
+		.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,
-			BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 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_FIELD_BIT,
-		.field_cond_opr = {
-			(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
+		.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,
-			BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 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_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff,
 			0xff}
@@ -8179,8 +7810,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr1 = {
 			(BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
@@ -8191,17 +7821,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
 		.description = "em_profile_id",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_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_EM_PROFILE_ID_0 >> 8) & 0xff,
@@ -8213,15 +7841,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "spare",
 		.field_bit_size = 275,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_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 = 275,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -8229,15 +7855,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
 		}
 	},
@@ -8245,9 +7869,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}
@@ -8255,25 +7878,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}
@@ -8281,136 +7903,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_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_mask = {
 		.description = "l3.src",
 		.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_SRC_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_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_SRC_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
 		},
 	.field_info_spec = {
 		.description = "l3.src",
 		.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_SRC_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_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_SRC_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
 		}
 	},
 	{
 	.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_FIELD_BIT,
-		.field_cond_opr = {
-			(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
+		.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,
-			BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 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_FIELD_BIT,
-		.field_cond_opr = {
-			(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
+		.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,
-			BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 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_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff,
 			0xff}
@@ -8418,8 +8012,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr1 = {
 			(BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
@@ -8430,17 +8023,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
 		.description = "em_profile_id",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_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_EM_PROFILE_ID_0 >> 8) & 0xff,
@@ -8452,15 +8043,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
 		}
 	},
@@ -8468,15 +8057,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
 		}
 	},
@@ -8484,9 +8071,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}
@@ -8494,25 +8080,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}
@@ -8520,112 +8105,93 @@ 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_IPV6_PROTO_ID >> 8) & 0xff,
+			BNXT_ULP_GLB_HF_ID_O_IPV6_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 = 128,
-		.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_IPV6_DST_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV6_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_IPV6_DST_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}
 		},
 	.field_info_spec = {
 		.description = "l3.dst",
 		.field_bit_size = 128,
-		.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_IPV6_DST_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV6_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_IPV6_DST_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
 		.description = "l3.src",
 		.field_bit_size = 128,
-		.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_IPV6_SRC_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr1 = {
 			(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}
 		},
 	.field_info_spec = {
 		.description = "l3.src",
 		.field_bit_size = 128,
-		.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_IPV6_SRC_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr1 = {
 			(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}
 		}
 	},
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "l2.smac",
 		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -8633,39 +8199,28 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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_FIELD_BIT,
-		.field_cond_opr = {
-			(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
+		.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,
-			BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 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_FIELD_BIT,
-		.field_cond_opr = {
-			(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
+		.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,
-			BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 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_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff,
 			0xff}
@@ -8673,8 +8228,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr1 = {
 			(BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
@@ -8685,17 +8239,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
 		.description = "em_profile_id",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_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_EM_PROFILE_ID_0 >> 8) & 0xff,
@@ -8707,15 +8259,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "spare",
 		.field_bit_size = 35,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_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 = 35,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -8723,15 +8273,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
 		}
 	},
@@ -8739,9 +8287,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}
@@ -8749,25 +8296,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}
@@ -8775,112 +8321,93 @@ 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_IPV6_PROTO_ID >> 8) & 0xff,
+			BNXT_ULP_GLB_HF_ID_O_IPV6_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 = 128,
-		.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_IPV6_DST_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV6_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_IPV6_DST_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}
 		},
 	.field_info_spec = {
 		.description = "l3.dst",
 		.field_bit_size = 128,
-		.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_IPV6_DST_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV6_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_IPV6_DST_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
 		.description = "l3.src",
 		.field_bit_size = 128,
-		.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_IPV6_SRC_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr1 = {
 			(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}
 		},
 	.field_info_spec = {
 		.description = "l3.src",
 		.field_bit_size = 128,
-		.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_IPV6_SRC_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr1 = {
 			(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}
 		}
 	},
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "l2.smac",
 		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -8888,39 +8415,28 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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_FIELD_BIT,
-		.field_cond_opr = {
-			(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
+		.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,
-			BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 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_FIELD_BIT,
-		.field_cond_opr = {
-			(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-			BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
+		.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,
-			BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO
+			BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 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_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff,
 			0xff}
@@ -8928,8 +8444,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr1 = {
 			(BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
@@ -8940,61 +8455,35 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
 		.description = "em_profile_id",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_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_EM_PROFILE_ID_0 >> 8) & 0xff,
 			BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
 		}
 	},
-	/* class_tid: 3, wh_plus, table: port_table.wr */
-	{
-	.field_info_mask = {
-		.description = "dev.port_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 = "dev.port_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_DEV_PORT_ID >> 8) & 0xff,
-			BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
-		}
-	},
 	/* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.ing_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_CONST,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
 		.description = "svif",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_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_PHY_PORT_SVIF >> 8) & 0xff,
@@ -9006,15 +8495,13 @@ 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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "l2_ivlan_vid",
 		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -9022,15 +8509,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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
 		}
 	},
@@ -9038,15 +8523,13 @@ 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_ZERO
 		},
 	.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_ZERO
 		}
 	},
@@ -9054,17 +8537,15 @@ 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_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 = "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_CF,
 		.field_opr1 = {
 			(BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff,
@@ -9075,15 +8556,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
 		}
 	},
@@ -9091,15 +8570,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
 		}
 	},
@@ -9107,15 +8584,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
 		}
 	},
@@ -9123,15 +8598,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
 		}
 	},
@@ -9139,15 +8612,13 @@ 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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.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_ZERO
 		}
 	},
@@ -9155,15 +8626,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
 		}
 	},
@@ -9171,15 +8640,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
 		}
 	},
@@ -9187,15 +8654,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
 		}
 	},
@@ -9203,8 +8668,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}
@@ -9212,8 +8676,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}
@@ -9224,17 +8687,15 @@ 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_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 = "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_CF,
 		.field_opr1 = {
 			(BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff,
@@ -9246,17 +8707,15 @@ 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_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 = "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_CF,
 		.field_opr1 = {
 			(BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
@@ -9268,15 +8727,13 @@ 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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "l2_ivlan_vid",
 		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -9284,15 +8741,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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
 		}
 	},
@@ -9300,15 +8755,13 @@ 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_ZERO
 		},
 	.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_ZERO
 		}
 	},
@@ -9316,17 +8769,15 @@ 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_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 = "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_CF,
 		.field_opr1 = {
 			(BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
@@ -9337,15 +8788,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
 		}
 	},
@@ -9353,15 +8802,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
 		}
 	},
@@ -9369,15 +8816,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
 		}
 	},
@@ -9385,15 +8830,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
 		}
 	},
@@ -9401,15 +8844,13 @@ 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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.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_ZERO
 		}
 	},
@@ -9417,15 +8858,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
 		}
 	},
@@ -9433,15 +8872,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
 		}
 	},
@@ -9449,15 +8886,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
 		}
 	},
@@ -9465,8 +8900,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}
@@ -9474,8 +8908,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}
@@ -9486,17 +8919,15 @@ 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_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 = "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_CF,
 		.field_opr1 = {
 			(BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
@@ -9508,17 +8939,15 @@ 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_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 = "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_CF,
 		.field_opr1 = {
 			(BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
@@ -9530,15 +8959,13 @@ 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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "l2_ivlan_vid",
 		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -9546,15 +8973,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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
 		}
 	},
@@ -9562,15 +8987,13 @@ 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_ZERO
 		},
 	.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_ZERO
 		}
 	},
@@ -9578,17 +9001,15 @@ 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_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 = "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_CF,
 		.field_opr1 = {
 			(BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
@@ -9599,15 +9020,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
 		}
 	},
@@ -9615,15 +9034,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
 		}
 	},
@@ -9631,15 +9048,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
 		}
 	},
@@ -9647,15 +9062,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
 		}
 	},
@@ -9663,15 +9076,13 @@ 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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.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_ZERO
 		}
 	},
@@ -9679,15 +9090,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
 		}
 	},
@@ -9695,15 +9104,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
 		}
 	},
@@ -9711,15 +9118,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
 		}
 	},
@@ -9727,8 +9132,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}
@@ -9736,8 +9140,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}
@@ -9748,17 +9151,15 @@ 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_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 = "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_CF,
 		.field_opr1 = {
 			(BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
@@ -9770,17 +9171,15 @@ 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_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 = "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_CF,
 		.field_opr1 = {
 			(BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff,
@@ -9792,15 +9191,13 @@ 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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "l2_ivlan_vid",
 		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -9808,15 +9205,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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
 		}
 	},
@@ -9824,15 +9219,13 @@ 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_ZERO
 		},
 	.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_ZERO
 		}
 	},
@@ -9840,17 +9233,15 @@ 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_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 = "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_CF,
 		.field_opr1 = {
 			(BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff,
@@ -9861,15 +9252,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
 		}
 	},
@@ -9877,15 +9266,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
 		}
 	},
@@ -9893,15 +9280,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
 		}
 	},
@@ -9909,15 +9294,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
 		}
 	},
@@ -9925,15 +9308,13 @@ 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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.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_ZERO
 		}
 	},
@@ -9941,15 +9322,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
 		}
 	},
@@ -9957,15 +9336,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
 		}
 	},
@@ -9973,15 +9350,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
 		}
 	},
@@ -9989,8 +9364,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}
@@ -9998,8 +9372,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}
@@ -10010,17 +9383,15 @@ 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_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 = "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_CF,
 		.field_opr1 = {
 			(BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff,
@@ -10032,15 +9403,13 @@ 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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "l2_ivlan_vid",
 		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -10048,15 +9417,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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
 		}
 	},
@@ -10064,15 +9431,13 @@ 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_ZERO
 		},
 	.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_ZERO
 		}
 	},
@@ -10080,17 +9445,15 @@ 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_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 = "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_CF,
 		.field_opr1 = {
 			(BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff,
@@ -10101,15 +9464,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
 		}
 	},
@@ -10117,15 +9478,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
 		}
 	},
@@ -10133,15 +9492,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
 		}
 	},
@@ -10149,15 +9506,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
 		}
 	},
@@ -10165,15 +9520,13 @@ 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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.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_ZERO
 		}
 	},
@@ -10181,15 +9534,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
 		}
 	},
@@ -10197,15 +9548,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
 		}
 	},
@@ -10213,15 +9562,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
 		}
 	},
@@ -10229,8 +9576,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}
@@ -10238,8 +9584,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}
@@ -10250,17 +9595,15 @@ 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_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 = "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_CF,
 		.field_opr1 = {
 			(BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
@@ -10272,15 +9615,13 @@ 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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "l2_ivlan_vid",
 		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -10288,15 +9629,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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
 		}
 	},
@@ -10304,15 +9643,13 @@ 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_ZERO
 		},
 	.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_ZERO
 		}
 	},
@@ -10320,17 +9657,15 @@ 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_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 = "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_CF,
 		.field_opr1 = {
 			(BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
@@ -10341,15 +9676,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
 		}
 	},
@@ -10357,15 +9690,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
 		}
 	},
@@ -10373,15 +9704,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
 		}
 	},
@@ -10389,15 +9718,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
 		}
 	},
@@ -10405,15 +9732,13 @@ 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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.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_ZERO
 		}
 	},
@@ -10421,15 +9746,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
 		}
 	},
@@ -10437,15 +9760,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
 		}
 	},
@@ -10453,15 +9774,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
 		}
 	},
@@ -10469,8 +9788,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}
@@ -10478,8 +9796,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}
@@ -10490,17 +9807,15 @@ 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_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 = "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_CF,
 		.field_opr1 = {
 			(BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
@@ -10512,15 +9827,13 @@ 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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "l2_ivlan_vid",
 		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-		.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
@@ -10528,9 +9841,8 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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_CONST,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff,
 			0xff}
@@ -10538,8 +9850,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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_CF,
 		.field_opr1 = {
 			(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
@@ -10550,15 +9861,13 @@ 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_ZERO
 		},
 	.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_ZERO
 		}
 	},
@@ -10566,17 +9875,15 @@ 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_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 = "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_CF,
 		.field_opr1 = {
 			(BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
@@ -10587,15 +9894,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
 		}
 	},
@@ -10603,15 +9908,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
 		}
 	},
@@ -10619,15 +9922,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
 		}
 	},
@@ -10635,15 +9936,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
 		}
 	},
@@ -10651,17 +9950,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_CONST,
 		.field_opr1 = {
 			2}
@@ -10671,15 +9968,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
 		}
 	},
@@ -10687,17 +9982,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_CONST,
 		.field_opr1 = {
 			ULP_WP_SYM_TUN_HDR_TYPE_NONE}
@@ -10707,15 +10000,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
 		}
 	},
@@ -10723,8 +10014,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}
@@ -10732,8 +10022,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}
@@ -10744,9 +10033,8 @@ 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_CONST,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff,
 			0xff}
@@ -10754,8 +10042,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
 			(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
@@ -10766,15 +10053,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
 	.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
 		}
 	},
@@ -10782,15 +10067,13 @@ 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_ZERO
 		},
 	.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_ZERO
 		}
 	},
@@ -10798,17 +10081,15 @@ 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_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 = "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_CF,
 		.field_opr1 = {
 			(BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
@@ -10819,15 +10100,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
 		}
 	},
@@ -10835,15 +10114,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
 		}
 	},
@@ -10851,15 +10128,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
 		}
 	},
@@ -10867,15 +10142,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
 		}
 	},
@@ -10883,17 +10156,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_CONST,
 		.field_opr1 = {
 			1}
@@ -10903,15 +10174,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
 		}
 	},
@@ -10919,17 +10188,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_CONST,
 		.field_opr1 = {
 			ULP_WP_SYM_TUN_HDR_TYPE_NONE}
@@ -10939,15 +10206,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
 		}
 	},
@@ -10955,8 +10220,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}
@@ -10964,8 +10228,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}
@@ -10978,8 +10241,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
@@ -10988,8 +10250,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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,
@@ -10998,15 +10259,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "l2_byp_lkup_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 = "parif",
 	.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_CF,
 	.field_opr1 = {
 		(BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,
@@ -11015,50 +10274,43 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "allowed_pri",
 	.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 = "default_pri",
 	.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 = "allowed_tpid",
 	.field_bit_size = 6,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "default_tpid",
 	.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 = "bd_act_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 = "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 = "byp_sp_lkup",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_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}
@@ -11066,23 +10318,20 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "pri_anti_spoof_ctl",
 	.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 = "tpid_anti_spoof_ctl",
 	.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
 	},
 	/* class_tid: 1, wh_plus, 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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
@@ -11091,18 +10340,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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}
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
@@ -11111,37 +10355,32 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	/* class_tid: 1, wh_plus, table: profile_tcam.ipv4 */
 	{
 	.description = "wc_key_id",
 	.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 = "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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "wc_search_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 = "em_key_mask.0",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_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}
@@ -11149,8 +10388,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "em_key_mask.1",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
 	.field_opr1 = {
 		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
@@ -11159,8 +10397,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "em_key_mask.2",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
 	.field_opr1 = {
 		(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
@@ -11169,8 +10406,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "em_key_mask.3",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
 	.field_opr1 = {
 		(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
@@ -11179,59 +10415,68 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "em_key_mask.4",
 	.field_bit_size = 1,
-	.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_FIELD_BIT,
 	.field_opr1 = {
-		(BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID & 0xff}
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}
 	},
 	{
 	.description = "em_key_mask.5",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 	.field_opr1 = {
-		(BNXT_ULP_CF_IDX_O_L4_FB_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_O_L4_FB_SRC_PORT & 0xff}
+		(BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_O_L4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
+	.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
+	.field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
+	.field_opr3 = {
+		(BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}
 	},
 	{
 	.description = "em_key_mask.6",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 	.field_opr1 = {
-		(BNXT_ULP_CF_IDX_O_L4_FB_DST_PORT >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_O_L4_FB_DST_PORT & 0xff}
+		(BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_O_L4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
+	.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
+	.field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
+	.field_opr3 = {
+		(BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}
 	},
 	{
 	.description = "em_key_mask.7",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.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_mask.8",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.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_mask.9",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.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 = 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_CONST,
 	.field_opr1 = {
 		3}
@@ -11239,8 +10484,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
@@ -11249,8 +10493,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "em_search_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}
@@ -11258,37 +10501,32 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "pl_byp_lkup_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
 	},
 	/* class_tid: 1, wh_plus, table: profile_tcam.ipv6 */
 	{
 	.description = "wc_key_id",
 	.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 = "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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "wc_search_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 = "em_key_mask.0",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_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}
@@ -11296,15 +10534,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "em_key_mask.1",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.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_mask.2",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
 	.field_opr1 = {
 		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
@@ -11313,8 +10549,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "em_key_mask.3",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
 	.field_opr1 = {
 		(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
@@ -11323,8 +10558,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "em_key_mask.4",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
 	.field_opr1 = {
 		(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
@@ -11333,52 +10567,62 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "em_key_mask.5",
 	.field_bit_size = 1,
-	.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_FIELD_BIT,
 	.field_opr1 = {
-		(BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID & 0xff}
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}
 	},
 	{
 	.description = "em_key_mask.6",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 	.field_opr1 = {
-		(BNXT_ULP_CF_IDX_O_L4_FB_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_O_L4_FB_SRC_PORT & 0xff}
+		(BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_O_L4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
+	.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
+	.field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
+	.field_opr3 = {
+		(BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}
 	},
 	{
 	.description = "em_key_mask.7",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 	.field_opr1 = {
-		(BNXT_ULP_CF_IDX_O_L4_FB_DST_PORT >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_O_L4_FB_DST_PORT & 0xff}
+		(BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_O_L4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
+	.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
+	.field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
+	.field_opr3 = {
+		(BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}
 	},
 	{
 	.description = "em_key_mask.8",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.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_mask.9",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.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 = 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_CONST,
 	.field_opr1 = {
 		7}
@@ -11386,8 +10630,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
@@ -11396,8 +10639,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "em_search_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}
@@ -11405,37 +10647,32 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "pl_byp_lkup_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
 	},
-	/* class_tid: 1, wh_plus, table: profile_tcam.vxlan */
+	/* class_tid: 1, wh_plus, table: profile_tcam.ipv4_vxlan */
 	{
 	.description = "wc_key_id",
 	.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 = "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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "wc_search_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 = "em_key_mask.0",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_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}
@@ -11443,29 +10680,25 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "em_key_mask.1",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.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_mask.2",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.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_mask.3",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.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_mask.4",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_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}
@@ -11473,43 +10706,41 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "em_key_mask.5",
 	.field_bit_size = 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}
 	},
 	{
 	.description = "em_key_mask.6",
 	.field_bit_size = 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}
 	},
 	{
 	.description = "em_key_mask.7",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.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_mask.8",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.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_mask.9",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.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 = 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_CONST,
 	.field_opr1 = {
 		20}
@@ -11517,8 +10748,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
@@ -11527,8 +10757,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "em_search_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}
@@ -11536,16 +10765,14 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "pl_byp_lkup_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
 	},
 	/* class_tid: 1, wh_plus, 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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
@@ -11554,8 +10781,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 >> 8) & 0xff,
@@ -11564,8 +10790,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
@@ -11574,15 +10799,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "flow_sig_id",
 	.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_CF,
 	.field_opr1 = {
 		(BNXT_ULP_CF_IDX_FLOW_SIG_ID >> 8) & 0xff,
@@ -11592,8 +10815,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "act_rec_ptr",
 	.field_bit_size = 33,
-	.field_opc = BNXT_ULP_FIELD_OPC_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,
@@ -11602,43 +10824,37 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "ext_flow_cntr",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "act_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 = "act_rec_size",
 	.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 = "key_size",
 	.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
 	},
 	{
 	.description = "reserved",
 	.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 = "strength",
 	.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_CONST,
 	.field_opr1 = {
 		3}
@@ -11646,15 +10862,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "l1_cacheable",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.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}
@@ -11663,8 +10877,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "act_rec_ptr",
 	.field_bit_size = 33,
-	.field_opc = BNXT_ULP_FIELD_OPC_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,
@@ -11673,22 +10886,19 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "ext_flow_cntr",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "act_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 = "act_rec_size",
 	.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_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_ACTION_REC_SIZE >> 8) & 0xff,
@@ -11697,8 +10907,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "key_size",
 	.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_CONST,
 	.field_opr1 = {
 		(173 >> 8) & 0xff,
@@ -11707,15 +10916,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "reserved",
 	.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 = "strength",
 	.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_CONST,
 	.field_opr1 = {
 		3}
@@ -11723,15 +10930,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "l1_cacheable",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.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}
@@ -11740,8 +10945,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "act_rec_ptr",
 	.field_bit_size = 33,
-	.field_opc = BNXT_ULP_FIELD_OPC_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,
@@ -11750,43 +10954,37 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "ext_flow_cntr",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "act_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 = "act_rec_size",
 	.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 = "key_size",
 	.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
 	},
 	{
 	.description = "reserved",
 	.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 = "strength",
 	.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_CONST,
 	.field_opr1 = {
 		3}
@@ -11794,15 +10992,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "l1_cacheable",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.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}
@@ -11811,8 +11007,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "act_rec_ptr",
 	.field_bit_size = 33,
-	.field_opc = BNXT_ULP_FIELD_OPC_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,
@@ -11821,22 +11016,19 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "ext_flow_cntr",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "act_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 = "act_rec_size",
 	.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_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_ACTION_REC_SIZE >> 8) & 0xff,
@@ -11845,8 +11037,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "key_size",
 	.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_CONST,
 	.field_opr1 = {
 		(413 >> 8) & 0xff,
@@ -11855,15 +11046,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "reserved",
 	.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 = "strength",
 	.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_CONST,
 	.field_opr1 = {
 		3}
@@ -11871,15 +11060,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "l1_cacheable",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.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}
@@ -11888,8 +11075,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "act_rec_ptr",
 	.field_bit_size = 33,
-	.field_opc = BNXT_ULP_FIELD_OPC_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,
@@ -11898,43 +11084,37 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "ext_flow_cntr",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "act_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 = "act_rec_size",
 	.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 = "key_size",
 	.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
 	},
 	{
 	.description = "reserved",
 	.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 = "strength",
 	.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_CONST,
 	.field_opr1 = {
 		3}
@@ -11942,15 +11122,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "l1_cacheable",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.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}
@@ -11959,8 +11137,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "act_rec_ptr",
 	.field_bit_size = 33,
-	.field_opc = BNXT_ULP_FIELD_OPC_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,
@@ -11969,22 +11146,19 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "ext_flow_cntr",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "act_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 = "act_rec_size",
 	.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_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_ACTION_REC_SIZE >> 8) & 0xff,
@@ -11993,8 +11167,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "key_size",
 	.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_CONST,
 	.field_opr1 = {
 		(197 >> 8) & 0xff,
@@ -12003,15 +11176,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "reserved",
 	.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 = "strength",
 	.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_CONST,
 	.field_opr1 = {
 		3}
@@ -12019,15 +11190,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "l1_cacheable",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.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}
@@ -12036,8 +11205,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
@@ -12046,8 +11214,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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,
@@ -12056,66 +11223,59 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "l2_byp_lkup_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 = "parif",
 	.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_MATCH_PORT_IS_VFREP >> 8) & 0xff,
 		BNXT_ULP_CF_IDX_MATCH_PORT_IS_VFREP & 0xff},
-	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr1 = {
-		ULP_WP_SYM_LOOPBACK_PARIF},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CF,
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
+		ULP_WP_SYM_LOOPBACK_PARIF},
+	.field_src3 = BNXT_ULP_FIELD_SRC_CF,
+	.field_opr3 = {
 		(BNXT_ULP_CF_IDX_DRV_FUNC_PARIF >> 8) & 0xff,
 		BNXT_ULP_CF_IDX_DRV_FUNC_PARIF & 0xff}
 	},
 	{
 	.description = "allowed_pri",
 	.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 = "default_pri",
 	.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 = "allowed_tpid",
 	.field_bit_size = 6,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "default_tpid",
 	.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 = "bd_act_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 = "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_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_MAIN_SP_PTR >> 8) & 0xff,
@@ -12124,8 +11284,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "byp_sp_lkup",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_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}
@@ -12133,23 +11292,20 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "pri_anti_spoof_ctl",
 	.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 = "tpid_anti_spoof_ctl",
 	.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
 	},
 	/* class_tid: 2, wh_plus, 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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
@@ -12158,8 +11314,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff,
@@ -12168,8 +11323,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
@@ -12178,37 +11332,32 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	/* class_tid: 2, wh_plus, table: profile_tcam.ipv4 */
 	{
 	.description = "wc_key_id",
 	.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 = "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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "wc_search_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 = "em_key_mask.0",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_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}
@@ -12216,8 +11365,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "em_key_mask.1",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
 	.field_opr1 = {
 		(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
@@ -12226,8 +11374,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "em_key_mask.2",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
 	.field_opr1 = {
 		(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
@@ -12236,8 +11383,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "em_key_mask.3",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
 	.field_opr1 = {
 		(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
@@ -12246,59 +11392,68 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "em_key_mask.4",
 	.field_bit_size = 1,
-	.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_FIELD_BIT,
 	.field_opr1 = {
-		(BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID & 0xff}
+		(BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}
 	},
 	{
 	.description = "em_key_mask.5",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 	.field_opr1 = {
-		(BNXT_ULP_CF_IDX_O_L4_FB_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_O_L4_FB_SRC_PORT & 0xff}
+		(BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_O_L4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
+	.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
+	.field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
+	.field_opr3 = {
+		(BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}
 	},
 	{
 	.description = "em_key_mask.6",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 	.field_opr1 = {
-		(BNXT_ULP_CF_IDX_O_L4_FB_DST_PORT >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_O_L4_FB_DST_PORT & 0xff}
+		(BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_O_L4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
+	.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
+	.field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
+	.field_opr3 = {
+		(BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}
 	},
 	{
 	.description = "em_key_mask.7",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.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_mask.8",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.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_mask.9",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.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 = 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_CONST,
 	.field_opr1 = {
 		4}
@@ -12306,8 +11461,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
@@ -12316,8 +11470,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "em_search_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}
@@ -12325,37 +11478,32 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "pl_byp_lkup_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
 	},
 	/* class_tid: 2, wh_plus, table: profile_tcam.ipv6 */
 	{
 	.description = "wc_key_id",
 	.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 = "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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "wc_search_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 = "em_key_mask.0",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_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}
@@ -12363,8 +11511,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "em_key_mask.1",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
 	.field_opr1 = {
 		(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
@@ -12373,15 +11520,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "em_key_mask.2",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.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_mask.3",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
 	.field_opr1 = {
 		(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
@@ -12390,8 +11535,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "em_key_mask.4",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
 	.field_opr1 = {
 		(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
@@ -12400,52 +11544,62 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "em_key_mask.5",
 	.field_bit_size = 1,
-	.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_FIELD_BIT,
 	.field_opr1 = {
-		(BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID & 0xff}
+		(BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}
 	},
 	{
 	.description = "em_key_mask.6",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 	.field_opr1 = {
-		(BNXT_ULP_CF_IDX_O_L4_FB_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_O_L4_FB_SRC_PORT & 0xff}
+		(BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_O_L4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
+	.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
+	.field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
+	.field_opr3 = {
+		(BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}
 	},
 	{
 	.description = "em_key_mask.7",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3,
 	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 	.field_opr1 = {
-		(BNXT_ULP_CF_IDX_O_L4_FB_DST_PORT >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_O_L4_FB_DST_PORT & 0xff}
+		(BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_O_L4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
+	.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
+	.field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
+	.field_opr3 = {
+		(BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}
 	},
 	{
 	.description = "em_key_mask.8",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.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_mask.9",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.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 = 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_CONST,
 	.field_opr1 = {
 		7}
@@ -12453,8 +11607,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
@@ -12463,8 +11616,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "em_search_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}
@@ -12472,16 +11624,14 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "pl_byp_lkup_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
 	},
 	/* class_tid: 2, wh_plus, 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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
@@ -12490,8 +11640,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 >> 8) & 0xff,
@@ -12500,8 +11649,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
@@ -12510,15 +11658,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "flow_sig_id",
 	.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_CF,
 	.field_opr1 = {
 		(BNXT_ULP_CF_IDX_FLOW_SIG_ID >> 8) & 0xff,
@@ -12528,8 +11674,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "act_rec_ptr",
 	.field_bit_size = 33,
-	.field_opc = BNXT_ULP_FIELD_OPC_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,
@@ -12538,43 +11683,37 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "ext_flow_cntr",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "act_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 = "act_rec_size",
 	.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 = "key_size",
 	.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
 	},
 	{
 	.description = "reserved",
 	.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 = "strength",
 	.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_CONST,
 	.field_opr1 = {
 		3}
@@ -12582,15 +11721,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "l1_cacheable",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.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}
@@ -12599,8 +11736,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "act_rec_ptr",
 	.field_bit_size = 33,
-	.field_opc = BNXT_ULP_FIELD_OPC_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,
@@ -12609,22 +11745,19 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "ext_flow_cntr",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "act_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 = "act_rec_size",
 	.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_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_ACTION_REC_SIZE >> 8) & 0xff,
@@ -12633,8 +11766,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "key_size",
 	.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_CONST,
 	.field_opr1 = {
 		(173 >> 8) & 0xff,
@@ -12643,15 +11775,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "reserved",
 	.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 = "strength",
 	.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_CONST,
 	.field_opr1 = {
 		3}
@@ -12659,15 +11789,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "l1_cacheable",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.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}
@@ -12676,8 +11804,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "act_rec_ptr",
 	.field_bit_size = 33,
-	.field_opc = BNXT_ULP_FIELD_OPC_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,
@@ -12686,43 +11813,37 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "ext_flow_cntr",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "act_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 = "act_rec_size",
 	.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 = "key_size",
 	.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
 	},
 	{
 	.description = "reserved",
 	.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 = "strength",
 	.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_CONST,
 	.field_opr1 = {
 		3}
@@ -12730,15 +11851,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "l1_cacheable",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.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}
@@ -12747,8 +11866,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "act_rec_ptr",
 	.field_bit_size = 33,
-	.field_opc = BNXT_ULP_FIELD_OPC_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,
@@ -12757,22 +11875,19 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "ext_flow_cntr",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "act_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 = "act_rec_size",
 	.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_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_ACTION_REC_SIZE >> 8) & 0xff,
@@ -12781,8 +11896,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "key_size",
 	.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_CONST,
 	.field_opr1 = {
 		(413 >> 8) & 0xff,
@@ -12791,15 +11905,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "reserved",
 	.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 = "strength",
 	.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_CONST,
 	.field_opr1 = {
 		3}
@@ -12807,200 +11919,136 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "l1_cacheable",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.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: 3, wh_plus, table: port_table.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_ZERO
-	},
-	{
-	.description = "drv_func.mac",
-	.field_bit_size = 48,
-	.field_opc = BNXT_ULP_FIELD_OPC_PORT_TABLE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
-	.field_opr1 = {
-		(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff},
-	.field_opr2 = {
-		(BNXT_ULP_PORT_TABLE_DRV_FUNC_MAC >> 8) & 0xff,
-		BNXT_ULP_PORT_TABLE_DRV_FUNC_MAC & 0xff}
-	},
-	{
-	.description = "drv_func.parent.mac",
-	.field_bit_size = 48,
-	.field_opc = BNXT_ULP_FIELD_OPC_PORT_TABLE,
-	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
-	.field_opr1 = {
-		(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff},
-	.field_opr2 = {
-		(BNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_MAC >> 8) & 0xff,
-		BNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_MAC & 0xff}
-	},
-	{
-	.description = "default_arec_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_DEFAULT_AREC_PTR >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff}
-	},
 	/* class_tid: 3, wh_plus, table: int_full_act_record.ing_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_ZERO
 	},
 	{
 	.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_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 = "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_CF,
 	.field_opr1 = {
 		(BNXT_ULP_CF_IDX_DRV_FUNC_VNIC >> 8) & 0xff,
@@ -13009,51 +12057,44 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_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
 	},
 	/* class_tid: 3, wh_plus, table: l2_cntxt_tcam.ing_0 */
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
@@ -13062,8 +12103,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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_GLB_PROF_FUNC_ID >> 8) & 0xff,
@@ -13072,15 +12112,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "l2_byp_lkup_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 = "parif",
 	.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_CF,
 	.field_opr1 = {
 		(BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,
@@ -13089,50 +12127,43 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "allowed_pri",
 	.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 = "default_pri",
 	.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 = "allowed_tpid",
 	.field_bit_size = 6,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "default_tpid",
 	.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 = "bd_act_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 = "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 = "byp_sp_lkup",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_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}
@@ -13140,23 +12171,20 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "pri_anti_spoof_ctl",
 	.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 = "tpid_anti_spoof_ctl",
 	.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
 	},
 	/* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.ing_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,
@@ -13165,8 +12193,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff,
@@ -13175,8 +12202,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
@@ -13185,16 +12211,14 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	/* class_tid: 3, wh_plus, table: parif_def_lkup_arec_ptr.ing_0 */
 	{
 	.description = "act_rec_ptr",
 	.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_MAIN_ACTION_PTR >> 8) & 0xff,
@@ -13204,8 +12228,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "act_rec_ptr",
 	.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_MAIN_ACTION_PTR >> 8) & 0xff,
@@ -13215,8 +12238,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "act_rec_ptr",
 	.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_MAIN_ACTION_PTR >> 8) & 0xff,
@@ -13226,141 +12248,121 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_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_ZERO
 	},
 	{
 	.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_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 = "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_CF,
 	.field_opr1 = {
 		(BNXT_ULP_CF_IDX_PHY_PORT_VPORT >> 8) & 0xff,
@@ -13369,65 +12371,56 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_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
 	},
 	/* class_tid: 3, wh_plus, table: l2_cntxt_tcam_bypass.egr_vfr */
 	{
 	.description = "act_record_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 = "reserved",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.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_byp_lkup_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}
@@ -13435,8 +12428,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "parif",
 	.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_CF,
 	.field_opr1 = {
 		(BNXT_ULP_CF_IDX_DRV_FUNC_PARIF >> 8) & 0xff,
@@ -13445,36 +12437,31 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "allowed_pri",
 	.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 = "default_pri",
 	.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 = "allowed_tpid",
 	.field_bit_size = 6,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "default_tpid",
 	.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 = "bd_act_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}
@@ -13482,15 +12469,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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 = "byp_sp_lkup",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_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}
@@ -13498,23 +12483,20 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "pri_anti_spoof_ctl",
 	.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 = "tpid_anti_spoof_ctl",
 	.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
 	},
 	/* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.egr_wr_vfr */
 	{
 	.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,
@@ -13523,8 +12505,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff,
@@ -13533,23 +12514,20 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	/* class_tid: 3, wh_plus, table: l2_cntxt_tcam.egr_0 */
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
@@ -13558,8 +12536,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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_GLB_PROF_FUNC_ID >> 8) & 0xff,
@@ -13568,15 +12545,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "l2_byp_lkup_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 = "parif",
 	.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_CF,
 	.field_opr1 = {
 		(BNXT_ULP_CF_IDX_DRV_FUNC_PARIF >> 8) & 0xff,
@@ -13585,50 +12560,43 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "allowed_pri",
 	.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 = "default_pri",
 	.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 = "allowed_tpid",
 	.field_bit_size = 6,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "default_tpid",
 	.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 = "bd_act_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 = "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 = "byp_sp_lkup",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_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}
@@ -13636,23 +12604,20 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "pri_anti_spoof_ctl",
 	.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 = "tpid_anti_spoof_ctl",
 	.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
 	},
 	/* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.egr_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,
@@ -13661,8 +12626,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff,
@@ -13671,8 +12635,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
@@ -13681,149 +12644,128 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	/* class_tid: 3, wh_plus, table: int_full_act_record.egr_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_ZERO
 	},
 	{
 	.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_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 = "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_CF,
 	.field_opr1 = {
 		(BNXT_ULP_CF_IDX_PHY_PORT_VPORT >> 8) & 0xff,
@@ -13832,51 +12774,44 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_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
 	},
 	/* class_tid: 3, wh_plus, table: parif_def_lkup_arec_ptr.egr_0 */
 	{
 	.description = "act_rec_ptr",
 	.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_MAIN_ACTION_PTR >> 8) & 0xff,
@@ -13886,8 +12821,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "act_rec_ptr",
 	.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_MAIN_ACTION_PTR >> 8) & 0xff,
@@ -13897,8 +12831,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "act_rec_ptr",
 	.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_MAIN_ACTION_PTR >> 8) & 0xff,
@@ -13908,141 +12841,121 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_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_ZERO
 	},
 	{
 	.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_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 = "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_CONST,
 	.field_opr1 = {
 		(ULP_WP_SYM_LOOPBACK_PORT >> 8) & 0xff,
@@ -14051,51 +12964,44 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_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
 	},
 	/* class_tid: 4, wh_plus, table: l2_cntxt_tcam.vf_egr */
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
@@ -14104,8 +13010,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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_GLB_PROF_FUNC_ID >> 8) & 0xff,
@@ -14114,15 +13019,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "l2_byp_lkup_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 = "parif",
 	.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_LOOPBACK_PARIF}
@@ -14130,50 +13033,43 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "allowed_pri",
 	.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 = "default_pri",
 	.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 = "allowed_tpid",
 	.field_bit_size = 6,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "default_tpid",
 	.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 = "bd_act_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 = "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 = "byp_sp_lkup",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_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}
@@ -14181,23 +13077,20 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "pri_anti_spoof_ctl",
 	.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 = "tpid_anti_spoof_ctl",
 	.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
 	},
 	/* class_tid: 4, wh_plus, table: l2_cntxt_tcam_cache.vf_egr_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,
@@ -14206,8 +13099,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff,
@@ -14216,8 +13108,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
@@ -14226,16 +13117,14 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	/* class_tid: 4, wh_plus, table: parif_def_lkup_arec_ptr.vf_egr */
 	{
 	.description = "act_rec_ptr",
 	.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_GLB_RF,
 	.field_opr1 = {
 		(BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR >> 8) & 0xff,
@@ -14245,8 +13134,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "act_rec_ptr",
 	.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_GLB_RF,
 	.field_opr1 = {
 		(BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR >> 8) & 0xff,
@@ -14256,8 +13144,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "act_rec_ptr",
 	.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_GLB_RF,
 	.field_opr1 = {
 		(BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR >> 8) & 0xff,
@@ -14267,141 +13154,121 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_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_ZERO
 	},
 	{
 	.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_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 = "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_CF,
 	.field_opr1 = {
 		(BNXT_ULP_CF_IDX_DRV_FUNC_VNIC >> 8) & 0xff,
@@ -14410,51 +13277,44 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_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
 	},
 	/* class_tid: 4, wh_plus, table: l2_cntxt_tcam_bypass.vf_ing */
 	{
 	.description = "act_record_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,
@@ -14463,15 +13323,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "reserved",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.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_byp_lkup_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}
@@ -14479,57 +13337,49 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "parif",
 	.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 = "allowed_pri",
 	.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 = "default_pri",
 	.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 = "allowed_tpid",
 	.field_bit_size = 6,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "default_tpid",
 	.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 = "bd_act_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 = "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 = "byp_sp_lkup",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_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}
@@ -14537,37 +13387,32 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "pri_anti_spoof_ctl",
 	.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 = "tpid_anti_spoof_ctl",
 	.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
 	},
 	/* class_tid: 4, wh_plus, table: l2_cntxt_tcam_bypass.vfr_egr0 */
 	{
 	.description = "act_record_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 = "reserved",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.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_byp_lkup_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}
@@ -14575,43 +13420,37 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "parif",
 	.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 = "allowed_pri",
 	.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 = "default_pri",
 	.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 = "allowed_tpid",
 	.field_bit_size = 6,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "default_tpid",
 	.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 = "bd_act_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}
@@ -14619,15 +13458,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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 = "byp_sp_lkup",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_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}
@@ -14635,23 +13472,20 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "pri_anti_spoof_ctl",
 	.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 = "tpid_anti_spoof_ctl",
 	.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
 	},
 	/* class_tid: 4, wh_plus, table: l2_cntxt_tcam_cache.vfr_wr_egr0 */
 	{
 	.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,
@@ -14660,8 +13494,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff,
@@ -14670,51 +13503,44 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	/* class_tid: 4, wh_plus, table: int_vtag_encap_record.vfr_egr0 */
 	{
 	.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}
@@ -14722,15 +13548,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_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}
@@ -14738,8 +13562,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_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_CONST,
 	.field_opr1 = {
 		0x81,
@@ -14748,8 +13571,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_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_CF,
 	.field_opr1 = {
 		(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
@@ -14758,86 +13580,74 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_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_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
 	},
 	/* class_tid: 4, wh_plus, table: int_full_act_record.vfr_egr0 */
 	{
 	.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_ZERO
 	},
 	{
 	.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_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_RF,
 	.field_opr1 = {
 		(BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff,
@@ -14846,78 +13656,67 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_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_CONST,
 	.field_opr1 = {
 		(ULP_WP_SYM_LOOPBACK_PORT >> 8) & 0xff,
@@ -14926,184 +13725,158 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_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
 	},
 	/* class_tid: 4, wh_plus, table: int_full_act_record.vfr_ing0 */
 	{
 	.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_ZERO
 	},
 	{
 	.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_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 = "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_CF,
 	.field_opr1 = {
 		(BNXT_ULP_CF_IDX_VF_FUNC_VNIC >> 8) & 0xff,
@@ -15112,8 +13885,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_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_CONST,
 	.field_opr1 = {
 		1}
@@ -15121,44 +13893,38 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_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_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
 	},
 	/* class_tid: 4, table: l2_cntxt_tcam_bypass.vfr_dtagged_ing0 */
 	{
 	.description = "act_record_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,
@@ -15167,15 +13933,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "reserved",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.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_byp_lkup_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}
@@ -15183,57 +13947,49 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "parif",
 	.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 = "allowed_pri",
 	.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 = "default_pri",
 	.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 = "allowed_tpid",
 	.field_bit_size = 6,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "default_tpid",
 	.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 = "bd_act_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 = "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 = "byp_sp_lkup",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_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}
@@ -15241,23 +13997,20 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "pri_anti_spoof_ctl",
 	.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 = "tpid_anti_spoof_ctl",
 	.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
 	},
 	/* class_tid: 4, table: l2_cntxt_tcam_bypass.vfr_stagged_ing0 */
 	{
 	.description = "act_record_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,
@@ -15266,15 +14019,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "reserved",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.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_byp_lkup_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}
@@ -15282,57 +14033,49 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "parif",
 	.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 = "allowed_pri",
 	.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 = "default_pri",
 	.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 = "allowed_tpid",
 	.field_bit_size = 6,
-	.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,
-	.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "default_tpid",
 	.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 = "bd_act_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 = "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 = "byp_sp_lkup",
 	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_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}
@@ -15340,15 +14083,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
 	{
 	.description = "pri_anti_spoof_ctl",
 	.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 = "tpid_anti_spoof_ctl",
 	.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
 	}
 };
@@ -15414,7 +14155,7 @@ struct bnxt_ulp_mapper_ident_info ulp_wh_plus_class_ident_list[] = {
 	.ident_bit_size = 8,
 	.ident_bit_pos = 28
 	},
-	/* class_tid: 1, wh_plus, table: profile_tcam.vxlan */
+	/* class_tid: 1, wh_plus, table: profile_tcam.ipv4_vxlan */
 	{
 	.description = "em_profile_id",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
diff --git a/drivers/net/bnxt/tf_ulp/ulp_template_struct.h b/drivers/net/bnxt/tf_ulp/ulp_template_struct.h
index ee5fbdedaa..6d2b226026 100644
--- a/drivers/net/bnxt/tf_ulp/ulp_template_struct.h
+++ b/drivers/net/bnxt/tf_ulp/ulp_template_struct.h
@@ -287,13 +287,12 @@ struct bnxt_ulp_mapper_field_info {
 	uint8_t				description[64];
 	uint16_t			field_bit_size;
 	enum bnxt_ulp_field_opc		field_opc;
-	enum bnxt_ulp_field_cond_src	field_cond_src;
-	uint8_t				field_cond_opr[16];
 	enum bnxt_ulp_field_src		field_src1;
 	uint8_t				field_opr1[16];
 	enum bnxt_ulp_field_src		field_src2;
 	uint8_t				field_opr2[16];
-
+	enum bnxt_ulp_field_src		field_src3;
+	uint8_t				field_opr3[16];
 };
 
 struct bnxt_ulp_mapper_key_info {
diff --git a/drivers/net/bnxt/tf_ulp/ulp_utils.c b/drivers/net/bnxt/tf_ulp/ulp_utils.c
index 329799ea6a..1649e157f2 100644
--- a/drivers/net/bnxt/tf_ulp/ulp_utils.c
+++ b/drivers/net/bnxt/tf_ulp/ulp_utils.c
@@ -448,7 +448,7 @@ ulp_blob_push_32(struct ulp_blob *blob,
  * The offset of the data is updated after each push of data.
  * NULL returned on error, pointer pushed value otherwise.
  */
-uint32_t
+int32_t
 ulp_blob_push_encap(struct ulp_blob *blob,
 		    uint8_t *data,
 		    uint32_t datalen)
@@ -460,7 +460,7 @@ ulp_blob_push_encap(struct ulp_blob *blob,
 	if (!blob || !data ||
 	    datalen > (uint32_t)(blob->bitlen - blob->write_idx)) {
 		BNXT_TF_DBG(ERR, "invalid argument\n");
-		return 0;
+		return -1;
 	}
 
 	initial_size = ULP_BYTE_2_BITS(sizeof(uint64_t)) -
@@ -479,7 +479,7 @@ ulp_blob_push_encap(struct ulp_blob *blob,
 		}
 		if (!ulp_blob_push(blob, val, size)) {
 			BNXT_TF_DBG(ERR, "push field failed\n");
-			return 0;
+			return -1;
 		}
 		val += ULP_BITS_2_BYTE(size);
 		write_size -= size;
diff --git a/drivers/net/bnxt/tf_ulp/ulp_utils.h b/drivers/net/bnxt/tf_ulp/ulp_utils.h
index 5dd22cf8c3..209c8fa6a4 100644
--- a/drivers/net/bnxt/tf_ulp/ulp_utils.h
+++ b/drivers/net/bnxt/tf_ulp/ulp_utils.h
@@ -272,7 +272,7 @@ ulp_blob_push_32(struct ulp_blob *blob,
  * The offset of the data is updated after each push of data.
  * NULL returned on error, pointer pushed value otherwise.
  */
-uint32_t
+int32_t
 ulp_blob_push_encap(struct ulp_blob *blob,
 		    uint8_t *data,
 		    uint32_t datalen);
