net/bnxt: add field opcodes in ULP
authorKishore Padmanabha <kishore.padmanabha@broadcom.com>
Sun, 30 May 2021 08:59:20 +0000 (14:29 +0530)
committerAjit Khaparde <ajit.khaparde@broadcom.com>
Thu, 8 Jul 2021 00:02:10 +0000 (02:02 +0200)
Add field opcodes that perform logical evaluation of
multiple conditions. Also add more logging especially in
error path.

Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com>
Signed-off-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com>
Reviewed-by: Mike Baucom <michael.baucom@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
drivers/net/bnxt/tf_ulp/ulp_mapper.c
drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h
drivers/net/bnxt/tf_ulp/ulp_template_db_tbl.c
drivers/net/bnxt/tf_ulp/ulp_template_db_thor_act.c
drivers/net/bnxt/tf_ulp/ulp_template_db_thor_class.c
drivers/net/bnxt/tf_ulp/ulp_template_db_wh_plus_act.c
drivers/net/bnxt/tf_ulp/ulp_template_db_wh_plus_class.c
drivers/net/bnxt/tf_ulp/ulp_template_struct.h
drivers/net/bnxt/tf_ulp/ulp_utils.c
drivers/net/bnxt/tf_ulp/ulp_utils.h

index 58104ee..05e2106 100644 (file)
 #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 @@ error:
 
 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;
index 5c8893c..bdb1a64 100644 (file)
@@ -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
 #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 {
index c8ab14a..67bb8b1 100644 (file)
@@ -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,
index e5a401e..73df10a 100644 (file)
 
 /* 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
index 4d3d1e2..d20e630 100644 (file)
@@ -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"
 
 /* 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
-       }
 };
index 1a4e610..1d21cd3 100644 (file)
@@ -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,
index 25b536a..4e0cd66 100644 (file)
@@ -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,
index ee5fbde..6d2b226 100644 (file)
@@ -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 {
index 329799e..1649e15 100644 (file)
@@ -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;
index 5dd22cf..209c8fa 100644 (file)
@@ -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);