net/bnxt: add field opcodes in ULP
[dpdk.git] / drivers / net / bnxt / tf_ulp / ulp_template_db_wh_plus_class.c
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,