net/bnxt: support clear on read
[dpdk.git] / drivers / net / bnxt / tf_ulp / generic_templates / ulp_template_db_thor_class.c
index 4502573..95205a2 100644 (file)
@@ -3,7 +3,7 @@
  * All rights reserved.
  */
 
-/* date: Mon Apr  5 11:35:38 2021 */
+/* date: Wed Aug 25 16:41:37 2021 */
 
 #include "ulp_template_db_enum.h"
 #include "ulp_template_db_field.h"
 
 /* Mapper templates for header class list */
 struct bnxt_ulp_mapper_tmpl_info ulp_thor_class_tmpl_list[] = {
-       /* class_tid: 1, thor, ingress */
+       /* class_tid: 1, ingress */
        [1] = {
        .device_name = BNXT_ULP_DEVICE_ID_THOR,
-       .num_tbls = 47,
+       .num_tbls = 28,
        .start_tbl_idx = 0,
        .reject_info = {
-               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
                .cond_start_idx = 0,
-               .cond_nums = 0 }
+               .cond_nums = 1 }
        },
-       /* class_tid: 2, thor, ingress */
+       /* class_tid: 2, ingress */
        [2] = {
        .device_name = BNXT_ULP_DEVICE_ID_THOR,
-       .num_tbls = 13,
-       .start_tbl_idx = 47,
+       .num_tbls = 24,
+       .start_tbl_idx = 28,
        .reject_info = {
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
-               .cond_start_idx = 17,
+               .cond_start_idx = 29,
                .cond_nums = 0 }
        },
-       /* class_tid: 3, thor, ingress */
+       /* class_tid: 3, egress */
        [3] = {
        .device_name = BNXT_ULP_DEVICE_ID_THOR,
-       .num_tbls = 1,
-       .start_tbl_idx = 60,
+       .num_tbls = 18,
+       .start_tbl_idx = 52,
        .reject_info = {
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
-               .cond_start_idx = 20,
+               .cond_start_idx = 39,
                .cond_nums = 0 }
        },
-       /* class_tid: 4, thor, ingress */
+       /* class_tid: 4, ingress */
        [4] = {
        .device_name = BNXT_ULP_DEVICE_ID_THOR,
-       .num_tbls = 9,
-       .start_tbl_idx = 61,
+       .num_tbls = 21,
+       .start_tbl_idx = 70,
        .reject_info = {
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
-               .cond_start_idx = 20,
+               .cond_start_idx = 48,
+               .cond_nums = 0 }
+       },
+       /* class_tid: 5, egress */
+       [5] = {
+       .device_name = BNXT_ULP_DEVICE_ID_THOR,
+       .num_tbls = 25,
+       .start_tbl_idx = 91,
+       .reject_info = {
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
+               .cond_start_idx = 52,
                .cond_nums = 0 }
        }
 };
 
 struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
-       { /* class_tid: 1, thor, table: port_table.rd */
+       { /* class_tid: 1, , table: port_table.rd */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PORT_TABLE,
@@ -64,12 +74,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
                .cond_true_goto  = 1,
                .cond_false_goto = 1,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 0,
+               .cond_start_idx = 1,
                .cond_nums = 0 },
        .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
        .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
        .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
-       .byte_order = BNXT_ULP_BYTE_ORDER_LE,
        .key_start_idx = 0,
        .blob_key_bit_size = 10,
        .key_bit_size = 10,
@@ -77,54 +86,62 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
        .ident_start_idx = 0,
        .ident_nums = 3
        },
-       { /* class_tid: 1, thor, table: control.check_gre */
-       .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
-       .direction = TF_DIR_RX,
-       .execute_info = {
-               .cond_true_goto  = 1,
-               .cond_false_goto = 17,
-               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-               .cond_start_idx = 0,
-               .cond_nums = 1 },
-       .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
-       .byte_order = BNXT_ULP_BYTE_ORDER_LE
-       },
-       { /* class_tid: 1, thor, table: l2_cntxt_tcam_cache.gre_rd */
+       { /* class_tid: 1, , table: l2_cntxt_tcam_cache.rd */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+       .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
        .direction = TF_DIR_RX,
        .execute_info = {
-               .cond_true_goto  = 1,
+               .cond_true_goto  = 5,
                .cond_false_goto = 1,
-               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
                .cond_start_idx = 1,
-               .cond_nums = 0 },
+               .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 = 1,
        .blob_key_bit_size = 8,
        .key_bit_size = 8,
        .key_num_fields = 1,
        .ident_start_idx = 3,
-       .ident_nums = 0
+       .ident_nums = 1
+       },
+       { /* class_tid: 1, , table: mac_addr_cache.rd */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+       .resource_sub_type =
+               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,
+       .direction = TF_DIR_RX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+               .cond_start_idx = 2,
+               .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,
+       .key_start_idx = 2,
+       .blob_key_bit_size = 73,
+       .key_bit_size = 73,
+       .key_num_fields = 5,
+       .ident_start_idx = 4,
+       .ident_nums = 1
        },
-       { /* class_tid: 1, thor, table: control.gre_hit */
+       { /* class_tid: 1, , table: control.0 */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
        .direction = TF_DIR_RX,
        .execute_info = {
                .cond_true_goto  = 1,
-               .cond_false_goto = 42,
+               .cond_false_goto = 3,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-               .cond_start_idx = 1,
+               .cond_start_idx = 2,
                .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
+       .fdb_operand = BNXT_ULP_RF_IDX_RID
        },
-       { /* class_tid: 1, thor, table: l2_cntxt_tcam.gre */
+       { /* class_tid: 1, , table: l2_cntxt_tcam.0 */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
        .direction = TF_DIR_RX,
@@ -132,7 +149,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
                .cond_true_goto  = 1,
                .cond_false_goto = 1,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 2,
+               .cond_start_idx = 3,
                .cond_nums = 0 },
        .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
        .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
@@ -140,353 +157,565 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
        .fdb_operand = BNXT_ULP_RF_IDX_RID,
        .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
        .pri_operand = 0,
-       .byte_order = BNXT_ULP_BYTE_ORDER_LE,
-       .key_start_idx = 2,
+       .key_start_idx = 7,
        .blob_key_bit_size = 213,
        .key_bit_size = 213,
        .key_num_fields = 21,
        .result_start_idx = 0,
        .result_bit_size = 43,
        .result_num_fields = 6,
-       .ident_start_idx = 3,
+       .ident_start_idx = 5,
        .ident_nums = 1
        },
-       { /* class_tid: 1, thor, table: l2_cntxt_tcam_cache.gre_wr */
+       { /* class_tid: 1, , table: mac_addr_cache.wr */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
        .resource_sub_type =
-               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
+               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,
        .direction = TF_DIR_RX,
        .execute_info = {
                .cond_true_goto  = 1,
                .cond_false_goto = 1,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 2,
+               .cond_start_idx = 3,
                .cond_nums = 0 },
        .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
-       .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
+       .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 = 23,
-       .blob_key_bit_size = 8,
-       .key_bit_size = 8,
-       .key_num_fields = 1,
+       .key_start_idx = 28,
+       .blob_key_bit_size = 73,
+       .key_bit_size = 73,
+       .key_num_fields = 5,
        .result_start_idx = 6,
        .result_bit_size = 62,
        .result_num_fields = 4
        },
-       { /* class_tid: 1, thor, table: fkb_select.gre */
+       { /* class_tid: 1, , table: control.ipv6_check */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+       .direction = TF_DIR_RX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 8,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+               .cond_start_idx = 3,
+               .cond_nums = 1 },
+       .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
+       },
+       { /* class_tid: 1, , table: profile_tcam_cache.ipv6_rd */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+       .resource_sub_type =
+               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
+       .direction = TF_DIR_RX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 1023,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+               .cond_start_idx = 4,
+               .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,
+       .key_start_idx = 33,
+       .blob_key_bit_size = 14,
+       .key_bit_size = 14,
+       .key_num_fields = 3,
+       .ident_start_idx = 6,
+       .ident_nums = 4
+       },
+       { /* class_tid: 1, , table: control.ipv6_prof_cache_check */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+       .direction = TF_DIR_RX,
+       .execute_info = {
+               .cond_true_goto  = 2,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+               .cond_start_idx = 5,
+               .cond_nums = 1 },
+       .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
+       .fdb_operand = BNXT_ULP_RF_IDX_RID
+       },
+       { /* class_tid: 1, , table: control.v6_conflict_check */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+       .direction = TF_DIR_RX,
+       .execute_info = {
+               .cond_true_goto  = 4,
+               .cond_false_goto = 1023,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+               .cond_start_idx = 6,
+               .cond_nums = 1 },
+       .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
+       .func_info = {
+               .func_opc = BNXT_ULP_FUNC_OPC_EQ,
+               .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE,
+               .func_opr1 = BNXT_ULP_RF_IDX_FLOW_SIG_ID,
+               .func_src2 = BNXT_ULP_FUNC_SRC_COMP_FIELD,
+               .func_opr2 = BNXT_ULP_CF_IDX_FLOW_SIG_ID,
+               .func_dst_opr = BNXT_ULP_RF_IDX_CC }
+       },
+       { /* class_tid: 1, , table: fkb_select.l2_l3_l4_v6_em */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
-       .resource_type = TF_TBL_TYPE_WC_FKB,
+       .resource_type = TF_TBL_TYPE_EM_FKB,
        .direction = TF_DIR_RX,
        .execute_info = {
                .cond_true_goto  = 1,
                .cond_false_goto = 1,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 2,
+               .cond_start_idx = 7,
                .cond_nums = 0 },
-       .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
-       .tbl_operand = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
-       .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
-       .byte_order = BNXT_ULP_BYTE_ORDER_LE,
+       .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
+       .tbl_operand = BNXT_ULP_RF_IDX_EM_KEY_ID_0,
+       .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
+       .fdb_operand = BNXT_ULP_RF_IDX_RID,
        .result_start_idx = 10,
        .result_bit_size = 106,
        .result_num_fields = 106
        },
-       { /* class_tid: 1, thor, table: profile_tcam.gre */
+       { /* class_tid: 1, , table: profile_tcam.l2_l3_l4_v6_em */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
        .direction = TF_DIR_RX,
        .execute_info = {
                .cond_true_goto  = 1,
-               .cond_false_goto = 1,
-               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 2,
-               .cond_nums = 0 },
+               .cond_false_goto = 1023,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+               .cond_start_idx = 7,
+               .cond_nums = 1 },
        .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_FID,
+       .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
+       .fdb_operand = BNXT_ULP_RF_IDX_RID,
        .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
        .pri_operand = 0,
        .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
-       .byte_order = BNXT_ULP_BYTE_ORDER_LE,
-       .key_start_idx = 24,
+       .key_start_idx = 36,
        .blob_key_bit_size = 94,
        .key_bit_size = 94,
        .key_num_fields = 43,
        .result_start_idx = 116,
        .result_bit_size = 33,
        .result_num_fields = 8,
-       .ident_start_idx = 4,
-       .ident_nums = 0
+       .ident_start_idx = 10,
+       .ident_nums = 1
        },
-       { /* class_tid: 1, thor, table: wm.gre */
-       .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
-       .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM_HIGH,
+       { /* class_tid: 1, , table: profile_tcam_cache.l2_l3_l4_v6_wr */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+       .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
+       .resource_sub_type =
+               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
        .direction = TF_DIR_RX,
        .execute_info = {
-               .cond_true_goto  = 2,
+               .cond_true_goto  = 1,
                .cond_false_goto = 1,
-               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-               .cond_start_idx = 2,
-               .cond_nums = 1 },
-       .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
-       .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+               .cond_start_idx = 8,
+               .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,
-       .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
-       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
-       .shared_session = BNXT_ULP_SHARED_SESSION_YES,
-       .byte_order = BNXT_ULP_BYTE_ORDER_BE,
-       .key_start_idx = 67,
-       .blob_key_bit_size = 0,
-       .key_bit_size = 0,
-       .key_num_fields = 114,
+       .key_start_idx = 79,
+       .blob_key_bit_size = 14,
+       .key_bit_size = 14,
+       .key_num_fields = 3,
        .result_start_idx = 124,
-       .result_bit_size = 38,
-       .result_num_fields = 5
+       .result_bit_size = 138,
+       .result_num_fields = 7
        },
-       { /* class_tid: 1, thor, table: wm.gre_low */
-       .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
-       .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM_LOW,
+       { /* class_tid: 1, , table: em.l2_l3_l4_v6.0 */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
+       .resource_type = TF_MEM_INTERNAL,
        .direction = TF_DIR_RX,
        .execute_info = {
-               .cond_true_goto  = 1,
+               .cond_true_goto  = 0,
                .cond_false_goto = 1,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 3,
+               .cond_start_idx = 8,
                .cond_nums = 0 },
-       .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
-       .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
        .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-       .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
-       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
-       .shared_session = BNXT_ULP_SHARED_SESSION_YES,
-       .byte_order = BNXT_ULP_BYTE_ORDER_BE,
-       .key_start_idx = 181,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
+       .key_start_idx = 82,
        .blob_key_bit_size = 0,
        .key_bit_size = 0,
        .key_num_fields = 114,
-       .result_start_idx = 129,
-       .result_bit_size = 38,
-       .result_num_fields = 5
+       .result_start_idx = 131,
+       .result_bit_size = 0,
+       .result_num_fields = 6
        },
-       { /* class_tid: 1, thor, table: mac_addr_cache.gre_frag_rd */
+       { /* class_tid: 1, , table: profile_tcam_cache.rd */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
        .resource_sub_type =
-               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,
+               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
        .direction = TF_DIR_RX,
        .execute_info = {
                .cond_true_goto  = 1,
                .cond_false_goto = 1,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 3,
+               .cond_start_idx = 8,
                .cond_nums = 0 },
        .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
-       .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
+       .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 = 295,
-       .blob_key_bit_size = 73,
-       .key_bit_size = 73,
-       .key_num_fields = 5,
-       .ident_start_idx = 4,
-       .ident_nums = 0
+       .key_start_idx = 196,
+       .blob_key_bit_size = 14,
+       .key_bit_size = 14,
+       .key_num_fields = 3,
+       .ident_start_idx = 11,
+       .ident_nums = 2
        },
-       { /* class_tid: 1, thor, table: control.gre_frag_mac_hit */
+       { /* class_tid: 1, , table: control.gen_tbl_miss */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
        .direction = TF_DIR_RX,
        .execute_info = {
                .cond_true_goto  = 1,
-               .cond_false_goto = 4,
+               .cond_false_goto = 6,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-               .cond_start_idx = 3,
+               .cond_start_idx = 8,
                .cond_nums = 1 },
        .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
+       .fdb_operand = BNXT_ULP_RF_IDX_RID
+       },
+       { /* class_tid: 1, , table: fkb_select.l3_l4_wm */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
+       .resource_type = TF_TBL_TYPE_WC_FKB,
+       .direction = TF_DIR_RX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+               .cond_start_idx = 9,
+               .cond_nums = 1 },
+       .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
+       .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_0,
+       .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
+       .result_start_idx = 137,
+       .result_bit_size = 106,
+       .result_num_fields = 106
+       },
+       { /* class_tid: 1, , table: fkb_select.l3_l4_wm_vxlan */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
+       .resource_type = TF_TBL_TYPE_WC_FKB,
+       .direction = TF_DIR_RX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+               .cond_start_idx = 10,
+               .cond_nums = 1 },
+       .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
+       .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_2,
+       .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
+       .result_start_idx = 243,
+       .result_bit_size = 106,
+       .result_num_fields = 106
+       },
+       { /* class_tid: 1, , table: profile_tcam.l3_l4.ip */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
+       .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
+       .direction = TF_DIR_RX,
+       .execute_info = {
+               .cond_true_goto  = 2,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+               .cond_start_idx = 11,
+               .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,
        .fdb_operand = BNXT_ULP_RF_IDX_RID,
-       .byte_order = BNXT_ULP_BYTE_ORDER_LE
+       .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
+       .pri_operand = 0,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
+       .key_start_idx = 199,
+       .blob_key_bit_size = 94,
+       .key_bit_size = 94,
+       .key_num_fields = 43,
+       .result_start_idx = 349,
+       .result_bit_size = 33,
+       .result_num_fields = 8,
+       .ident_start_idx = 13,
+       .ident_nums = 0
        },
-       { /* class_tid: 1, thor, table: l2_cntxt_tcam.0 */
+       { /* class_tid: 1, , table: profile_tcam.l3_l4.vxlan */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
-       .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
+       .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
        .direction = TF_DIR_RX,
        .execute_info = {
                .cond_true_goto  = 1,
                .cond_false_goto = 1,
-               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 4,
-               .cond_nums = 0 },
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+               .cond_start_idx = 13,
+               .cond_nums = 1 },
        .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
-       .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
+       .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
        .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
        .fdb_operand = BNXT_ULP_RF_IDX_RID,
        .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
        .pri_operand = 0,
-       .byte_order = BNXT_ULP_BYTE_ORDER_LE,
-       .key_start_idx = 300,
-       .blob_key_bit_size = 213,
-       .key_bit_size = 213,
-       .key_num_fields = 21,
-       .result_start_idx = 134,
-       .result_bit_size = 43,
-       .result_num_fields = 6,
-       .ident_start_idx = 4,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
+       .key_start_idx = 242,
+       .blob_key_bit_size = 94,
+       .key_bit_size = 94,
+       .key_num_fields = 43,
+       .result_start_idx = 357,
+       .result_bit_size = 33,
+       .result_num_fields = 8,
+       .ident_start_idx = 13,
        .ident_nums = 0
        },
-       { /* class_tid: 1, thor, table: mac_addr_cache.gre_frag_wr */
+       { /* class_tid: 1, , table: profile_tcam_cache.wr */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+       .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
        .resource_sub_type =
-               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,
+               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
        .direction = TF_DIR_RX,
        .execute_info = {
                .cond_true_goto  = 1,
                .cond_false_goto = 1,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 4,
+               .cond_start_idx = 14,
                .cond_nums = 0 },
        .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
-       .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
+       .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 = 321,
-       .blob_key_bit_size = 73,
-       .key_bit_size = 73,
-       .key_num_fields = 5,
-       .result_start_idx = 140,
-       .result_bit_size = 62,
-       .result_num_fields = 4
+       .key_start_idx = 285,
+       .blob_key_bit_size = 14,
+       .key_bit_size = 14,
+       .key_num_fields = 3,
+       .result_start_idx = 365,
+       .result_bit_size = 138,
+       .result_num_fields = 7
        },
-       { /* class_tid: 1, thor, table: fkb_select.gre_frag */
-       .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
-       .resource_type = TF_TBL_TYPE_WC_FKB,
+       { /* class_tid: 1, , table: wm.l3_l4.ipv4 */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
+       .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
        .direction = TF_DIR_RX,
        .execute_info = {
-               .cond_true_goto  = 1,
+               .cond_true_goto  = 0,
                .cond_false_goto = 1,
-               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 4,
-               .cond_nums = 0 },
-       .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
-       .tbl_operand = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
-       .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
-       .byte_order = BNXT_ULP_BYTE_ORDER_LE,
-       .result_start_idx = 144,
-       .result_bit_size = 106,
-       .result_num_fields = 106
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+               .cond_start_idx = 14,
+               .cond_nums = 3 },
+       .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
+       .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
+       .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+       .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
+       .pri_operand = 0,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
+       .key_start_idx = 288,
+       .blob_key_bit_size = 0,
+       .key_bit_size = 0,
+       .key_num_fields = 114,
+       .result_start_idx = 372,
+       .result_bit_size = 38,
+       .result_num_fields = 5
        },
-       { /* class_tid: 1, thor, table: profile_tcam.gre_frag */
+       { /* class_tid: 1, , table: wm.l3_l4.ipv6 */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
-       .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
+       .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
        .direction = TF_DIR_RX,
        .execute_info = {
-               .cond_true_goto  = 1,
+               .cond_true_goto  = 0,
                .cond_false_goto = 1,
-               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 4,
-               .cond_nums = 0 },
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+               .cond_start_idx = 17,
+               .cond_nums = 3 },
        .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
-       .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
+       .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
        .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
        .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
        .pri_operand = 0,
        .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
-       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
-       .byte_order = BNXT_ULP_BYTE_ORDER_LE,
-       .key_start_idx = 326,
-       .blob_key_bit_size = 94,
-       .key_bit_size = 94,
-       .key_num_fields = 43,
-       .result_start_idx = 250,
-       .result_bit_size = 33,
-       .result_num_fields = 8,
-       .ident_start_idx = 4,
-       .ident_nums = 0
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
+       .key_start_idx = 402,
+       .blob_key_bit_size = 0,
+       .key_bit_size = 0,
+       .key_num_fields = 114,
+       .result_start_idx = 377,
+       .result_bit_size = 38,
+       .result_num_fields = 5
        },
-       { /* class_tid: 1, thor, table: wm.gre_frag */
+       { /* class_tid: 1, , table: wm.l3.ipv4 */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
-       .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM_HIGH,
+       .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
        .direction = TF_DIR_RX,
        .execute_info = {
-               .cond_true_goto  = 29,
+               .cond_true_goto  = 0,
                .cond_false_goto = 1,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-               .cond_start_idx = 4,
+               .cond_start_idx = 20,
+               .cond_nums = 2 },
+       .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
+       .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
+       .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+       .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
+       .pri_operand = 0,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
+       .key_start_idx = 516,
+       .blob_key_bit_size = 0,
+       .key_bit_size = 0,
+       .key_num_fields = 114,
+       .result_start_idx = 382,
+       .result_bit_size = 38,
+       .result_num_fields = 5
+       },
+       { /* class_tid: 1, , table: wm.l3.ipv6 */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
+       .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
+       .direction = TF_DIR_RX,
+       .execute_info = {
+               .cond_true_goto  = 0,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+               .cond_start_idx = 22,
+               .cond_nums = 2 },
+       .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
+       .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
+       .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+       .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
+       .pri_operand = 0,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
+       .key_start_idx = 630,
+       .blob_key_bit_size = 0,
+       .key_bit_size = 0,
+       .key_num_fields = 114,
+       .result_start_idx = 387,
+       .result_bit_size = 38,
+       .result_num_fields = 5
+       },
+       { /* class_tid: 1, , table: wm.l2 */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
+       .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
+       .direction = TF_DIR_RX,
+       .execute_info = {
+               .cond_true_goto  = 0,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+               .cond_start_idx = 24,
                .cond_nums = 1 },
        .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
        .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
        .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+       .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
+       .pri_operand = 0,
        .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
-       .shared_session = BNXT_ULP_SHARED_SESSION_YES,
-       .byte_order = BNXT_ULP_BYTE_ORDER_BE,
-       .key_start_idx = 369,
+       .key_start_idx = 744,
        .blob_key_bit_size = 0,
        .key_bit_size = 0,
        .key_num_fields = 114,
-       .result_start_idx = 258,
+       .result_start_idx = 392,
        .result_bit_size = 38,
        .result_num_fields = 5
        },
-       { /* class_tid: 1, thor, table: wm.gre_frag_low */
+       { /* class_tid: 1, , table: wm.l3_l4.vxlan.ipv4 */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
-       .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM_LOW,
+       .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
        .direction = TF_DIR_RX,
        .execute_info = {
-               .cond_true_goto  = 28,
+               .cond_true_goto  = 0,
                .cond_false_goto = 1,
-               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 5,
-               .cond_nums = 0 },
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+               .cond_start_idx = 25,
+               .cond_nums = 2 },
+       .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
+       .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
+       .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+       .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
+       .pri_operand = 0,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
+       .key_start_idx = 858,
+       .blob_key_bit_size = 0,
+       .key_bit_size = 0,
+       .key_num_fields = 114,
+       .result_start_idx = 397,
+       .result_bit_size = 38,
+       .result_num_fields = 5
+       },
+       { /* class_tid: 1, , table: wm.l3_l4.vxlan.ipv6 */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
+       .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
+       .direction = TF_DIR_RX,
+       .execute_info = {
+               .cond_true_goto  = 0,
+               .cond_false_goto = 1023,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+               .cond_start_idx = 27,
+               .cond_nums = 2 },
        .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
        .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
        .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+       .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
+       .pri_operand = 0,
        .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
-       .shared_session = BNXT_ULP_SHARED_SESSION_YES,
-       .byte_order = BNXT_ULP_BYTE_ORDER_BE,
-       .key_start_idx = 483,
+       .key_start_idx = 972,
        .blob_key_bit_size = 0,
        .key_bit_size = 0,
        .key_num_fields = 114,
-       .result_start_idx = 263,
+       .result_start_idx = 402,
        .result_bit_size = 38,
        .result_num_fields = 5
        },
-       { /* class_tid: 1, thor, table: mac_addr_cache.non_gre_rd */
+       { /* class_tid: 2, , table: port_table.rd */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
        .resource_sub_type =
-               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,
+               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 = 5,
+               .cond_start_idx = 29,
+               .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_NOP,
+       .key_start_idx = 1086,
+       .blob_key_bit_size = 10,
+       .key_bit_size = 10,
+       .key_num_fields = 1,
+       .ident_start_idx = 13,
+       .ident_nums = 3
+       },
+       { /* class_tid: 2, , table: tunnel_cache.rd */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+       .resource_sub_type =
+               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_TUNNEL_CACHE,
+       .direction = TF_DIR_RX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+               .cond_start_idx = 29,
                .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 = 597,
-       .blob_key_bit_size = 73,
-       .key_bit_size = 73,
-       .key_num_fields = 5,
-       .ident_start_idx = 4,
-       .ident_nums = 0
+       .key_start_idx = 1087,
+       .blob_key_bit_size = 16,
+       .key_bit_size = 16,
+       .key_num_fields = 2,
+       .ident_start_idx = 16,
+       .ident_nums = 1
        },
-       { /* class_tid: 1, thor, table: control.non_gre_mac */
+       { /* class_tid: 2, , table: control.tunnel_cache_check */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
        .direction = TF_DIR_RX,
        .execute_info = {
                .cond_true_goto  = 1,
                .cond_false_goto = 3,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-               .cond_start_idx = 5,
+               .cond_start_idx = 29,
                .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
+       .fdb_operand = BNXT_ULP_RF_IDX_RID
        },
-       { /* class_tid: 1, thor, table: l2_cntxt_tcam.0 */
+       { /* class_tid: 2, , table: l2_cntxt_tcam.1 */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
        .direction = TF_DIR_RX,
@@ -494,280 +723,219 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
                .cond_true_goto  = 1,
                .cond_false_goto = 1,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 6,
+               .cond_start_idx = 30,
                .cond_nums = 0 },
-       .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
+       .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_IDENT,
        .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
        .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
        .fdb_operand = BNXT_ULP_RF_IDX_RID,
        .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
        .pri_operand = 0,
-       .byte_order = BNXT_ULP_BYTE_ORDER_LE,
-       .key_start_idx = 602,
+       .key_start_idx = 1089,
        .blob_key_bit_size = 213,
        .key_bit_size = 213,
        .key_num_fields = 21,
-       .result_start_idx = 268,
+       .result_start_idx = 407,
        .result_bit_size = 43,
        .result_num_fields = 6,
-       .ident_start_idx = 4,
-       .ident_nums = 0
+       .ident_start_idx = 17,
+       .ident_nums = 1
        },
-       { /* class_tid: 1, thor, table: mac_addr_cache.wr */
+       { /* class_tid: 2, , table: tunnel_cache.wr */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
        .resource_sub_type =
-               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,
+               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_TUNNEL_CACHE,
        .direction = TF_DIR_RX,
        .execute_info = {
                .cond_true_goto  = 1,
                .cond_false_goto = 1,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 6,
+               .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_HASH,
        .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-       .byte_order = BNXT_ULP_BYTE_ORDER_LE,
-       .key_start_idx = 623,
-       .blob_key_bit_size = 73,
-       .key_bit_size = 73,
-       .key_num_fields = 5,
-       .result_start_idx = 274,
-       .result_bit_size = 62,
-       .result_num_fields = 4
-       },
-       { /* class_tid: 1, thor, table: control.icmpv4_test */
+       .key_start_idx = 1110,
+       .blob_key_bit_size = 16,
+       .key_bit_size = 16,
+       .key_num_fields = 2,
+       .result_start_idx = 413,
+       .result_bit_size = 52,
+       .result_num_fields = 3
+       },
+       { /* class_tid: 2, , table: control.flow_type_check */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
        .direction = TF_DIR_RX,
        .execute_info = {
                .cond_true_goto  = 1,
-               .cond_false_goto = 8,
+               .cond_false_goto = 5,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-               .cond_start_idx = 6,
-               .cond_nums = 2 },
-       .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
-       .byte_order = BNXT_ULP_BYTE_ORDER_LE
+               .cond_start_idx = 30,
+               .cond_nums = 1 },
+       .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
        },
-       { /* class_tid: 1, thor, table: profile_tcam_cache.icmpv4_rd */
+       { /* class_tid: 2, , table: mac_addr_cache.rd */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
        .resource_sub_type =
-               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
+               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,
        .direction = TF_DIR_RX,
        .execute_info = {
                .cond_true_goto  = 1,
                .cond_false_goto = 1,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 8,
+               .cond_start_idx = 31,
                .cond_nums = 0 },
        .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
-       .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
+       .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 = 628,
-       .blob_key_bit_size = 14,
-       .key_bit_size = 14,
-       .key_num_fields = 3,
-       .ident_start_idx = 4,
-       .ident_nums = 0
+       .key_start_idx = 1112,
+       .blob_key_bit_size = 73,
+       .key_bit_size = 73,
+       .key_num_fields = 5,
+       .ident_start_idx = 18,
+       .ident_nums = 1
        },
-       { /* class_tid: 1, thor, table: control.icmpv4 */
+       { /* class_tid: 2, , table: control.mac_addr_cache_check */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
        .direction = TF_DIR_RX,
        .execute_info = {
                .cond_true_goto  = 1,
-               .cond_false_goto = 4,
+               .cond_false_goto = 0,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-               .cond_start_idx = 8,
+               .cond_start_idx = 31,
                .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: 1, thor, table: fkb_select.icmpv4 */
-       .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
-       .resource_type = TF_TBL_TYPE_WC_FKB,
-       .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 = 9,
-               .cond_nums = 0 },
-       .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
-       .tbl_operand = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
-       .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
-       .byte_order = BNXT_ULP_BYTE_ORDER_LE,
-       .result_start_idx = 278,
-       .result_bit_size = 106,
-       .result_num_fields = 106
+       .fdb_operand = BNXT_ULP_RF_IDX_RID
        },
-       { /* class_tid: 1, thor, table: profile_tcam.icmpv4 */
+       { /* class_tid: 2, , table: l2_cntxt_tcam.0 */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
-       .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
+       .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
        .direction = TF_DIR_RX,
        .execute_info = {
                .cond_true_goto  = 1,
                .cond_false_goto = 1,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 9,
+               .cond_start_idx = 32,
                .cond_nums = 0 },
        .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
-       .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
+       .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
        .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
        .fdb_operand = BNXT_ULP_RF_IDX_RID,
        .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
        .pri_operand = 0,
-       .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
-       .byte_order = BNXT_ULP_BYTE_ORDER_LE,
-       .key_start_idx = 631,
-       .blob_key_bit_size = 94,
-       .key_bit_size = 94,
-       .key_num_fields = 43,
-       .result_start_idx = 384,
-       .result_bit_size = 33,
-       .result_num_fields = 8,
-       .ident_start_idx = 4,
-       .ident_nums = 1
+       .key_start_idx = 1117,
+       .blob_key_bit_size = 213,
+       .key_bit_size = 213,
+       .key_num_fields = 21,
+       .result_start_idx = 416,
+       .result_bit_size = 43,
+       .result_num_fields = 6,
+       .ident_start_idx = 19,
+       .ident_nums = 0
        },
-       { /* class_tid: 1, thor, table: profile_tcam_cache.icmpv4_wr */
+       { /* class_tid: 2, , table: mac_addr_cache.wr */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
        .resource_sub_type =
-               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
+               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,
        .direction = TF_DIR_RX,
        .execute_info = {
-               .cond_true_goto  = 1,
+               .cond_true_goto  = 0,
                .cond_false_goto = 1,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 9,
+               .cond_start_idx = 32,
                .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 = 674,
-       .blob_key_bit_size = 14,
-       .key_bit_size = 14,
-       .key_num_fields = 3,
-       .result_start_idx = 392,
-       .result_bit_size = 82,
-       .result_num_fields = 7
-       },
-       { /* class_tid: 1, thor, table: wm.icmpv4 */
-       .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
-       .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM_HIGH,
-       .direction = TF_DIR_RX,
-       .execute_info = {
-               .cond_true_goto  = 17,
-               .cond_false_goto = 1,
-               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-               .cond_start_idx = 9,
-               .cond_nums = 1 },
-       .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
-       .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
-       .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-       .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
-       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
-       .shared_session = BNXT_ULP_SHARED_SESSION_YES,
-       .byte_order = BNXT_ULP_BYTE_ORDER_BE,
-       .key_start_idx = 677,
-       .blob_key_bit_size = 0,
-       .key_bit_size = 0,
-       .key_num_fields = 114,
-       .result_start_idx = 399,
-       .result_bit_size = 38,
-       .result_num_fields = 5
-       },
-       { /* class_tid: 1, thor, table: wm.icmpv4_low */
-       .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
-       .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM_LOW,
-       .direction = TF_DIR_RX,
-       .execute_info = {
-               .cond_true_goto  = 16,
-               .cond_false_goto = 1,
-               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 10,
-               .cond_nums = 0 },
-       .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
-       .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
+       .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
        .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-       .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
-       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
-       .shared_session = BNXT_ULP_SHARED_SESSION_YES,
-       .byte_order = BNXT_ULP_BYTE_ORDER_BE,
-       .key_start_idx = 791,
-       .blob_key_bit_size = 0,
-       .key_bit_size = 0,
-       .key_num_fields = 114,
-       .result_start_idx = 404,
-       .result_bit_size = 38,
-       .result_num_fields = 5
+       .key_start_idx = 1138,
+       .blob_key_bit_size = 73,
+       .key_bit_size = 73,
+       .key_num_fields = 5,
+       .result_start_idx = 422,
+       .result_bit_size = 62,
+       .result_num_fields = 4
        },
-       { /* class_tid: 1, thor, table: control.icmpv6_test */
+       { /* class_tid: 2, , table: control.ipv6_check */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
        .direction = TF_DIR_RX,
        .execute_info = {
                .cond_true_goto  = 1,
                .cond_false_goto = 8,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-               .cond_start_idx = 10,
-               .cond_nums = 2 },
-       .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
-       .byte_order = BNXT_ULP_BYTE_ORDER_LE
+               .cond_start_idx = 32,
+               .cond_nums = 1 },
+       .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
        },
-       { /* class_tid: 1, thor, table: profile_tcam_cache.icmpv6_rd */
+       { /* class_tid: 2, , table: profile_tcam_cache.f2_ipv6_rd */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
        .direction = TF_DIR_RX,
        .execute_info = {
                .cond_true_goto  = 1,
-               .cond_false_goto = 1,
-               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 12,
-               .cond_nums = 0 },
+               .cond_false_goto = 1023,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+               .cond_start_idx = 33,
+               .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 = 905,
+       .key_start_idx = 1143,
        .blob_key_bit_size = 14,
        .key_bit_size = 14,
        .key_num_fields = 3,
-       .ident_start_idx = 5,
-       .ident_nums = 0
+       .ident_start_idx = 19,
+       .ident_nums = 4
        },
-       { /* class_tid: 1, thor, table: control.icmpv6 */
+       { /* class_tid: 2, , table: control.f2_ipv6_prof_cache_check */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
        .direction = TF_DIR_RX,
        .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 = 12,
+               .cond_start_idx = 34,
                .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
+       .fdb_operand = BNXT_ULP_RF_IDX_RID
        },
-       { /* class_tid: 1, thor, table: fkb_select.icmpv6 */
+       { /* class_tid: 2, , table: control.f2_v6_conflict_check */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+       .direction = TF_DIR_RX,
+       .execute_info = {
+               .cond_true_goto  = 4,
+               .cond_false_goto = 1023,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+               .cond_start_idx = 35,
+               .cond_nums = 1 },
+       .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
+       .func_info = {
+               .func_opc = BNXT_ULP_FUNC_OPC_EQ,
+               .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE,
+               .func_opr1 = BNXT_ULP_RF_IDX_FLOW_SIG_ID,
+               .func_src2 = BNXT_ULP_FUNC_SRC_COMP_FIELD,
+               .func_opr2 = BNXT_ULP_CF_IDX_FLOW_SIG_ID,
+               .func_dst_opr = BNXT_ULP_RF_IDX_CC }
+       },
+       { /* class_tid: 2, , table: fkb_select.f2_l2_l3_l4_v6_em */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
-       .resource_type = TF_TBL_TYPE_WC_FKB,
+       .resource_type = TF_TBL_TYPE_EM_FKB,
        .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 = 13,
+               .cond_start_idx = 36,
                .cond_nums = 0 },
-       .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
-       .tbl_operand = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
-       .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
-       .byte_order = BNXT_ULP_BYTE_ORDER_LE,
-       .result_start_idx = 409,
+       .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
+       .tbl_operand = BNXT_ULP_RF_IDX_EM_KEY_ID_0,
+       .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
+       .fdb_operand = BNXT_ULP_RF_IDX_RID,
+       .result_start_idx = 426,
        .result_bit_size = 106,
        .result_num_fields = 106
        },
-       { /* class_tid: 1, thor, table: profile_tcam.icmpv6 */
+       { /* class_tid: 2, , table: profile_tcam.f2_l2_l3_l4_v6_em */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
        .direction = TF_DIR_RX,
@@ -775,7 +943,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
                .cond_true_goto  = 1,
                .cond_false_goto = 1,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 13,
+               .cond_start_idx = 36,
                .cond_nums = 0 },
        .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
        .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
@@ -784,19 +952,20 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
        .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
        .pri_operand = 0,
        .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
-       .byte_order = BNXT_ULP_BYTE_ORDER_LE,
-       .key_start_idx = 908,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
+       .key_start_idx = 1146,
        .blob_key_bit_size = 94,
        .key_bit_size = 94,
        .key_num_fields = 43,
-       .result_start_idx = 515,
+       .result_start_idx = 532,
        .result_bit_size = 33,
        .result_num_fields = 8,
-       .ident_start_idx = 5,
+       .ident_start_idx = 23,
        .ident_nums = 1
        },
-       { /* class_tid: 1, thor, table: profile_tcam_cache.icmpv6_wr */
+       { /* class_tid: 2, , table: profile_tcam_cache.f2_l2_l3_l4_v6_wr */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+       .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
        .direction = TF_DIR_RX,
@@ -804,72 +973,42 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
                .cond_true_goto  = 1,
                .cond_false_goto = 1,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 13,
+               .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 = 951,
+       .key_start_idx = 1189,
        .blob_key_bit_size = 14,
        .key_bit_size = 14,
        .key_num_fields = 3,
-       .result_start_idx = 523,
-       .result_bit_size = 82,
+       .result_start_idx = 540,
+       .result_bit_size = 138,
        .result_num_fields = 7
        },
-       { /* class_tid: 1, thor, table: wm.icmpv6 */
-       .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
-       .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM_HIGH,
-       .direction = TF_DIR_RX,
-       .execute_info = {
-               .cond_true_goto  = 9,
-               .cond_false_goto = 1,
-               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-               .cond_start_idx = 13,
-               .cond_nums = 1 },
-       .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
-       .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
-       .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-       .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
-       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
-       .shared_session = BNXT_ULP_SHARED_SESSION_YES,
-       .byte_order = BNXT_ULP_BYTE_ORDER_BE,
-       .key_start_idx = 954,
-       .blob_key_bit_size = 0,
-       .key_bit_size = 0,
-       .key_num_fields = 114,
-       .result_start_idx = 530,
-       .result_bit_size = 38,
-       .result_num_fields = 5
-       },
-       { /* class_tid: 1, thor, table: wm.icmpv6_low */
-       .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
-       .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM_LOW,
+       { /* class_tid: 2, , table: em.f2_l2_l3_l4_v6.0 */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
+       .resource_type = TF_MEM_INTERNAL,
        .direction = TF_DIR_RX,
        .execute_info = {
-               .cond_true_goto  = 8,
+               .cond_true_goto  = 0,
                .cond_false_goto = 1,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 14,
+               .cond_start_idx = 36,
                .cond_nums = 0 },
-       .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
-       .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
        .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-       .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
-       .shared_session = BNXT_ULP_SHARED_SESSION_YES,
-       .byte_order = BNXT_ULP_BYTE_ORDER_BE,
-       .key_start_idx = 1068,
+       .key_start_idx = 1192,
        .blob_key_bit_size = 0,
        .key_bit_size = 0,
        .key_num_fields = 114,
-       .result_start_idx = 535,
-       .result_bit_size = 38,
-       .result_num_fields = 5
+       .result_start_idx = 547,
+       .result_bit_size = 0,
+       .result_num_fields = 6
        },
-       { /* class_tid: 1, thor, table: profile_tcam_cache.l3_l4_rd */
+       { /* class_tid: 2, , table: profile_tcam_cache.f2_rd */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+       .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
        .direction = TF_DIR_RX,
@@ -877,51 +1016,48 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
                .cond_true_goto  = 1,
                .cond_false_goto = 1,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 14,
+               .cond_start_idx = 36,
                .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 = 1182,
+       .key_start_idx = 1306,
        .blob_key_bit_size = 14,
        .key_bit_size = 14,
        .key_num_fields = 3,
-       .ident_start_idx = 6,
-       .ident_nums = 0
+       .ident_start_idx = 24,
+       .ident_nums = 3
        },
-       { /* class_tid: 1, thor, table: control.l3_l4 */
+       { /* class_tid: 2, , table: control.profile_tcam_cache.f2_check */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
        .direction = TF_DIR_RX,
        .execute_info = {
                .cond_true_goto  = 1,
                .cond_false_goto = 4,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-               .cond_start_idx = 14,
+               .cond_start_idx = 36,
                .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
+       .fdb_operand = BNXT_ULP_RF_IDX_RID
        },
-       { /* class_tid: 1, thor, table: fkb_select.l3_l4_wm */
+       { /* class_tid: 2, , table: fkb_select.f2_wm */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
        .resource_type = TF_TBL_TYPE_WC_FKB,
        .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 = 15,
-               .cond_nums = 0 },
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+               .cond_start_idx = 37,
+               .cond_nums = 1 },
        .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
-       .tbl_operand = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
+       .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_4,
        .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
-       .byte_order = BNXT_ULP_BYTE_ORDER_LE,
-       .result_start_idx = 540,
+       .result_start_idx = 553,
        .result_bit_size = 106,
        .result_num_fields = 106
        },
-       { /* class_tid: 1, thor, table: profile_tcam.l3_l4 */
+       { /* class_tid: 2, , table: profile_tcam.f2 */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
        .direction = TF_DIR_RX,
@@ -929,28 +1065,25 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
                .cond_true_goto  = 1,
                .cond_false_goto = 1,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 15,
+               .cond_start_idx = 38,
                .cond_nums = 0 },
        .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,
        .fdb_operand = BNXT_ULP_RF_IDX_RID,
        .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
-       .pri_operand = 0,
+       .pri_operand = 1,
        .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 = 1185,
+       .key_start_idx = 1309,
        .blob_key_bit_size = 94,
        .key_bit_size = 94,
        .key_num_fields = 43,
-       .result_start_idx = 646,
+       .result_start_idx = 659,
        .result_bit_size = 33,
-       .result_num_fields = 8,
-       .ident_start_idx = 6,
-       .ident_nums = 0
+       .result_num_fields = 8
        },
-       { /* class_tid: 1, thor, table: profile_tcam_cache.wr */
+       { /* class_tid: 2, , table: profile_tcam_cache.f2_wr */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
        .resource_sub_type =
@@ -960,266 +1093,303 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
                .cond_true_goto  = 1,
                .cond_false_goto = 1,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 15,
+               .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 = 1228,
+       .key_start_idx = 1352,
        .blob_key_bit_size = 14,
        .key_bit_size = 14,
        .key_num_fields = 3,
-       .result_start_idx = 654,
-       .result_bit_size = 82,
+       .result_start_idx = 667,
+       .result_bit_size = 138,
        .result_num_fields = 7
        },
-       { /* class_tid: 1, thor, table: wm.l4 */
+       { /* class_tid: 2, , table: wm.l3_l4.ipv4 */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
-       .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM_HIGH,
+       .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
        .direction = TF_DIR_RX,
        .execute_info = {
-               .cond_true_goto  = 2,
-               .cond_false_goto = 1,
+               .cond_true_goto  = 0,
+               .cond_false_goto = 0,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-               .cond_start_idx = 15,
+               .cond_start_idx = 38,
                .cond_nums = 1 },
        .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
        .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
        .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+       .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
+       .pri_operand = 0,
        .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
-       .shared_session = BNXT_ULP_SHARED_SESSION_YES,
-       .byte_order = BNXT_ULP_BYTE_ORDER_BE,
-       .key_start_idx = 1231,
+       .key_start_idx = 1355,
        .blob_key_bit_size = 0,
        .key_bit_size = 0,
        .key_num_fields = 114,
-       .result_start_idx = 661,
+       .result_start_idx = 674,
        .result_bit_size = 38,
        .result_num_fields = 5
        },
-       { /* class_tid: 1, thor, table: wm.l4_low */
-       .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
-       .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM_LOW,
-       .direction = TF_DIR_RX,
+       { /* class_tid: 3, , table: l2_cntxt_tcam_cache.rd */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+       .resource_sub_type =
+               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
+       .direction = TF_DIR_TX,
        .execute_info = {
                .cond_true_goto  = 1,
                .cond_false_goto = 1,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 16,
+               .cond_start_idx = 39,
                .cond_nums = 0 },
-       .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
-       .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_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,
-       .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
-       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
-       .shared_session = BNXT_ULP_SHARED_SESSION_YES,
-       .byte_order = BNXT_ULP_BYTE_ORDER_BE,
-       .key_start_idx = 1345,
-       .blob_key_bit_size = 0,
-       .key_bit_size = 0,
-       .key_num_fields = 114,
-       .result_start_idx = 666,
-       .result_bit_size = 38,
-       .result_num_fields = 5
+       .key_start_idx = 1469,
+       .blob_key_bit_size = 8,
+       .key_bit_size = 8,
+       .key_num_fields = 1,
+       .ident_start_idx = 27,
+       .ident_nums = 1
        },
-       { /* class_tid: 1, thor, table: control.check_rss_action */
+       { /* class_tid: 3, , table: control.ipv6_check */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
-       .direction = TF_DIR_RX,
+       .direction = TF_DIR_TX,
        .execute_info = {
                .cond_true_goto  = 1,
-               .cond_false_goto = 0,
+               .cond_false_goto = 8,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-               .cond_start_idx = 16,
+               .cond_start_idx = 39,
                .cond_nums = 1 },
-       .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
-       .byte_order = BNXT_ULP_BYTE_ORDER_LE
-       },
-       { /* class_tid: 1, thor, table: control.rss_config */
-       .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
-       .direction = TF_DIR_RX,
-       .execute_info = {
-               .cond_true_goto  = 0,
-               .cond_false_goto = 0,
-               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 17,
-               .cond_nums = 0 },
-       .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
-       .func_info = {
-               .func_opc = BNXT_ULP_FUNC_OPC_RSS_CONFIG,
-               .func_dst_opr = BNXT_ULP_RF_IDX_CC },
-       .byte_order = BNXT_ULP_BYTE_ORDER_LE
+       .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
        },
-       { /* class_tid: 2, thor, table: port_table.rd */
+       { /* class_tid: 3, , table: profile_tcam_cache.ipv6_rd */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
        .resource_sub_type =
-               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PORT_TABLE,
-       .direction = TF_DIR_RX,
+               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
+       .direction = TF_DIR_TX,
        .execute_info = {
                .cond_true_goto  = 1,
-               .cond_false_goto = 1,
-               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 17,
-               .cond_nums = 0 },
+               .cond_false_goto = 1023,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+               .cond_start_idx = 40,
+               .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_NOP,
-       .byte_order = BNXT_ULP_BYTE_ORDER_LE,
-       .key_start_idx = 1459,
-       .blob_key_bit_size = 10,
-       .key_bit_size = 10,
-       .key_num_fields = 1,
-       .ident_start_idx = 6,
-       .ident_nums = 3
+       .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+       .key_start_idx = 1470,
+       .blob_key_bit_size = 14,
+       .key_bit_size = 14,
+       .key_num_fields = 3,
+       .ident_start_idx = 28,
+       .ident_nums = 4
        },
-       { /* class_tid: 2, thor, table: mac_addr_cache.rd */
-       .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
-       .resource_sub_type =
-               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,
-       .direction = TF_DIR_RX,
+       { /* class_tid: 3, , table: control.ipv6_prof_cache_check */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+       .direction = TF_DIR_TX,
        .execute_info = {
-               .cond_true_goto  = 1,
+               .cond_true_goto  = 2,
                .cond_false_goto = 1,
-               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 17,
-               .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 = 1460,
-       .blob_key_bit_size = 73,
-       .key_bit_size = 73,
-       .key_num_fields = 5,
-       .ident_start_idx = 9,
-       .ident_nums = 0
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+               .cond_start_idx = 41,
+               .cond_nums = 1 },
+       .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
+       .fdb_operand = BNXT_ULP_RF_IDX_RID
        },
-       { /* class_tid: 2, thor, table: control.0 */
+       { /* class_tid: 3, , table: control.v6_conflict_check */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
-       .direction = TF_DIR_RX,
+       .direction = TF_DIR_TX,
        .execute_info = {
-               .cond_true_goto  = 1,
-               .cond_false_goto = 3,
+               .cond_true_goto  = 4,
+               .cond_false_goto = 1023,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-               .cond_start_idx = 17,
+               .cond_start_idx = 42,
                .cond_nums = 1 },
-       .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
+       .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
+       .func_info = {
+               .func_opc = BNXT_ULP_FUNC_OPC_EQ,
+               .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE,
+               .func_opr1 = BNXT_ULP_RF_IDX_FLOW_SIG_ID,
+               .func_src2 = BNXT_ULP_FUNC_SRC_COMP_FIELD,
+               .func_opr2 = BNXT_ULP_CF_IDX_FLOW_SIG_ID,
+               .func_dst_opr = BNXT_ULP_RF_IDX_CC }
+       },
+       { /* class_tid: 3, , table: fkb_select.l2_l3_l4_v6_em */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
+       .resource_type = TF_TBL_TYPE_EM_FKB,
+       .direction = TF_DIR_TX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+               .cond_start_idx = 43,
+               .cond_nums = 0 },
+       .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
+       .tbl_operand = BNXT_ULP_RF_IDX_EM_KEY_ID_0,
+       .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
        .fdb_operand = BNXT_ULP_RF_IDX_RID,
-       .byte_order = BNXT_ULP_BYTE_ORDER_LE
+       .result_start_idx = 679,
+       .result_bit_size = 106,
+       .result_num_fields = 106
        },
-       { /* class_tid: 2, thor, table: l2_cntxt_tcam.0 */
+       { /* class_tid: 3, , table: profile_tcam.l2_l3_l4_v6_em */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
-       .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
-       .direction = TF_DIR_RX,
+       .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
+       .direction = TF_DIR_TX,
        .execute_info = {
                .cond_true_goto  = 1,
                .cond_false_goto = 1,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 18,
+               .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,
+       .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
        .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
        .fdb_operand = BNXT_ULP_RF_IDX_RID,
        .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
        .pri_operand = 0,
-       .byte_order = BNXT_ULP_BYTE_ORDER_LE,
-       .key_start_idx = 1465,
-       .blob_key_bit_size = 213,
-       .key_bit_size = 213,
-       .key_num_fields = 21,
-       .result_start_idx = 671,
-       .result_bit_size = 43,
-       .result_num_fields = 6,
-       .ident_start_idx = 9,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
+       .key_start_idx = 1473,
+       .blob_key_bit_size = 94,
+       .key_bit_size = 94,
+       .key_num_fields = 43,
+       .result_start_idx = 785,
+       .result_bit_size = 33,
+       .result_num_fields = 8,
+       .ident_start_idx = 32,
        .ident_nums = 1
        },
-       { /* class_tid: 2, thor, table: mac_addr_cache.wr */
+       { /* class_tid: 3, , table: profile_tcam_cache.l2_l3_l4_v6_wr */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+       .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
        .resource_sub_type =
-               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,
-       .direction = TF_DIR_RX,
+               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
+       .direction = TF_DIR_TX,
        .execute_info = {
                .cond_true_goto  = 1,
                .cond_false_goto = 1,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 18,
+               .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_HASH,
+       .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 = 1486,
-       .blob_key_bit_size = 73,
-       .key_bit_size = 73,
-       .key_num_fields = 5,
-       .result_start_idx = 677,
-       .result_bit_size = 62,
-       .result_num_fields = 4
+       .key_start_idx = 1516,
+       .blob_key_bit_size = 14,
+       .key_bit_size = 14,
+       .key_num_fields = 3,
+       .result_start_idx = 793,
+       .result_bit_size = 138,
+       .result_num_fields = 7
+       },
+       { /* class_tid: 3, , table: em.l2_l3_l4_v6.0 */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
+       .resource_type = TF_MEM_INTERNAL,
+       .direction = TF_DIR_TX,
+       .execute_info = {
+               .cond_true_goto  = 0,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+               .cond_start_idx = 43,
+               .cond_nums = 0 },
+       .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
+       .key_start_idx = 1519,
+       .blob_key_bit_size = 0,
+       .key_bit_size = 0,
+       .key_num_fields = 114,
+       .result_start_idx = 800,
+       .result_bit_size = 0,
+       .result_num_fields = 6
        },
-       { /* class_tid: 2, thor, table: profile_tcam_cache.l3_l4_rd */
+       { /* class_tid: 3, , table: profile_tcam_cache.rd */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
-       .direction = TF_DIR_RX,
+       .direction = TF_DIR_TX,
        .execute_info = {
                .cond_true_goto  = 1,
                .cond_false_goto = 1,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 18,
+               .cond_start_idx = 43,
                .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 = 1491,
+       .key_start_idx = 1633,
        .blob_key_bit_size = 14,
        .key_bit_size = 14,
        .key_num_fields = 3,
-       .ident_start_idx = 10,
-       .ident_nums = 0
+       .ident_start_idx = 33,
+       .ident_nums = 2
        },
-       { /* class_tid: 2, thor, table: control.l3_l4 */
+       { /* class_tid: 3, , table: control.gen_tbl_miss */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
-       .direction = TF_DIR_RX,
+       .direction = TF_DIR_TX,
        .execute_info = {
                .cond_true_goto  = 1,
-               .cond_false_goto = 4,
+               .cond_false_goto = 5,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-               .cond_start_idx = 18,
+               .cond_start_idx = 43,
                .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
+       .fdb_operand = BNXT_ULP_RF_IDX_RID
        },
-       { /* class_tid: 2, thor, table: fkb_select.l3_l4_wm */
+       { /* class_tid: 3, , table: fkb_select.l3_l4_wc */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
        .resource_type = TF_TBL_TYPE_WC_FKB,
-       .direction = TF_DIR_RX,
+       .direction = TF_DIR_TX,
        .execute_info = {
                .cond_true_goto  = 1,
                .cond_false_goto = 1,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 19,
+               .cond_start_idx = 44,
                .cond_nums = 0 },
        .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
-       .tbl_operand = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
+       .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_1,
        .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
-       .byte_order = BNXT_ULP_BYTE_ORDER_LE,
-       .result_start_idx = 681,
+       .result_start_idx = 806,
        .result_bit_size = 106,
        .result_num_fields = 106
        },
-       { /* class_tid: 2, thor, table: profile_tcam.l3_l4 */
+       { /* class_tid: 3, , table: profile_tcam.l3_l4.ip */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
-       .direction = TF_DIR_RX,
+       .direction = TF_DIR_TX,
+       .execute_info = {
+               .cond_true_goto  = 2,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+               .cond_start_idx = 44,
+               .cond_nums = 1 },
+       .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,
+       .fdb_operand = BNXT_ULP_RF_IDX_RID,
+       .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
+       .pri_operand = 0,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
+       .key_start_idx = 1636,
+       .blob_key_bit_size = 94,
+       .key_bit_size = 94,
+       .key_num_fields = 43,
+       .result_start_idx = 912,
+       .result_bit_size = 33,
+       .result_num_fields = 8,
+       .ident_start_idx = 35,
+       .ident_nums = 0
+       },
+       { /* class_tid: 3, , table: profile_tcam.l3_l4.nonip */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
+       .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
+       .direction = TF_DIR_TX,
        .execute_info = {
                .cond_true_goto  = 1,
                .cond_false_goto = 1,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 19,
+               .cond_start_idx = 45,
                .cond_nums = 0 },
        .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
        .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
@@ -1229,51 +1399,49 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
        .pri_operand = 0,
        .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 = 1494,
+       .key_start_idx = 1679,
        .blob_key_bit_size = 94,
        .key_bit_size = 94,
        .key_num_fields = 43,
-       .result_start_idx = 787,
+       .result_start_idx = 920,
        .result_bit_size = 33,
        .result_num_fields = 8,
-       .ident_start_idx = 10,
+       .ident_start_idx = 35,
        .ident_nums = 0
        },
-       { /* class_tid: 2, thor, table: profile_tcam_cache.wr */
+       { /* class_tid: 3, , table: profile_tcam_cache.wr */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
-       .direction = TF_DIR_RX,
+       .direction = TF_DIR_TX,
        .execute_info = {
                .cond_true_goto  = 1,
                .cond_false_goto = 1,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 19,
+               .cond_start_idx = 45,
                .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 = 1537,
+       .key_start_idx = 1722,
        .blob_key_bit_size = 14,
        .key_bit_size = 14,
        .key_num_fields = 3,
-       .result_start_idx = 795,
-       .result_bit_size = 82,
+       .result_start_idx = 928,
+       .result_bit_size = 138,
        .result_num_fields = 7
        },
-       { /* class_tid: 2, thor, table: wm.l4 */
+       { /* class_tid: 3, , table: wm.l3_l4.ipv4 */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
-       .direction = TF_DIR_RX,
+       .direction = TF_DIR_TX,
        .execute_info = {
-               .cond_true_goto  = 1,
+               .cond_true_goto  = 0,
                .cond_false_goto = 1,
-               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 19,
-               .cond_nums = 0 },
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+               .cond_start_idx = 45,
+               .cond_nums = 2 },
        .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
        .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
        .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
@@ -1281,348 +1449,1234 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
        .pri_operand = 0,
        .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
-       .byte_order = BNXT_ULP_BYTE_ORDER_BE,
-       .key_start_idx = 1540,
+       .key_start_idx = 1725,
        .blob_key_bit_size = 0,
        .key_bit_size = 0,
        .key_num_fields = 114,
-       .result_start_idx = 802,
+       .result_start_idx = 935,
        .result_bit_size = 38,
        .result_num_fields = 5
        },
-       { /* class_tid: 2, thor, table: control.check_rss_action */
-       .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
-       .direction = TF_DIR_RX,
+       { /* class_tid: 3, , table: wm.l3.ipv4 */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
+       .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
+       .direction = TF_DIR_TX,
        .execute_info = {
-               .cond_true_goto  = 1,
-               .cond_false_goto = 0,
+               .cond_true_goto  = 0,
+               .cond_false_goto = 1,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-               .cond_start_idx = 19,
+               .cond_start_idx = 47,
                .cond_nums = 1 },
-       .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
-       .byte_order = BNXT_ULP_BYTE_ORDER_LE
+       .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
+       .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
+       .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+       .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
+       .pri_operand = 0,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
+       .key_start_idx = 1839,
+       .blob_key_bit_size = 0,
+       .key_bit_size = 0,
+       .key_num_fields = 114,
+       .result_start_idx = 940,
+       .result_bit_size = 38,
+       .result_num_fields = 5
        },
-       { /* class_tid: 2, thor, table: control.rss_config */
-       .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
-       .direction = TF_DIR_RX,
+       { /* class_tid: 3, , table: wm.l2 */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
+       .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
+       .direction = TF_DIR_TX,
        .execute_info = {
                .cond_true_goto  = 0,
                .cond_false_goto = 0,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 20,
+               .cond_start_idx = 48,
                .cond_nums = 0 },
-       .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
-       .func_info = {
-               .func_opc = BNXT_ULP_FUNC_OPC_RSS_CONFIG,
-               .func_dst_opr = BNXT_ULP_RF_IDX_CC },
-       .byte_order = BNXT_ULP_BYTE_ORDER_LE
+       .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
+       .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
+       .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+       .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
+       .pri_operand = 0,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
+       .key_start_idx = 1953,
+       .blob_key_bit_size = 0,
+       .key_bit_size = 0,
+       .key_num_fields = 114,
+       .result_start_idx = 945,
+       .result_bit_size = 38,
+       .result_num_fields = 5
        },
-       { /* class_tid: 3, thor, table: control.0 */
-       .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+       { /* class_tid: 4, , table: int_full_act_record.0 */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
+       .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
+       .resource_sub_type =
+               BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
        .direction = TF_DIR_RX,
        .execute_info = {
-               .cond_true_goto  = 0,
-               .cond_false_goto = 0,
+               .cond_true_goto  = 1,
+               .cond_false_goto = 1,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 20,
+               .cond_start_idx = 48,
                .cond_nums = 0 },
-       .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
-       .byte_order = BNXT_ULP_BYTE_ORDER_LE
+       .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
+       .tbl_operand = BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR,
+       .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
+       .result_start_idx = 950,
+       .result_bit_size = 128,
+       .result_num_fields = 17
        },
-       { /* class_tid: 4, thor, table: control.get_parent_mac_addr */
-       .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+       { /* class_tid: 4, , table: port_table.ing_wr_0 */
+       .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 = 20,
+               .cond_start_idx = 48,
                .cond_nums = 0 },
-       .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
-       .func_info = {
-               .func_opc = BNXT_ULP_FUNC_OPC_GET_PARENT_MAC_ADDR,
-               .func_dst_opr = BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC },
-       .byte_order = BNXT_ULP_BYTE_ORDER_LE
+       .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,
+       .key_start_idx = 2067,
+       .blob_key_bit_size = 10,
+       .key_bit_size = 10,
+       .key_num_fields = 1,
+       .result_start_idx = 967,
+       .result_bit_size = 152,
+       .result_num_fields = 5
+       },
+       { /* class_tid: 4, , table: l2_cntxt_tcam_cache.ing_rd */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+       .resource_sub_type =
+               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
+       .direction = TF_DIR_RX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+               .cond_start_idx = 48,
+               .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,
+       .key_start_idx = 2068,
+       .blob_key_bit_size = 8,
+       .key_bit_size = 8,
+       .key_num_fields = 1,
+       .ident_start_idx = 35,
+       .ident_nums = 0
        },
-       { /* class_tid: 4, thor, table: control.0 */
+       { /* class_tid: 4, , table: control.ing_0 */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
        .direction = TF_DIR_RX,
        .execute_info = {
                .cond_true_goto  = 1,
                .cond_false_goto = 3,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-               .cond_start_idx = 20,
+               .cond_start_idx = 48,
                .cond_nums = 1 },
-       .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
-       .func_info = {
-               .func_opc = BNXT_ULP_FUNC_OPC_EQ,
-               .func_src1 = BNXT_ULP_FUNC_SRC_COMP_FIELD,
-               .func_opr1 = BNXT_ULP_CF_IDX_PHY_PORT_VPORT,
-               .func_src2 = BNXT_ULP_FUNC_SRC_CONST,
-               .func_opr2 = 1,
-               .func_dst_opr = BNXT_ULP_RF_IDX_CC },
-       .byte_order = BNXT_ULP_BYTE_ORDER_LE
-       },
-       { /* class_tid: 4, thor, table: int_full_act_record.0 */
-       .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
-       .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
-       .resource_sub_type =
-               BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
+       .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
+       .fdb_operand = BNXT_ULP_RF_IDX_RID
+       },
+       { /* class_tid: 4, , table: l2_cntxt_tcam.ing_0 */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
+       .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
        .direction = TF_DIR_RX,
        .execute_info = {
                .cond_true_goto  = 1,
                .cond_false_goto = 1,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 21,
+               .cond_start_idx = 49,
                .cond_nums = 0 },
-       .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
-       .tbl_operand = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_0,
-       .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
+       .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
+       .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
+       .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
+       .fdb_operand = BNXT_ULP_RF_IDX_RID,
+       .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
+       .pri_operand = 0,
        .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
-       .shared_session = BNXT_ULP_SHARED_SESSION_YES,
-       .byte_order = BNXT_ULP_BYTE_ORDER_LE,
-       .result_start_idx = 807,
-       .result_bit_size = 128,
-       .result_num_fields = 17
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
+       .key_start_idx = 2069,
+       .blob_key_bit_size = 213,
+       .key_bit_size = 213,
+       .key_num_fields = 21,
+       .result_start_idx = 972,
+       .result_bit_size = 43,
+       .result_num_fields = 6,
+       .ident_start_idx = 35,
+       .ident_nums = 1
        },
-       { /* class_tid: 4, thor, table: port_table.wr_0 */
+       { /* class_tid: 4, , table: l2_cntxt_tcam_cache.ing_wr */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
        .resource_sub_type =
-               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PORT_TABLE,
+               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
        .direction = TF_DIR_RX,
        .execute_info = {
-               .cond_true_goto  = 3,
+               .cond_true_goto  = 1,
                .cond_false_goto = 1,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 21,
+               .cond_start_idx = 49,
                .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 = 1654,
-       .blob_key_bit_size = 10,
-       .key_bit_size = 10,
+       .key_start_idx = 2090,
+       .blob_key_bit_size = 8,
+       .key_bit_size = 8,
        .key_num_fields = 1,
-       .result_start_idx = 824,
-       .result_bit_size = 152,
-       .result_num_fields = 5
+       .result_start_idx = 978,
+       .result_bit_size = 62,
+       .result_num_fields = 4
+       },
+       { /* class_tid: 4, , table: parif_def_arec_ptr.ing_0 */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
+       .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_DFLT_ACT_REC_PTR,
+       .direction = TF_DIR_RX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+               .cond_start_idx = 49,
+               .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_NOP,
+       .result_start_idx = 982,
+       .result_bit_size = 32,
+       .result_num_fields = 1
        },
-       { /* class_tid: 4, thor, table: int_full_act_record.1 */
+       { /* class_tid: 4, , table: parif_def_err_arec_ptr.ing_0 */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
+       .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_ERR_ACT_REC_PTR,
+       .direction = TF_DIR_RX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+               .cond_start_idx = 49,
+               .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_NOP,
+       .result_start_idx = 983,
+       .result_bit_size = 32,
+       .result_num_fields = 1
+       },
+       { /* class_tid: 4, , table: int_full_act_record.egr_0 */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
        .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
        .resource_sub_type =
-               BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
-       .direction = TF_DIR_RX,
+               BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_VFR_CFA_ACTION,
+       .direction = TF_DIR_TX,
        .execute_info = {
                .cond_true_goto  = 1,
                .cond_false_goto = 1,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 21,
+               .cond_start_idx = 49,
                .cond_nums = 0 },
-       .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
-       .tbl_operand = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_1,
-       .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
+       .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,
-       .shared_session = BNXT_ULP_SHARED_SESSION_YES,
-       .byte_order = BNXT_ULP_BYTE_ORDER_LE,
-       .result_start_idx = 829,
+       .result_start_idx = 984,
        .result_bit_size = 128,
-       .result_num_fields = 17
+       .result_num_fields = 17,
+       .encap_num_fields = 0
        },
-       { /* class_tid: 4, thor, table: port_table.wr_1 */
+       { /* class_tid: 4, , table: port_table.egr_wr_0 */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PORT_TABLE,
-       .direction = TF_DIR_RX,
+       .direction = TF_DIR_TX,
        .execute_info = {
                .cond_true_goto  = 1,
                .cond_false_goto = 1,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 21,
+               .cond_start_idx = 49,
                .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 = 1655,
+       .key_start_idx = 2091,
        .blob_key_bit_size = 10,
        .key_bit_size = 10,
        .key_num_fields = 1,
-       .result_start_idx = 846,
+       .result_start_idx = 1001,
        .result_bit_size = 152,
        .result_num_fields = 5
        },
-       { /* class_tid: 4, thor, table: port_table.rd */
+       { /* class_tid: 4, , table: control.egr_0 */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+       .direction = TF_DIR_RX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 5,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+               .cond_start_idx = 49,
+               .cond_nums = 1 },
+       .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
+       },
+       { /* class_tid: 4, , table: l2_cntxt_tcam_cache.egr_rd_vfr */
        .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
        .resource_sub_type =
-               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PORT_TABLE,
-       .direction = TF_DIR_RX,
+               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
+       .direction = TF_DIR_TX,
        .execute_info = {
                .cond_true_goto  = 1,
                .cond_false_goto = 1,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 21,
+               .cond_start_idx = 50,
                .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_NOP,
-       .byte_order = BNXT_ULP_BYTE_ORDER_LE,
-       .key_start_idx = 1656,
-       .blob_key_bit_size = 10,
-       .key_bit_size = 10,
+       .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+       .key_start_idx = 2092,
+       .blob_key_bit_size = 8,
+       .key_bit_size = 8,
        .key_num_fields = 1,
-       .ident_start_idx = 10,
-       .ident_nums = 1
+       .ident_start_idx = 36,
+       .ident_nums = 0
        },
-       { /* class_tid: 4, thor, table: parif_def_arec_ptr.ing_0 */
-       .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
-       .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_DFLT_ACT_REC_PTR,
+       { /* class_tid: 4, , table: control.egr_1 */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
        .direction = TF_DIR_RX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 0,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+               .cond_start_idx = 50,
+               .cond_nums = 1 },
+       .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
+       .fdb_operand = BNXT_ULP_RF_IDX_RID
+       },
+       { /* class_tid: 4, , table: ilt_tbl.egr_vfr */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
+       .resource_type = TF_IF_TBL_TYPE_ILT,
+       .direction = TF_DIR_TX,
        .execute_info = {
                .cond_true_goto  = 1,
                .cond_false_goto = 1,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 21,
+               .cond_start_idx = 51,
                .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_NOP,
-       .byte_order = BNXT_ULP_BYTE_ORDER_LE,
-       .result_start_idx = 851,
-       .result_bit_size = 32,
-       .result_num_fields = 1
+       .tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_SVIF,
+       .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
+       .fdb_operand = BNXT_ULP_RF_IDX_RID,
+       .result_start_idx = 1006,
+       .result_bit_size = 64,
+       .result_num_fields = 8
        },
-       { /* class_tid: 4, thor, table: parif_def_err_arec_ptr.ing_0 */
-       .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
-       .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_ERR_ACT_REC_PTR,
-       .direction = TF_DIR_RX,
+       { /* class_tid: 4, , table: l2_cntxt_tcam_cache.egr_wr_vfr */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+       .resource_sub_type =
+               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
+       .direction = TF_DIR_TX,
        .execute_info = {
                .cond_true_goto  = 0,
-               .cond_false_goto = 0,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+               .cond_start_idx = 51,
+               .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,
+       .key_start_idx = 2093,
+       .blob_key_bit_size = 8,
+       .key_bit_size = 8,
+       .key_num_fields = 1,
+       .result_start_idx = 1014,
+       .result_bit_size = 62,
+       .result_num_fields = 4
+       },
+       { /* class_tid: 4, , table: l2_cntxt_tcam_cache.egr_rd */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+       .resource_sub_type =
+               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
+       .direction = TF_DIR_TX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+               .cond_start_idx = 51,
+               .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,
+       .key_start_idx = 2094,
+       .blob_key_bit_size = 8,
+       .key_bit_size = 8,
+       .key_num_fields = 1,
+       .ident_start_idx = 36,
+       .ident_nums = 0
+       },
+       { /* class_tid: 4, , table: control.egr_2 */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+       .direction = TF_DIR_RX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 3,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+               .cond_start_idx = 51,
+               .cond_nums = 1 },
+       .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
+       .fdb_operand = BNXT_ULP_RF_IDX_RID
+       },
+       { /* class_tid: 4, , table: l2_cntxt_tcam.egr_0 */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
+       .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
+       .direction = TF_DIR_TX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+               .cond_start_idx = 52,
+               .cond_nums = 0 },
+       .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
+       .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
+       .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
+       .fdb_operand = BNXT_ULP_RF_IDX_RID,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
+       .key_start_idx = 2095,
+       .blob_key_bit_size = 213,
+       .key_bit_size = 213,
+       .key_num_fields = 21,
+       .result_start_idx = 1018,
+       .result_bit_size = 43,
+       .result_num_fields = 6,
+       .ident_start_idx = 36,
+       .ident_nums = 1
+       },
+       { /* class_tid: 4, , table: l2_cntxt_tcam_cache.egr_wr */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+       .resource_sub_type =
+               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
+       .direction = TF_DIR_TX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+               .cond_start_idx = 52,
+               .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,
+       .key_start_idx = 2116,
+       .blob_key_bit_size = 8,
+       .key_bit_size = 8,
+       .key_num_fields = 1,
+       .result_start_idx = 1024,
+       .result_bit_size = 62,
+       .result_num_fields = 4
+       },
+       { /* class_tid: 4, , table: parif_def_arec_ptr.egr_0 */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
+       .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_DFLT_ACT_REC_PTR,
+       .direction = TF_DIR_TX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 1,
                .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-               .cond_start_idx = 21,
+               .cond_start_idx = 52,
                .cond_nums = 0 },
        .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
-       .tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF,
+       .tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_PARIF,
+       .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+       .result_start_idx = 1028,
+       .result_bit_size = 32,
+       .result_num_fields = 1
+       },
+       { /* class_tid: 4, , table: parif_def_err_arec_ptr.egr_0 */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
+       .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_ERR_ACT_REC_PTR,
+       .direction = TF_DIR_TX,
+       .execute_info = {
+               .cond_true_goto  = 0,
+               .cond_false_goto = 0,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+               .cond_start_idx = 52,
+               .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,
+       .result_start_idx = 1029,
+       .result_bit_size = 32,
+       .result_num_fields = 1
+       },
+       { /* class_tid: 5, , table: int_full_act_record.loopback */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
+       .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
+       .resource_sub_type =
+               BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_VFR_CFA_ACTION,
+       .direction = TF_DIR_TX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+               .cond_start_idx = 52,
+               .cond_nums = 0 },
+       .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
+       .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
        .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
-       .byte_order = BNXT_ULP_BYTE_ORDER_LE,
-       .result_start_idx = 852,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
+       .result_start_idx = 1030,
+       .result_bit_size = 128,
+       .result_num_fields = 17,
+       .encap_num_fields = 0
+       },
+       { /* class_tid: 5, , table: port_table.egr_wr */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+       .resource_sub_type =
+               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PORT_TABLE,
+       .direction = TF_DIR_TX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+               .cond_start_idx = 52,
+               .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,
+       .key_start_idx = 2117,
+       .blob_key_bit_size = 10,
+       .key_bit_size = 10,
+       .key_num_fields = 1,
+       .result_start_idx = 1047,
+       .result_bit_size = 152,
+       .result_num_fields = 5
+       },
+       { /* class_tid: 5, , table: l2_cntxt_tcam_cache.vf_rd_egr */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+       .resource_sub_type =
+               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
+       .direction = TF_DIR_TX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+               .cond_start_idx = 52,
+               .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,
+       .key_start_idx = 2118,
+       .blob_key_bit_size = 8,
+       .key_bit_size = 8,
+       .key_num_fields = 1,
+       .ident_start_idx = 37,
+       .ident_nums = 0
+       },
+       { /* class_tid: 5, , table: control.vf_0 */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+       .direction = TF_DIR_TX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 3,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+               .cond_start_idx = 52,
+               .cond_nums = 1 },
+       .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
+       .fdb_operand = BNXT_ULP_RF_IDX_RID
+       },
+       { /* class_tid: 5, , table: l2_cntxt_tcam.vf_egr */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
+       .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
+       .direction = TF_DIR_TX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+               .cond_start_idx = 53,
+               .cond_nums = 0 },
+       .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
+       .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
+       .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
+       .fdb_operand = BNXT_ULP_RF_IDX_RID,
+       .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
+       .pri_operand = 0,
+       .key_start_idx = 2119,
+       .blob_key_bit_size = 213,
+       .key_bit_size = 213,
+       .key_num_fields = 21,
+       .result_start_idx = 1052,
+       .result_bit_size = 43,
+       .result_num_fields = 6,
+       .ident_start_idx = 37,
+       .ident_nums = 1
+       },
+       { /* class_tid: 5, , table: l2_cntxt_tcam_cache.vf_egr_wr */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+       .resource_sub_type =
+               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
+       .direction = TF_DIR_TX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+               .cond_start_idx = 53,
+               .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,
+       .key_start_idx = 2140,
+       .blob_key_bit_size = 8,
+       .key_bit_size = 8,
+       .key_num_fields = 1,
+       .result_start_idx = 1058,
+       .result_bit_size = 62,
+       .result_num_fields = 4
+       },
+       { /* class_tid: 5, , table: parif_def_arec_ptr.vf_egr */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
+       .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_DFLT_ACT_REC_PTR,
+       .direction = TF_DIR_TX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+               .cond_start_idx = 53,
+               .cond_nums = 0 },
+       .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_CONST,
+       .tbl_operand = ULP_THOR_SYM_LOOPBACK_PARIF,
+       .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+       .result_start_idx = 1062,
        .result_bit_size = 32,
        .result_num_fields = 1
+       },
+       { /* class_tid: 5, , table: parif_def_err_arec_ptr.vf_egr */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
+       .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_ERR_ACT_REC_PTR,
+       .direction = TF_DIR_TX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+               .cond_start_idx = 53,
+               .cond_nums = 0 },
+       .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_CONST,
+       .tbl_operand = ULP_THOR_SYM_LOOPBACK_PARIF,
+       .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+       .result_start_idx = 1063,
+       .result_bit_size = 32,
+       .result_num_fields = 1
+       },
+       { /* class_tid: 5, , table: int_full_act_record.vf_ing */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
+       .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
+       .resource_sub_type =
+               BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
+       .direction = TF_DIR_RX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+               .cond_start_idx = 53,
+               .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,
+       .result_start_idx = 1064,
+       .result_bit_size = 128,
+       .result_num_fields = 17,
+       .encap_num_fields = 0
+       },
+       { /* class_tid: 5, , table: ilt_tbl.vf_ing */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
+       .resource_type = TF_IF_TBL_TYPE_ILT,
+       .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 = 53,
+               .cond_nums = 0 },
+       .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
+       .tbl_operand = BNXT_ULP_CF_IDX_VF_FUNC_SVIF,
+       .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+       .result_start_idx = 1081,
+       .result_bit_size = 64,
+       .result_num_fields = 8
+       },
+       { /* class_tid: 5, , table: l2_cntxt_tcam_cache.rd_egr0 */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+       .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
+       .resource_sub_type =
+               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
+       .direction = TF_DIR_TX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+               .cond_start_idx = 53,
+               .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,
+       .key_start_idx = 2141,
+       .blob_key_bit_size = 8,
+       .key_bit_size = 8,
+       .key_num_fields = 1,
+       .ident_start_idx = 38,
+       .ident_nums = 0
+       },
+       { /* class_tid: 5, , table: control.0 */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+       .direction = TF_DIR_TX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 3,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+               .cond_start_idx = 53,
+               .cond_nums = 1 },
+       .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
+       .fdb_operand = BNXT_ULP_RF_IDX_RID
+       },
+       { /* class_tid: 5, , table: ilt_tbl.vfr_egr */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
+       .resource_type = TF_IF_TBL_TYPE_ILT,
+       .direction = TF_DIR_TX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+               .cond_start_idx = 54,
+               .cond_nums = 0 },
+       .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
+       .tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_SVIF,
+       .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
+       .fdb_operand = BNXT_ULP_RF_IDX_RID,
+       .result_start_idx = 1089,
+       .result_bit_size = 64,
+       .result_num_fields = 8
+       },
+       { /* class_tid: 5, , table: l2_cntxt_tcam_cache.vfr_wr_egr0 */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+       .resource_sub_type =
+               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
+       .direction = TF_DIR_TX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+               .cond_start_idx = 54,
+               .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,
+       .key_start_idx = 2142,
+       .blob_key_bit_size = 8,
+       .key_bit_size = 8,
+       .key_num_fields = 1,
+       .result_start_idx = 1097,
+       .result_bit_size = 62,
+       .result_num_fields = 4
+       },
+       { /* class_tid: 5, , table: metadata_record.vfr_egr */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
+       .resource_type = TF_TBL_TYPE_METADATA,
+       .resource_sub_type =
+               BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
+       .direction = TF_DIR_TX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+               .cond_start_idx = 54,
+               .cond_nums = 0 },
+       .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
+       .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_PROF_0,
+       .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
+       .result_start_idx = 1101,
+       .result_bit_size = 16,
+       .result_num_fields = 1
+       },
+       { /* class_tid: 5, , table: mod_record.vfr_egr */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
+       .resource_type = TF_TBL_TYPE_ACT_MODIFY_64B,
+       .resource_sub_type =
+               BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
+       .direction = TF_DIR_TX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+               .cond_start_idx = 54,
+               .cond_nums = 0 },
+       .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
+       .tbl_operand = BNXT_ULP_RF_IDX_MODIFY_PTR,
+       .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+       .result_start_idx = 1102,
+       .result_bit_size = 0,
+       .result_num_fields = 0,
+       .encap_num_fields = 47
+       },
+       { /* class_tid: 5, , table: int_full_act_record.vfr_egr */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
+       .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
+       .resource_sub_type =
+               BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_VFR_CFA_ACTION,
+       .direction = TF_DIR_TX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+               .cond_start_idx = 54,
+               .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,
+       .result_start_idx = 1149,
+       .result_bit_size = 128,
+       .result_num_fields = 17
+       },
+       { /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_rd_vfr */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+       .resource_sub_type =
+               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
+       .direction = TF_DIR_RX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+               .cond_start_idx = 54,
+               .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,
+       .key_start_idx = 2143,
+       .blob_key_bit_size = 8,
+       .key_bit_size = 8,
+       .key_num_fields = 1,
+       .ident_start_idx = 38,
+       .ident_nums = 0
+       },
+       { /* class_tid: 5, , table: control.ing_rd_vfr */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+       .direction = TF_DIR_TX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 5,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+               .cond_start_idx = 54,
+               .cond_nums = 1 },
+       .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
+       .fdb_operand = BNXT_ULP_RF_IDX_RID
+       },
+       { /* class_tid: 5, , table: l2_cntxt_tcam.vfr_ing0 */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
+       .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
+       .direction = TF_DIR_RX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+               .cond_start_idx = 55,
+               .cond_nums = 0 },
+       .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
+       .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
+       .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
+       .fdb_operand = BNXT_ULP_RF_IDX_RID,
+       .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
+       .pri_operand = 0,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
+       .key_start_idx = 2144,
+       .blob_key_bit_size = 213,
+       .key_bit_size = 213,
+       .key_num_fields = 21,
+       .result_start_idx = 1166,
+       .result_bit_size = 43,
+       .result_num_fields = 6,
+       .ident_start_idx = 38,
+       .ident_nums = 0
+       },
+       { /* class_tid: 5, , table: fkb_select.vfr_em */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
+       .resource_type = TF_TBL_TYPE_EM_FKB,
+       .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 = 55,
+               .cond_nums = 0 },
+       .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
+       .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_KEY_ID_0,
+       .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
+       .result_start_idx = 1172,
+       .result_bit_size = 106,
+       .result_num_fields = 106
+       },
+       { /* class_tid: 5, , table: profile_tcam.vfr_ing0 */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
+       .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
+       .direction = TF_DIR_RX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+               .cond_start_idx = 55,
+               .cond_nums = 0 },
+       .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,
+       .fdb_operand = BNXT_ULP_RF_IDX_RID,
+       .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
+       .pri_operand = 0,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
+       .key_start_idx = 2165,
+       .blob_key_bit_size = 94,
+       .key_bit_size = 94,
+       .key_num_fields = 43,
+       .result_start_idx = 1278,
+       .result_bit_size = 33,
+       .result_num_fields = 8
+       },
+       { /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_wr_vfr */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+       .resource_sub_type =
+               BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
+       .direction = TF_DIR_RX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+               .cond_start_idx = 55,
+               .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,
+       .key_start_idx = 2208,
+       .blob_key_bit_size = 8,
+       .key_bit_size = 8,
+       .key_num_fields = 1,
+       .result_start_idx = 1286,
+       .result_bit_size = 62,
+       .result_num_fields = 4
+       },
+       { /* class_tid: 5, , table: int_full_act_record.vfr_ing0 */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
+       .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
+       .resource_sub_type =
+               BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
+       .direction = TF_DIR_RX,
+       .execute_info = {
+               .cond_true_goto  = 1,
+               .cond_false_goto = 1,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+               .cond_start_idx = 55,
+               .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,
+       .result_start_idx = 1290,
+       .result_bit_size = 128,
+       .result_num_fields = 17
+       },
+       { /* class_tid: 5, , table: em.vfr.0 */
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
+       .resource_type = TF_MEM_INTERNAL,
+       .direction = TF_DIR_RX,
+       .execute_info = {
+               .cond_true_goto  = 0,
+               .cond_false_goto = 0,
+               .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+               .cond_start_idx = 55,
+               .cond_nums = 0 },
+       .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
+       .key_start_idx = 2209,
+       .blob_key_bit_size = 0,
+       .key_bit_size = 0,
+       .key_num_fields = 114,
+       .result_start_idx = 1307,
+       .result_bit_size = 0,
+       .result_num_fields = 6
        }
 };
 
 struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
-       /* cond_execute: class_tid: 1, control.check_gre */
+       /* cond_reject: thor, class_tid: 1 */
        {
-       .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-       .cond_operand = BNXT_ULP_HDR_BIT_T_GRE
+       .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
+       .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH
+       },
+       /* cond_execute: class_tid: 1, l2_cntxt_tcam_cache.rd */
+       {
+       .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET,
+       .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
        },
-       /* cond_execute: class_tid: 1, control.gre_hit */
+       /* cond_execute: class_tid: 1, control.0 */
        {
        .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
        .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
        },
-       /* cond_execute: class_tid: 1, wm.gre */
+       /* cond_execute: class_tid: 1, control.ipv6_check */
        {
-       .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
-       .cond_operand = BNXT_ULP_CF_IDX_WC_IS_HA_HIGH_REG
+       .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+       .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
        },
-       /* cond_execute: class_tid: 1, control.gre_frag_mac_hit */
+       /* cond_execute: class_tid: 1, profile_tcam_cache.ipv6_rd */
+       {
+       .cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET,
+       .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH
+       },
+       /* cond_execute: class_tid: 1, control.ipv6_prof_cache_check */
        {
        .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
        .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
        },
-       /* cond_execute: class_tid: 1, wm.gre_frag */
+       /* cond_execute: class_tid: 1, control.v6_conflict_check */
        {
-       .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
-       .cond_operand = BNXT_ULP_CF_IDX_WC_IS_HA_HIGH_REG
+       .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+       .cond_operand = BNXT_ULP_RF_IDX_CC
+       },
+       /* cond_execute: class_tid: 1, profile_tcam.l2_l3_l4_v6_em */
+       {
+       .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+       .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
        },
-       /* cond_execute: class_tid: 1, control.non_gre_mac */
+       /* cond_execute: class_tid: 1, 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: 1, control.icmpv4_test */
+       /* cond_execute: class_tid: 1, fkb_select.l3_l4_wm */
+       {
+       .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+       .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+       },
+       /* cond_execute: class_tid: 1, fkb_select.l3_l4_wm_vxlan */
        {
        .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-       .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+       .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+       },
+       /* cond_execute: class_tid: 1, profile_tcam.l3_l4.ip */
+       {
+       .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
+       .cond_operand = BNXT_ULP_CF_IDX_O_L3
+       },
+       {
+       .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.l3_l4.vxlan */
        {
        .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-       .cond_operand = BNXT_ULP_HDR_BIT_O_ICMP
+       .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
        },
-       /* cond_execute: class_tid: 1, control.icmpv4 */
+       /* cond_execute: class_tid: 1, wm.l3_l4.ipv4 */
        {
-       .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-       .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+       .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
+       .cond_operand = BNXT_ULP_CF_IDX_O_L4
+       },
+       {
+       .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+       .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+       },
+       {
+       .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+       .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
        },
-       /* cond_execute: class_tid: 1, wm.icmpv4 */
+       /* cond_execute: class_tid: 1, wm.l3_l4.ipv6 */
        {
        .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
-       .cond_operand = BNXT_ULP_CF_IDX_WC_IS_HA_HIGH_REG
+       .cond_operand = BNXT_ULP_CF_IDX_O_L4
+       },
+       {
+       .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+       .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+       },
+       {
+       .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+       .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+       },
+       /* cond_execute: class_tid: 1, wm.l3.ipv4 */
+       {
+       .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+       .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+       },
+       {
+       .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+       .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
        },
-       /* cond_execute: class_tid: 1, control.icmpv6_test */
+       /* cond_execute: class_tid: 1, wm.l3.ipv6 */
        {
        .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
        .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
        },
        {
+       .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+       .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+       },
+       /* cond_execute: class_tid: 1, wm.l2 */
+       {
+       .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+       .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+       },
+       /* cond_execute: class_tid: 1, wm.l3_l4.vxlan.ipv4 */
+       {
+       .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, wm.l3_l4.vxlan.ipv6 */
+       {
+       .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_ICMP
+       .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
        },
-       /* cond_execute: class_tid: 1, control.icmpv6 */
+       /* cond_execute: class_tid: 2, control.tunnel_cache_check */
        {
        .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
        .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
        },
-       /* cond_execute: class_tid: 1, wm.icmpv6 */
+       /* cond_execute: class_tid: 2, control.flow_type_check */
        {
-       .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
-       .cond_operand = BNXT_ULP_CF_IDX_WC_IS_HA_HIGH_REG
+       .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+       .cond_operand = BNXT_ULP_HDR_BIT_F1
        },
-       /* cond_execute: class_tid: 1, control.l3_l4 */
+       /* cond_execute: class_tid: 2, control.mac_addr_cache_check */
        {
        .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
        .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
        },
-       /* cond_execute: class_tid: 1, wm.l4 */
+       /* cond_execute: class_tid: 2, control.ipv6_check */
        {
-       .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
-       .cond_operand = BNXT_ULP_CF_IDX_WC_IS_HA_HIGH_REG
+       .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+       .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6
        },
-       /* cond_execute: class_tid: 1, control.check_rss_action */
+       /* cond_execute: class_tid: 2, profile_tcam_cache.f2_ipv6_rd */
        {
-       .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
-       .cond_operand = BNXT_ULP_ACT_BIT_RSS
+       .cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET,
+       .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH
        },
-       /* cond_execute: class_tid: 2, control.0 */
+       /* cond_execute: class_tid: 2, control.f2_ipv6_prof_cache_check */
        {
        .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
        .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
        },
-       /* cond_execute: class_tid: 2, control.l3_l4 */
+       /* cond_execute: class_tid: 2, control.f2_v6_conflict_check */
        {
        .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-       .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+       .cond_operand = BNXT_ULP_RF_IDX_CC
        },
-       /* cond_execute: class_tid: 2, control.check_rss_action */
+       /* cond_execute: class_tid: 2, control.profile_tcam_cache.f2_check */
        {
-       .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
-       .cond_operand = BNXT_ULP_ACT_BIT_RSS
+       .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+       .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
        },
-       /* cond_execute: class_tid: 4, control.0 */
+       /* cond_execute: class_tid: 2, fkb_select.f2_wm */
        {
-       .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
-       .cond_operand = BNXT_ULP_RF_IDX_CC
-       }
-};
-
-struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
-       /* class_tid: 1, thor, table: port_table.rd */
+       .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+       .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+       },
+       /* cond_execute: class_tid: 2, wm.l3_l4.ipv4 */
        {
-       .field_info_mask = {
+       .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+       .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+       },
+       /* cond_execute: class_tid: 3, control.ipv6_check */
+       {
+       .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+       .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+       },
+       /* cond_execute: class_tid: 3, profile_tcam_cache.ipv6_rd */
+       {
+       .cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET,
+       .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH
+       },
+       /* cond_execute: class_tid: 3, control.ipv6_prof_cache_check */
+       {
+       .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+       .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+       },
+       /* cond_execute: class_tid: 3, control.v6_conflict_check */
+       {
+       .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+       .cond_operand = BNXT_ULP_RF_IDX_CC
+       },
+       /* cond_execute: class_tid: 3, 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: 3, profile_tcam.l3_l4.ip */
+       {
+       .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
+       .cond_operand = BNXT_ULP_CF_IDX_O_L3
+       },
+       /* cond_execute: class_tid: 3, wm.l3_l4.ipv4 */
+       {
+       .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
+       .cond_operand = BNXT_ULP_CF_IDX_O_L4
+       },
+       {
+       .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+       .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+       },
+       /* cond_execute: class_tid: 3, wm.l3.ipv4 */
+       {
+       .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+       .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+       },
+       /* cond_execute: class_tid: 4, control.ing_0 */
+       {
+       .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+       .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+       },
+       /* cond_execute: class_tid: 4, control.egr_0 */
+       {
+       .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
+       .cond_operand = BNXT_ULP_CF_IDX_VFR_MODE
+       },
+       /* cond_execute: class_tid: 4, control.egr_1 */
+       {
+       .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+       .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+       },
+       /* cond_execute: class_tid: 4, control.egr_2 */
+       {
+       .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+       .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+       },
+       /* cond_execute: class_tid: 5, control.vf_0 */
+       {
+       .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+       .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+       },
+       /* cond_execute: class_tid: 5, control.0 */
+       {
+       .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+       .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+       },
+       /* cond_execute: class_tid: 5, control.ing_rd_vfr */
+       {
+       .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+       .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+       }
+};
+
+struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
+       /* class_tid: 1, , table: port_table.rd */
+       {
+       .field_info_mask = {
                .description = "dev.port_id",
                .field_bit_size = 10,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
@@ -1641,7 +2695,28 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
                BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
                }
        },
-       /* class_tid: 1, thor, table: l2_cntxt_tcam_cache.gre_rd */
+       /* class_tid: 1, , table: l2_cntxt_tcam_cache.rd */
+       {
+       .field_info_mask = {
+               .description = "svif",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+               },
+       .field_info_spec = {
+               .description = "svif",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+               }
+       },
+       /* class_tid: 1, , table: mac_addr_cache.rd */
        {
        .field_info_mask = {
                .description = "svif",
@@ -1662,7 +2737,73 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
                BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
                }
        },
-       /* class_tid: 1, thor, table: l2_cntxt_tcam.gre */
+       {
+       .field_info_mask = {
+               .description = "tun_hdr",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
+               },
+       .field_info_spec = {
+               .description = "tun_hdr",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "one_tag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "one_tag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "vid",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "vid",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "mac_addr",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
+               },
+       .field_info_spec = {
+               .description = "mac_addr",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_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}
+               }
+       },
+       /* class_tid: 1, , table: l2_cntxt_tcam.0 */
        {
        .field_info_mask = {
                .description = "etype",
@@ -1780,13 +2921,19 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
                .description = "mac0_addr",
                .field_bit_size = 48,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
                },
        .field_info_spec = {
                .description = "mac0_addr",
                .field_bit_size = 48,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .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}
                }
        },
        {
@@ -1808,17 +2955,13 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
                .description = "tun_hdr_type",
                .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
                .description = "tun_hdr_type",
                .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               ULP_THOR_SYM_TUN_HDR_TYPE_GRE}
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
@@ -1944,7 +3087,9 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
                .description = "mpass_cnt",
                .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               2}
                },
        .field_info_spec = {
                .description = "mpass_cnt",
@@ -1971,7 +3116,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
                1}
                }
        },
-       /* class_tid: 1, thor, table: l2_cntxt_tcam_cache.gre_wr */
+       /* class_tid: 1, , table: mac_addr_cache.wr */
        {
        .field_info_mask = {
                .description = "svif",
@@ -1992,7 +3137,134 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
                BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
                }
        },
-       /* class_tid: 1, thor, table: profile_tcam.gre */
+       {
+       .field_info_mask = {
+               .description = "tun_hdr",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
+               },
+       .field_info_spec = {
+               .description = "tun_hdr",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "one_tag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "one_tag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "vid",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "vid",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "mac_addr",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
+               },
+       .field_info_spec = {
+               .description = "mac_addr",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_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}
+               }
+       },
+       /* class_tid: 1, , table: profile_tcam_cache.ipv6_rd */
+       {
+       .field_info_mask = {
+               .description = "recycle_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "recycle_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_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_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}
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "hdr_sig_id",
+               .field_bit_size = 5,
+               .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_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
+               }
+       },
+       /* class_tid: 1, , table: profile_tcam.l2_l3_l4_v6_em */
        {
        .field_info_mask = {
                .description = "l4_hdr_is_udp_tcp",
@@ -2011,14 +3283,34 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_mask = {
                .description = "l4_hdr_type",
                .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_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_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_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .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,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr2 = {
+                       ULP_THOR_SYM_L4_HDR_TYPE_TCP},
+               .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr3 = {
+               ULP_THOR_SYM_L4_HDR_TYPE_UDP}
                }
        },
        {
@@ -2026,7 +3318,10 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
                .description = "l4_hdr_error",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L4 & 0xff}
                },
        .field_info_spec = {
                .description = "l4_hdr_error",
@@ -2040,13 +3335,19 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
                .description = "l4_hdr_valid",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L4 & 0xff}
                },
        .field_info_spec = {
                .description = "l4_hdr_valid",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L4 & 0xff}
                }
        },
        {
@@ -2110,13 +3411,17 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
                .description = "l3_hdr_type",
                .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
                .description = "l3_hdr_type",
                .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_L3_HDR_TYPE_IPV6}
                }
        },
        {
@@ -2124,7 +3429,9 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
                .description = "l3_hdr_error",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
                .description = "l3_hdr_error",
@@ -2138,13 +3445,17 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
                .description = "l3_hdr_valid",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
                .description = "l3_hdr_valid",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_L3_HDR_VALID_YES}
                }
        },
        {
@@ -2166,13 +3477,30 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
                .description = "l2_vtag_present",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
                .description = "l2_vtag_present",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .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_CONST,
+               .field_opr2 = {
+                       ULP_THOR_SYM_L2_VTAG_PRESENT_YES},
+               .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr3 = {
+               ULP_THOR_SYM_L2_VTAG_PRESENT_NO}
                }
        },
        {
@@ -2180,7 +3508,9 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
                .description = "l2_uc_mc_bc",
                .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
                .description = "l2_uc_mc_bc",
@@ -2194,7 +3524,9 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
                .description = "l2_hdr_type",
                .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
                .description = "l2_hdr_type",
@@ -2208,7 +3540,9 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
                .description = "l2_hdr_error",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
                .description = "l2_hdr_error",
@@ -2222,13 +3556,17 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
                .description = "l2_hdr_valid",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
                .description = "l2_hdr_valid",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_L2_HDR_VALID_YES}
                }
        },
        {
@@ -2278,7 +3616,9 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
                .description = "tun_hdr_valid",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
                .description = "tun_hdr_valid",
@@ -2334,7 +3674,9 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
                .description = "tl4_hdr_valid",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
                .description = "tl4_hdr_valid",
@@ -2418,7 +3760,9 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
                .description = "tl3_hdr_valid",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
                .description = "tl3_hdr_valid",
@@ -2488,7 +3832,9 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
                .description = "tl2_hdr_valid",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
                .description = "tl2_hdr_valid",
@@ -2523,11 +3869,19 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_spec = {
                .description = "prof_func_id",
                .field_bit_size = 7,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
                .field_opr1 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_1 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_1 & 0xff}
+               (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_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}
                }
        },
        {
@@ -2604,10 +3958,71 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
                1}
                }
        },
-       /* class_tid: 1, thor, table: wm.gre */
+       /* class_tid: 1, , table: profile_tcam_cache.l2_l3_l4_v6_wr */
        {
        .field_info_mask = {
-               .description = "wc_profile_id",
+               .description = "recycle_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "recycle_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_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_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}
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "hdr_sig_id",
+               .field_bit_size = 5,
+               .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_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
+               }
+       },
+       /* class_tid: 1, , table: em.l2_l3_l4_v6.0 */
+       {
+       .field_info_mask = {
+               .description = "em_profile_id",
                .field_bit_size = 8,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
                .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
@@ -2615,13 +4030,13 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
                        0xff}
                },
        .field_info_spec = {
-               .description = "wc_profile_id",
+               .description = "em_profile_id",
                .field_bit_size = 8,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+               .field_src1 = BNXT_ULP_FIELD_SRC_RF,
                .field_opr1 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_2 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_2 & 0xff}
+               (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
                }
        },
        {
@@ -2637,19 +4052,11 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_spec = {
                .description = "l2_cntxt_id",
                .field_bit_size = 10,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
                .field_src1 = BNXT_ULP_FIELD_SRC_RF,
                .field_opr1 = {
-               (BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,
-               BNXT_ULP_RF_IDX_PHY_PORT & 0xff},
-               .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
-               .field_opr2 = {
-                       (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,
-                       BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},
-               .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
-               .field_opr3 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}
+               (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
                }
        },
        {
@@ -3016,18 +4423,12 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_mask = {
                .description = "tl3.prot",
                .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
                .description = "tl3.prot",
                .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               47}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
@@ -3418,12 +4819,30 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_mask = {
                .description = "l2_smac",
                .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
                },
        .field_info_spec = {
                .description = "l2_smac",
                .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
                }
        },
        {
@@ -3538,12 +4957,30 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_mask = {
                .description = "l2_ivv",
                .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_OO_VLAN_FB_VID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_OO_VLAN_FB_VID & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
                },
        .field_info_spec = {
                .description = "l2_ivv",
                .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_OO_VLAN_FB_VID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_OO_VLAN_FB_VID & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
                }
        },
        {
@@ -3598,12 +5035,30 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_mask = {
                .description = "l3.sip.ipv6",
                .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_SRC_ADDR >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
                },
        .field_info_spec = {
                .description = "l3.sip.ipv6",
                .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_SRC_ADDR >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
                }
        },
        {
@@ -3634,12 +5089,30 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_mask = {
                .description = "l3.dip.ipv6",
                .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_DST_ADDR >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
                },
        .field_info_spec = {
                .description = "l3.dip.ipv6",
                .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_DST_ADDR >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
                }
        },
        {
@@ -3671,13 +5144,23 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
                .description = "l3.prot",
                .field_bit_size = 8,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
                .description = "l3.prot",
                .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L3_FB_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},
+               .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
                }
        },
        {
@@ -3864,12 +5347,25 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_mask = {
                .description = "l4.src",
                .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff,
+                       0xff}
                },
        .field_info_spec = {
                .description = "l4.src",
                .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_FB_SRC_PORT >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L4_FB_SRC_PORT & 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_src3 = BNXT_ULP_FIELD_SRC_SKIP
                }
        },
        {
@@ -3877,13 +5373,24 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
                .description = "l4.dst",
                .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff,
+                       0xff}
                },
        .field_info_spec = {
                .description = "l4.dst",
                .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_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},
+               .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_src3 = BNXT_ULP_FIELD_SRC_SKIP
                }
        },
        {
@@ -4006,2828 +5513,3323 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
-       /* class_tid: 1, thor, table: wm.gre_low */
+       /* class_tid: 1, , table: profile_tcam_cache.rd */
        {
        .field_info_mask = {
-               .description = "wc_profile_id",
-               .field_bit_size = 8,
+               .description = "recycle_cnt",
+               .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "wc_profile_id",
-               .field_bit_size = 8,
+               .description = "recycle_cnt",
+               .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
-               .field_opr1 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_2 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_2 & 0xff}
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_cntxt_id",
-               .field_bit_size = 10,
+               .description = "prof_func_id",
+               .field_bit_size = 7,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
                .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
                .field_opr1 = {
-                       0xff,
                        0xff}
                },
        .field_info_spec = {
-               .description = "l2_cntxt_id",
-               .field_bit_size = 10,
+               .description = "prof_func_id",
+               .field_bit_size = 7,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
-               .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+               .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
                .field_opr1 = {
-               (BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,
-               BNXT_ULP_RF_IDX_PHY_PORT & 0xff},
+               (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_GLB_RF,
                .field_opr2 = {
-                       (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,
-                       BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},
+                       (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_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}
+               (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
                }
        },
        {
        .field_info_mask = {
-               .description = "parif",
+               .description = "hdr_sig_id",
+               .field_bit_size = 5,
+               .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_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
+               }
+       },
+       /* class_tid: 1, , table: profile_tcam.l3_l4.ip */
+       {
+       .field_info_mask = {
+               .description = "l4_hdr_is_udp_tcp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l4_hdr_is_udp_tcp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4_hdr_type",
                .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_ONES,
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "parif",
+               .description = "l4_hdr_type",
                .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr2 = {
+                       ULP_THOR_SYM_L4_HDR_TYPE_TCP},
+               .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr3 = {
+               ULP_THOR_SYM_L4_HDR_TYPE_UDP}
                }
        },
        {
        .field_info_mask = {
-               .description = "spif",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_error",
+               .field_bit_size = 1,
+               .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_ONES,
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "spif",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "svif",
-               .field_bit_size = 11,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_valid",
+               .field_bit_size = 1,
+               .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_ONES,
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "svif",
-               .field_bit_size = 11,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_valid",
+               .field_bit_size = 1,
+               .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_CONST,
+               .field_opr2 = {
+                       ULP_THOR_SYM_L4_HDR_VALID_YES},
+               .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr3 = {
+               ULP_THOR_SYM_L4_HDR_VALID_IGNORE}
                }
        },
        {
        .field_info_mask = {
-               .description = "lcos",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "ieh",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "lcos",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "ieh",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "meta",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_ipv6_cmp_dst",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "meta",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_ipv6_cmp_dst",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "rcyc_cnt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_ipv6_cmp_src",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "rcyc_cnt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_ipv6_cmp_src",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "loopback",
+               .description = "l3_hdr_isIP",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "loopback",
+               .description = "l3_hdr_isIP",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_l2type",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_hdr_type",
+               .field_bit_size = 4,
+               .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_L3 >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L3 & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl2_l2type",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
+               .field_opr1 = {
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr2 = {
+                       ULP_THOR_SYM_L3_HDR_TYPE_IPV4},
+               .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr3 = {
+               ULP_THOR_SYM_L3_HDR_TYPE_IPV6}
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_dmac",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl2_dmac",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_smac",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl2_smac",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_L3_HDR_VALID_YES}
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_dt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_two_vtags",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl2_dt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_two_vtags",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_sa",
+               .description = "l2_vtag_present",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl2_sa",
+               .description = "l2_vtag_present",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_CONST,
+               .field_opr2 = {
+                       ULP_THOR_SYM_L2_VTAG_PRESENT_YES},
+               .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr3 = {
+               ULP_THOR_SYM_L2_VTAG_PRESENT_NO}
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_nvt",
+               .description = "l2_uc_mc_bc",
                .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl2_nvt",
+               .description = "l2_uc_mc_bc",
                .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ovp",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl2_ovp",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ovd",
+               .description = "l2_hdr_error",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl2_ovd",
+               .description = "l2_hdr_error",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ovv",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl2_ovv",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_L2_HDR_VALID_YES}
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ovt",
+               .description = "tun_hdr_flags",
                .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl2_ovt",
+               .description = "tun_hdr_flags",
                .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ivp",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl2_ivp",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ivd",
+               .description = "tun_hdr_err",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl2_ivd",
+               .description = "tun_hdr_err",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
-       },
-       {
-       .field_info_mask = {
-               .description = "tl2_ivv",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "tl2_ivv",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ivt",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl2_ivt",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_etype",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_is_udp_tcp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl2_etype",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_is_udp_tcp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.l3type",
+               .description = "tl4_hdr_type",
                .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.l3type",
+               .description = "tl4_hdr_type",
                .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.sip.ipv4",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.sip.ipv4",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.sip.ipv6",
-               .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl3.sip.ipv6",
-               .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.sip_selcmp.ipv6",
-               .field_bit_size = 72,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_ipv6_cmp_dst",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.sip_selcmp.ipv6",
-               .field_bit_size = 72,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_ipv6_cmp_dst",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.dip.ipv4",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_ipv6_cmp_src",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.dip.ipv4",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_ipv6_cmp_src",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.dip.ipv6",
-               .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_isIP",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.dip.ipv6",
-               .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_isIP",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.dip_selcmp.ipv6",
-               .field_bit_size = 72,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.dip_selcmp.ipv6",
-               .field_bit_size = 72,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ttl",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.ttl",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.prot",
-               .field_bit_size = 8,
+               .description = "tl3_hdr_valid",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
                .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
                .field_opr1 = {
                        0xff}
                },
        .field_info_spec = {
-               .description = "tl3.prot",
-               .field_bit_size = 8,
+               .description = "tl3_hdr_valid",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               47}
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.fid.ipv4",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_two_vtags",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.fid.ipv4",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_two_vtags",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.fid.ipv6",
-               .field_bit_size = 20,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_vtag_present",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.fid.ipv6",
-               .field_bit_size = 20,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_vtag_present",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.qos",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_uc_mc_bc",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.qos",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_uc_mc_bc",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_nonext",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_hdr_type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.ieh_nonext",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_hdr_type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_esp",
+               .description = "tl2_hdr_valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl3.ieh_esp",
+               .description = "tl2_hdr_valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_auth",
+               .description = "hrec_next",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.ieh_auth",
+               .description = "hrec_next",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_dest",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl3.ieh_dest",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .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_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}
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_frag",
+               .description = "agg_error",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.ieh_frag",
+               .description = "agg_error",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_rthdr",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "metadata",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.ieh_rthdr",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "metadata",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_hop",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "pkt_type_0",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.ieh_hop",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "pkt_type_0",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_1frag",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "pkt_type_1",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.ieh_1frag",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "pkt_type_1",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.df",
+               .description = "valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               1}
                },
        .field_info_spec = {
-               .description = "tl3.df",
+               .description = "valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               1}
                }
        },
+       /* class_tid: 1, , table: profile_tcam.l3_l4.vxlan */
        {
        .field_info_mask = {
-               .description = "tl3.l3err",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_is_udp_tcp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.l3err",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_is_udp_tcp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.l4type",
+               .description = "l4_hdr_type",
                .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl4.l4type",
+               .description = "l4_hdr_type",
                .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
-       },
-       {
-       .field_info_mask = {
-               .description = "tl4.src",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "tl4.src",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.dst",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl4.dst",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.flags",
-               .field_bit_size = 9,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl4.flags",
-               .field_bit_size = 9,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.seq",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "ieh",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl4.seq",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "ieh",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.pa",
+               .description = "l3_ipv6_cmp_dst",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl4.pa",
+               .description = "l3_ipv6_cmp_dst",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.opt",
+               .description = "l3_ipv6_cmp_src",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl4.opt",
+               .description = "l3_ipv6_cmp_src",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.tcpts",
+               .description = "l3_hdr_isIP",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl4.tcpts",
+               .description = "l3_hdr_isIP",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.err",
+               .description = "l3_hdr_type",
                .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl4.err",
+               .description = "l3_hdr_type",
                .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tuntype",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tuntype",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tflags",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tflags",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_L3_HDR_VALID_YES}
                }
        },
        {
        .field_info_mask = {
-               .description = "tids",
-               .field_bit_size = 24,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "tids",
-               .field_bit_size = 24,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
-       },
-       {
-       .field_info_mask = {
-               .description = "tid",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_two_vtags",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tid",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_two_vtags",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tctxts",
-               .field_bit_size = 24,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_vtag_present",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tctxts",
-               .field_bit_size = 24,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_vtag_present",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tctxt",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_uc_mc_bc",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tctxt",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_uc_mc_bc",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tqos",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tqos",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "terr",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "terr",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_l2type",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l2_l2type",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_L3_HDR_VALID_YES}
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_dmac",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr_flags",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_dmac",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr_flags",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_smac",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l2_smac",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_dt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr_err",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_dt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr_err",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_sa",
+               .description = "tun_hdr_valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l2_sa",
+               .description = "tun_hdr_valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_TUN_HDR_VALID_YES}
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_nvt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_is_udp_tcp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_nvt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_is_udp_tcp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ovp",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_ovp",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ovd",
+               .description = "tl4_hdr_error",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_ovd",
+               .description = "tl4_hdr_error",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
-       },
-       {
-       .field_info_mask = {
-               .description = "l2_ovv",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "l2_ovv",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ovt",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l2_ovt",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_TL4_HDR_VALID_YES}
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ivp",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_ipv6_cmp_dst",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_ivp",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_ipv6_cmp_dst",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ivd",
+               .description = "tl3_ipv6_cmp_src",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_ivd",
+               .description = "tl3_ipv6_cmp_src",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ivv",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_isIP",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_ivv",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_isIP",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ivt",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_type",
+               .field_bit_size = 4,
+               .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_L3 >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L3 & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_ivt",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
+               .field_opr1 = {
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr2 = {
+                       ULP_THOR_SYM_L3_HDR_TYPE_IPV4},
+               .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr3 = {
+               ULP_THOR_SYM_L3_HDR_TYPE_IPV6}
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_etype",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l2_etype",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.l3type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l3.l3type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_TL3_HDR_VALID_YES}
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.sip.ipv4",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_two_vtags",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l3.sip.ipv4",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_two_vtags",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.sip.ipv6",
-               .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_vtag_present",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l3.sip.ipv6",
-               .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_vtag_present",
+               .field_bit_size = 1,
+               .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_CONST,
+               .field_opr2 = {
+                       ULP_THOR_SYM_TL2_VTAG_PRESENT_YES},
+               .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr3 = {
+               ULP_THOR_SYM_TL2_VTAG_PRESENT_NO}
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.sip_selcmp.ipv6",
-               .field_bit_size = 72,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_uc_mc_bc",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.sip_selcmp.ipv6",
-               .field_bit_size = 72,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_uc_mc_bc",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.dip.ipv4",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_hdr_type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.dip.ipv4",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_hdr_type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.dip.ipv6",
-               .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l3.dip.ipv6",
-               .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_TL2_HDR_VALID_YES}
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.dip_selcmp.ipv6",
-               .field_bit_size = 72,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "hrec_next",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.dip_selcmp.ipv6",
-               .field_bit_size = 72,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "hrec_next",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ttl",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l3.ttl",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .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_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}
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.prot",
-               .field_bit_size = 8,
+               .description = "agg_error",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
                .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.prot",
-               .field_bit_size = 8,
+               .description = "agg_error",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
                .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.fid.ipv4",
+               .description = "metadata",
                .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.fid.ipv4",
+               .description = "metadata",
                .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.fid.ipv6",
-               .field_bit_size = 20,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "pkt_type_0",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.fid.ipv6",
-               .field_bit_size = 20,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "pkt_type_0",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.qos",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "pkt_type_1",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.qos",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "pkt_type_1",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_nonext",
+               .description = "valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               1}
                },
        .field_info_spec = {
-               .description = "l3.ieh_nonext",
+               .description = "valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               1}
                }
        },
+       /* class_tid: 1, , table: profile_tcam_cache.wr */
        {
        .field_info_mask = {
-               .description = "l3.ieh_esp",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "recycle_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l3.ieh_esp",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "recycle_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_auth",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l3.ieh_auth",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .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_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}
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_dest",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "hdr_sig_id",
+               .field_bit_size = 5,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l3.ieh_dest",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "hdr_sig_id",
+               .field_bit_size = 5,
+               .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,
+               BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
                }
        },
+       /* class_tid: 1, , table: wm.l3_l4.ipv4 */
        {
        .field_info_mask = {
-               .description = "l3.ieh_frag",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "wc_profile_id",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l3.ieh_frag",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "wc_profile_id",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_0 & 0xff}
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_rthdr",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_cntxt_id",
+               .field_bit_size = 10,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff,
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l3.ieh_rthdr",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_cntxt_id",
+               .field_bit_size = 10,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+               .field_opr1 = {
+               (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_hop",
-               .field_bit_size = 1,
+               .description = "parif",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.ieh_hop",
-               .field_bit_size = 1,
+               .description = "parif",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_1frag",
-               .field_bit_size = 1,
+               .description = "spif",
+               .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.ieh_1frag",
-               .field_bit_size = 1,
+               .description = "spif",
+               .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.df",
-               .field_bit_size = 1,
+               .description = "svif",
+               .field_bit_size = 11,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.df",
-               .field_bit_size = 1,
+               .description = "svif",
+               .field_bit_size = 11,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.l3err.ipv4",
-               .field_bit_size = 4,
+               .description = "lcos",
+               .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.l3err.ipv4",
-               .field_bit_size = 4,
+               .description = "lcos",
+               .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.l3err.ipv6",
-               .field_bit_size = 4,
+               .description = "meta",
+               .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.l3err.ipv6",
-               .field_bit_size = 4,
+               .description = "meta",
+               .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.l4type",
-               .field_bit_size = 4,
+               .description = "rcyc_cnt",
+               .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.l4type",
-               .field_bit_size = 4,
+               .description = "rcyc_cnt",
+               .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.src",
-               .field_bit_size = 16,
+               .description = "loopback",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.src",
-               .field_bit_size = 16,
+               .description = "loopback",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.dst",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_l2type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.dst",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_l2type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.flags",
-               .field_bit_size = 9,
+               .description = "tl2_dmac",
+               .field_bit_size = 48,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.flags",
-               .field_bit_size = 9,
+               .description = "tl2_dmac",
+               .field_bit_size = 48,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.seq",
-               .field_bit_size = 32,
+               .description = "tl2_smac",
+               .field_bit_size = 48,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.seq",
-               .field_bit_size = 32,
+               .description = "tl2_smac",
+               .field_bit_size = 48,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.ack",
-               .field_bit_size = 32,
+               .description = "tl2_dt",
+               .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.ack",
-               .field_bit_size = 32,
+               .description = "tl2_dt",
+               .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.win",
-               .field_bit_size = 16,
+               .description = "tl2_sa",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.win",
-               .field_bit_size = 16,
+               .description = "tl2_sa",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.pa",
-               .field_bit_size = 1,
+               .description = "tl2_nvt",
+               .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.pa",
-               .field_bit_size = 1,
+               .description = "tl2_nvt",
+               .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.opt",
-               .field_bit_size = 1,
+               .description = "tl2_ovp",
+               .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.opt",
-               .field_bit_size = 1,
+               .description = "tl2_ovp",
+               .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.tcpts",
+               .description = "tl2_ovd",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.tcpts",
+               .description = "tl2_ovd",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.tsval",
-               .field_bit_size = 32,
+               .description = "tl2_ovv",
+               .field_bit_size = 12,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.tsval",
-               .field_bit_size = 32,
+               .description = "tl2_ovv",
+               .field_bit_size = 12,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.txecr",
-               .field_bit_size = 32,
+               .description = "tl2_ovt",
+               .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.txecr",
-               .field_bit_size = 32,
+               .description = "tl2_ovt",
+               .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.err",
-               .field_bit_size = 4,
+               .description = "tl2_ivp",
+               .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.err",
-               .field_bit_size = 4,
+               .description = "tl2_ivp",
+               .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
-       /* class_tid: 1, thor, table: mac_addr_cache.gre_frag_rd */
        {
        .field_info_mask = {
-               .description = "svif",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr1 = {
-               (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-               BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+               .description = "tl2_ivd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "svif",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr1 = {
-               (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-               BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+               .description = "tl2_ivd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tun_hdr",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
+               .description = "tl2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tun_hdr",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
+               .description = "tl2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "one_tag",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_ivt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "one_tag",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_ivt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "vid",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "vid",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "mac_addr",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff,
-                       0xff,
-                       0xff,
-                       0xff,
-                       0xff,
-                       0xff}
+               .description = "tl3.l3type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "mac_addr",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_RF,
-               .field_opr1 = {
-               (BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,
-               BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}
+               .description = "tl3.l3type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
-       /* class_tid: 1, thor, table: l2_cntxt_tcam.0 */
        {
        .field_info_mask = {
-               .description = "etype",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.sip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "etype",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.sip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ivlan_tpid_sel",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.sip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_ivlan_tpid_sel",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.sip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ivlan_vid",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.sip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_ivlan_vid",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.sip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ovlan_tpid_sel",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.dip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_ovlan_tpid_sel",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.dip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ovlan_vid",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.dip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_ovlan_vid",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.dip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "two_vtags",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.dip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "two_vtags",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.dip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "vtag_present",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.ttl",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "vtag_present",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.ttl",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "mac1_addr",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.prot",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "mac1_addr",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.prot",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "mac0_addr",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff,
-                       0xff,
-                       0xff,
-                       0xff,
-                       0xff,
-                       0xff}
+               .description = "tl3.fid.ipv4",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "mac0_addr",
-               .field_bit_size = 48,
-               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr2 = {
-                       (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-                       BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-               .field_src3 = BNXT_ULP_FIELD_SRC_RF,
-               .field_opr3 = {
-               (BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,
-               BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}
+               .description = "tl3.fid.ipv4",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tunnel_id",
-               .field_bit_size = 24,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.fid.ipv6",
+               .field_bit_size = 20,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tunnel_id",
-               .field_bit_size = 24,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.fid.ipv6",
+               .field_bit_size = 20,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tun_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
+               .description = "tl3.qos",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tun_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
+               .description = "tl3.qos",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "llc",
+               .description = "tl3.ieh_nonext",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "llc",
+               .description = "tl3.ieh_nonext",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "roce",
+               .description = "tl3.ieh_esp",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "roce",
+               .description = "tl3.ieh_esp",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "metadata",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-               },
-       .field_info_spec = {
-               .description = "metadata",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-               }
-       },
-       {
-       .field_info_mask = {
-               .description = "svif",
-               .field_bit_size = 11,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr1 = {
-               (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-               BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+               .description = "tl3.ieh_auth",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "svif",
-               .field_bit_size = 11,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr1 = {
-               (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-               BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+               .description = "tl3.ieh_auth",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "parif",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.ieh_dest",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "parif",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.ieh_dest",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "spif",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.ieh_frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "spif",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.ieh_frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "loopback",
+               .description = "tl3.ieh_rthdr",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "loopback",
+               .description = "tl3.ieh_rthdr",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "recycle_cnt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.ieh_hop",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "recycle_cnt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.ieh_hop",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "mpass_cnt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               2}
+               .description = "tl3.ieh_1frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "mpass_cnt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.ieh_1frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "valid",
+               .description = "tl3.df",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               1}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "valid",
+               .description = "tl3.df",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               1}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
-       /* class_tid: 1, thor, table: mac_addr_cache.gre_frag_wr */
        {
        .field_info_mask = {
-               .description = "svif",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr1 = {
-               (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-               BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+               .description = "tl3.l3err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "svif",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr1 = {
-               (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-               BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+               .description = "tl3.l3err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tun_hdr",
+               .description = "tl4.l4type",
                .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tun_hdr",
+               .description = "tl4.l4type",
                .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "one_tag",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl4.src",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "one_tag",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl4.src",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "vid",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl4.dst",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "vid",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl4.dst",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "mac_addr",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff,
-                       0xff,
-                       0xff,
-                       0xff,
-                       0xff,
-                       0xff}
+               .description = "tl4.flags",
+               .field_bit_size = 9,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "mac_addr",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_RF,
-               .field_opr1 = {
-               (BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,
-               BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}
+               .description = "tl4.flags",
+               .field_bit_size = 9,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
-       /* class_tid: 1, thor, table: profile_tcam.gre_frag */
        {
        .field_info_mask = {
-               .description = "l4_hdr_is_udp_tcp",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl4.seq",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4_hdr_is_udp_tcp",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl4.seq",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl4.pa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl4.pa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4_hdr_error",
+               .description = "tl4.opt",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4_hdr_error",
+               .description = "tl4.opt",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4_hdr_valid",
+               .description = "tl4.tcpts",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4_hdr_valid",
+               .description = "tl4.tcpts",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "ieh",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               16}
+               .description = "tl4.err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "ieh",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               16}
+               .description = "tl4.err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3_ipv6_cmp_dst",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tuntype",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3_ipv6_cmp_dst",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tuntype",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3_ipv6_cmp_src",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tflags",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3_ipv6_cmp_src",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tflags",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3_hdr_isIP",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tids",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3_hdr_isIP",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tids",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tid",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tid",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tctxts",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tctxts",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tctxt",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tctxt",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_two_vtags",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tqos",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_two_vtags",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tqos",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_vtag_present",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "terr",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_vtag_present",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "terr",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_uc_mc_bc",
+               .description = "l2_l2type",
                .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_uc_mc_bc",
+               .description = "l2_l2type",
                .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_hdr_type",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_dmac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_hdr_type",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_dmac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_smac",
+               .field_bit_size = 48,
+               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_smac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_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_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "l2_dt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               ULP_THOR_SYM_L2_HDR_VALID_YES}
+               .description = "l2_dt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tun_hdr_flags",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_sa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tun_hdr_flags",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_sa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tun_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_nvt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tun_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_nvt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tun_hdr_err",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tun_hdr_err",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tun_hdr_valid",
+               .description = "l2_ovd",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tun_hdr_valid",
+               .description = "l2_ovd",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4_hdr_is_udp_tcp",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ovv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4_hdr_is_udp_tcp",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ovv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ovt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ovt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4_hdr_valid",
+               .description = "l2_ivd",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4_hdr_valid",
+               .description = "l2_ivd",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3_ipv6_cmp_dst",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_OO_VLAN_FB_VID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_OO_VLAN_FB_VID & 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 = "tl3_ipv6_cmp_dst",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_OO_VLAN_FB_VID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_OO_VLAN_FB_VID & 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 = "tl3_ipv6_cmp_src",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ivt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3_ipv6_cmp_src",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ivt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3_hdr_isIP",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3_hdr_isIP",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3_hdr_type",
+               .description = "l3.l3type",
                .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3_hdr_type",
+               .description = "l3.l3type",
                .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-               }
-       },
-       {
-       .field_info_mask = {
-               .description = "tl3_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-               },
-       .field_info_spec = {
-               .description = "tl3_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .description = "l3.sip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
                .field_opr1 = {
-                       0xff}
+               (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_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.sip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
+               .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_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_two_vtags",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.sip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_two_vtags",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.sip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_vtag_present",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.sip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_vtag_present",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.sip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_uc_mc_bc",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.dip.ipv4",
+               .field_bit_size = 32,
+               .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_DST_ADDR >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl2_uc_mc_bc",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.dip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
+               .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_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_hdr_type",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.dip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_hdr_type",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.dip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "l3.dip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.dip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "hrec_next",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.ttl",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "hrec_next",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.ttl",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "prof_func_id",
-               .field_bit_size = 7,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .description = "l3.prot",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
                .field_opr1 = {
-                       0xff}
+               (BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "prof_func_id",
-               .field_bit_size = 7,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+               .description = "l3.prot",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
                .field_opr1 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}
-               }
-       },
-       {
-       .field_info_mask = {
-               .description = "agg_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-               },
-       .field_info_spec = {
-               .description = "agg_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               (BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L3_FB_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},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "metadata",
+               .description = "l3.fid.ipv4",
                .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "metadata",
+               .description = "l3.fid.ipv4",
                .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "pkt_type_0",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.fid.ipv6",
+               .field_bit_size = 20,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "pkt_type_0",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.fid.ipv6",
+               .field_bit_size = 20,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "pkt_type_1",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.qos",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "pkt_type_1",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.qos",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "valid",
+               .description = "l3.ieh_nonext",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               1}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "valid",
+               .description = "l3.ieh_nonext",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               1}
-               }
-       },
-       /* class_tid: 1, thor, table: wm.gre_frag */
-       {
-       .field_info_mask = {
-               .description = "wc_profile_id",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
-               },
-       .field_info_spec = {
-               .description = "wc_profile_id",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
-               .field_opr1 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_cntxt_id",
-               .field_bit_size = 10,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff,
-                       0xff}
+               .description = "l3.ieh_esp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_cntxt_id",
-               .field_bit_size = 10,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
-               .field_src1 = BNXT_ULP_FIELD_SRC_RF,
-               .field_opr1 = {
-               (BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,
-               BNXT_ULP_RF_IDX_PHY_PORT & 0xff},
-               .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
-               .field_opr2 = {
-                       (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,
-                       BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},
-               .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
-               .field_opr3 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}
+               .description = "l3.ieh_esp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "parif",
-               .field_bit_size = 4,
+               .description = "l3.ieh_auth",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "parif",
-               .field_bit_size = 4,
+               .description = "l3.ieh_auth",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "spif",
-               .field_bit_size = 2,
+               .description = "l3.ieh_dest",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "spif",
-               .field_bit_size = 2,
+               .description = "l3.ieh_dest",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "svif",
-               .field_bit_size = 11,
+               .description = "l3.ieh_frag",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "svif",
-               .field_bit_size = 11,
+               .description = "l3.ieh_frag",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "lcos",
-               .field_bit_size = 3,
+               .description = "l3.ieh_rthdr",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "lcos",
-               .field_bit_size = 3,
+               .description = "l3.ieh_rthdr",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "meta",
-               .field_bit_size = 16,
+               .description = "l3.ieh_hop",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "meta",
-               .field_bit_size = 16,
+               .description = "l3.ieh_hop",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "rcyc_cnt",
-               .field_bit_size = 2,
+               .description = "l3.ieh_1frag",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "rcyc_cnt",
-               .field_bit_size = 2,
+               .description = "l3.ieh_1frag",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "loopback",
+               .description = "l3.df",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "loopback",
+               .description = "l3.df",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_l2type",
-               .field_bit_size = 2,
+               .description = "l3.l3err.ipv4",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_l2type",
-               .field_bit_size = 2,
+               .description = "l3.l3err.ipv4",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_dmac",
-               .field_bit_size = 48,
+               .description = "l3.l3err.ipv6",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_dmac",
-               .field_bit_size = 48,
+               .description = "l3.l3err.ipv6",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_smac",
-               .field_bit_size = 48,
+               .description = "l4.l4type",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_smac",
-               .field_bit_size = 48,
+               .description = "l4.l4type",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_dt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4.src",
+               .field_bit_size = 16,
+               .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_FB_SRC_PORT >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L4_FB_SRC_PORT & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr2 = {
+                       (BNXT_ULP_CF_IDX_O_L4_SRC_PORT_MASK >> 8) & 0xff,
+                       BNXT_ULP_CF_IDX_O_L4_SRC_PORT_MASK & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl2_dt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4.src",
+               .field_bit_size = 16,
+               .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_FB_SRC_PORT >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L4_FB_SRC_PORT & 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_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_sa",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4.dst",
+               .field_bit_size = 16,
+               .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_FB_DST_PORT >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L4_FB_DST_PORT & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr2 = {
+                       (BNXT_ULP_CF_IDX_O_L4_DST_PORT_MASK >> 8) & 0xff,
+                       BNXT_ULP_CF_IDX_O_L4_DST_PORT_MASK & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl2_sa",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4.dst",
+               .field_bit_size = 16,
+               .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_FB_DST_PORT >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L4_FB_DST_PORT & 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_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_nvt",
-               .field_bit_size = 2,
+               .description = "l4.flags",
+               .field_bit_size = 9,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_nvt",
-               .field_bit_size = 2,
+               .description = "l4.flags",
+               .field_bit_size = 9,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ovp",
-               .field_bit_size = 3,
+               .description = "l4.seq",
+               .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_ovp",
-               .field_bit_size = 3,
+               .description = "l4.seq",
+               .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ovd",
-               .field_bit_size = 1,
+               .description = "l4.ack",
+               .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_ovd",
-               .field_bit_size = 1,
+               .description = "l4.ack",
+               .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ovv",
-               .field_bit_size = 12,
+               .description = "l4.win",
+               .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_ovv",
-               .field_bit_size = 12,
+               .description = "l4.win",
+               .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ovt",
-               .field_bit_size = 3,
+               .description = "l4.pa",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_ovt",
-               .field_bit_size = 3,
+               .description = "l4.pa",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ivp",
-               .field_bit_size = 3,
+               .description = "l4.opt",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_ivp",
-               .field_bit_size = 3,
+               .description = "l4.opt",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ivd",
+               .description = "l4.tcpts",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_ivd",
+               .description = "l4.tcpts",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ivv",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4.tsval",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.tsval",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.txecr",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.txecr",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       /* class_tid: 1, , table: wm.l3_l4.ipv6 */
+       {
+       .field_info_mask = {
+               .description = "wc_profile_id",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "wc_profile_id",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_1 >> 8) & 0xff,
+               BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_1 & 0xff}
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_cntxt_id",
+               .field_bit_size = 10,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff,
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "l2_cntxt_id",
+               .field_bit_size = 10,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+               .field_opr1 = {
+               (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "parif",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "parif",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "spif",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "spif",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "svif",
+               .field_bit_size = 11,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "svif",
+               .field_bit_size = 11,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "lcos",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "lcos",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "meta",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "meta",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "rcyc_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "rcyc_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "loopback",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "loopback",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_l2type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_l2type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_dmac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_dmac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_smac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_smac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_dt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_dt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_sa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_sa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_nvt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_nvt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ovd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ovd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ovv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ovv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ovt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ovt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ivd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ivd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
                .description = "tl2_ivv",
@@ -6959,14 +8961,12 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_mask = {
                .description = "tl3.prot",
                .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
                .description = "tl3.prot",
                .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
@@ -7357,12 +9357,30 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_mask = {
                .description = "l2_smac",
                .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
                .description = "l2_smac",
                .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
@@ -7477,12 +9495,30 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_mask = {
                .description = "l2_ivv",
                .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_OO_VLAN_FB_VID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_OO_VLAN_FB_VID & 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 = "l2_ivv",
                .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_OO_VLAN_FB_VID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_OO_VLAN_FB_VID & 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
                }
        },
        {
@@ -7537,12 +9573,30 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_mask = {
                .description = "l3.sip.ipv6",
                .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_SRC_ADDR >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
                .description = "l3.sip.ipv6",
                .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_SRC_ADDR >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
@@ -7573,12 +9627,30 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_mask = {
                .description = "l3.dip.ipv6",
                .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_DST_ADDR >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
                .description = "l3.dip.ipv6",
                .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_DST_ADDR >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
@@ -7609,18 +9681,27 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_mask = {
                .description = "l3.prot",
                .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
                .field_opr1 = {
-                       0xff}
+               (BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
                .description = "l3.prot",
                .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
                .field_opr1 = {
-               47}
+               (BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L3_FB_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},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
@@ -7807,26 +9888,54 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_mask = {
                .description = "l4.src",
                .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_FB_SRC_PORT >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L4_FB_SRC_PORT & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
                .description = "l4.src",
                .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_FB_SRC_PORT >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L4_FB_SRC_PORT & 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_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
                .description = "l4.dst",
                .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_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},
+               .field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
                .description = "l4.dst",
                .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_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},
+               .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_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
@@ -7949,7 +10058,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
-       /* class_tid: 1, thor, table: wm.gre_frag_low */
+       /* class_tid: 1, , table: wm.l3.ipv4 */
        {
        .field_info_mask = {
                .description = "wc_profile_id",
@@ -7965,8 +10074,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
                .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
                .field_opr1 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff}
+               (BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_0 & 0xff}
                }
        },
        {
@@ -7982,19 +10091,11 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_spec = {
                .description = "l2_cntxt_id",
                .field_bit_size = 10,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
                .field_src1 = BNXT_ULP_FIELD_SRC_RF,
                .field_opr1 = {
-               (BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,
-               BNXT_ULP_RF_IDX_PHY_PORT & 0xff},
-               .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
-               .field_opr2 = {
-                       (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,
-                       BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},
-               .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
-               .field_opr3 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}
+               (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
                }
        },
        {
@@ -8361,14 +10462,12 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_mask = {
                .description = "tl3.prot",
                .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
                .description = "tl3.prot",
                .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
@@ -8759,12 +10858,30 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_mask = {
                .description = "l2_smac",
                .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
                .description = "l2_smac",
                .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
@@ -8879,12 +10996,30 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_mask = {
                .description = "l2_ivv",
                .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_OO_VLAN_FB_VID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_OO_VLAN_FB_VID & 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 = "l2_ivv",
                .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_OO_VLAN_FB_VID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_OO_VLAN_FB_VID & 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
                }
        },
        {
@@ -8927,12 +11062,30 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_mask = {
                .description = "l3.sip.ipv4",
                .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_SRC_ADDR >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
                .description = "l3.sip.ipv4",
                .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_SRC_ADDR >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
@@ -8963,12 +11116,30 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_mask = {
                .description = "l3.dip.ipv4",
                .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_DST_ADDR >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
                .description = "l3.dip.ipv4",
                .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_DST_ADDR >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
@@ -9011,18 +11182,27 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_mask = {
                .description = "l3.prot",
                .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
                .field_opr1 = {
-                       0xff}
+               (BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
                .description = "l3.prot",
                .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
                .field_opr1 = {
-               47}
+               (BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L3_FB_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},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
@@ -9209,12 +11389,14 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_mask = {
                .description = "l4.src",
                .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
                .description = "l4.src",
                .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
@@ -9351,1570 +11533,1754 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
-       /* class_tid: 1, thor, table: mac_addr_cache.non_gre_rd */
+       /* class_tid: 1, , table: wm.l3.ipv6 */
        {
        .field_info_mask = {
-               .description = "svif",
+               .description = "wc_profile_id",
                .field_bit_size = 8,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
                .field_opr1 = {
-               (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-               BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+                       0xff}
                },
        .field_info_spec = {
-               .description = "svif",
+               .description = "wc_profile_id",
                .field_bit_size = 8,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
+               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
                .field_opr1 = {
-               (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-               BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+               (BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_1 >> 8) & 0xff,
+               BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_1 & 0xff}
                }
        },
        {
        .field_info_mask = {
-               .description = "tun_hdr",
-               .field_bit_size = 4,
+               .description = "l2_cntxt_id",
+               .field_bit_size = 10,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
                .field_opr1 = {
-               ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
+                       0xff,
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tun_hdr",
-               .field_bit_size = 4,
+               .description = "l2_cntxt_id",
+               .field_bit_size = 10,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_src1 = BNXT_ULP_FIELD_SRC_RF,
                .field_opr1 = {
-               ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
-               }
-       },
-       {
-       .field_info_mask = {
-               .description = "one_tag",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-               },
-       .field_info_spec = {
-               .description = "one_tag",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
                }
        },
        {
        .field_info_mask = {
-               .description = "vid",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "parif",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "vid",
-               .field_bit_size = 12,
-               .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_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "mac_addr",
-               .field_bit_size = 48,
-               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr2 = {
-                       (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-                       BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-               .field_src3 = BNXT_ULP_FIELD_SRC_RF,
-               .field_opr3 = {
-               (BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,
-               BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}
+               .description = "spif",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "mac_addr",
-               .field_bit_size = 48,
-               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr2 = {
-                       (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-                       BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-               .field_src3 = BNXT_ULP_FIELD_SRC_RF,
-               .field_opr3 = {
-               (BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,
-               BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}
+               .description = "spif",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
-       /* class_tid: 1, thor, table: l2_cntxt_tcam.0 */
        {
        .field_info_mask = {
-               .description = "etype",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "svif",
+               .field_bit_size = 11,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "etype",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "svif",
+               .field_bit_size = 11,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ivlan_tpid_sel",
+               .description = "lcos",
                .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_ivlan_tpid_sel",
+               .description = "lcos",
                .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-               }
-       },
-       {
-       .field_info_mask = {
-               .description = "l2_ivlan_vid",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-               },
-       .field_info_spec = {
-               .description = "l2_ivlan_vid",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ovlan_tpid_sel",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "meta",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_ovlan_tpid_sel",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "meta",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ovlan_vid",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "rcyc_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_ovlan_vid",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "rcyc_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "two_vtags",
+               .description = "loopback",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "two_vtags",
+               .description = "loopback",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "vtag_present",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_l2type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "vtag_present",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_l2type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "mac1_addr",
+               .description = "tl2_dmac",
                .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "mac1_addr",
+               .description = "tl2_dmac",
                .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "mac0_addr",
+               .description = "tl2_smac",
                .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff,
-                       0xff,
-                       0xff,
-                       0xff,
-                       0xff,
-                       0xff}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "mac0_addr",
+               .description = "tl2_smac",
                .field_bit_size = 48,
-               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr2 = {
-                       (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-                       BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-               .field_src3 = BNXT_ULP_FIELD_SRC_RF,
-               .field_opr3 = {
-               (BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,
-               BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tunnel_id",
-               .field_bit_size = 24,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_dt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tunnel_id",
-               .field_bit_size = 24,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_dt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tun_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
+               .description = "tl2_sa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tun_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
+               .description = "tl2_sa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "llc",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_nvt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "llc",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_nvt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "roce",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "roce",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "metadata",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_ovd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "metadata",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_ovd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "svif",
-               .field_bit_size = 11,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr1 = {
-               (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-               BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+               .description = "tl2_ovv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "svif",
-               .field_bit_size = 11,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr1 = {
-               (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-               BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+               .description = "tl2_ovv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "parif",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_ovt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "parif",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_ovt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "spif",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "spif",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "loopback",
+               .description = "tl2_ivd",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "loopback",
+               .description = "tl2_ivd",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "recycle_cnt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "recycle_cnt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "mpass_cnt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               2}
+               .description = "tl2_ivt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "mpass_cnt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_ivt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               1}
+               .description = "tl2_etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               1}
+               .description = "tl2_etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
-       /* class_tid: 1, thor, table: mac_addr_cache.wr */
        {
        .field_info_mask = {
-               .description = "svif",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr1 = {
-               (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-               BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+               .description = "tl3.l3type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "svif",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr1 = {
-               (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-               BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+               .description = "tl3.l3type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tun_hdr",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
+               .description = "tl3.sip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tun_hdr",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
+               .description = "tl3.sip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "one_tag",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.sip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "one_tag",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.sip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "vid",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.sip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "vid",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.sip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "mac_addr",
-               .field_bit_size = 48,
-               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr2 = {
-                       (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-                       BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-               .field_src3 = BNXT_ULP_FIELD_SRC_RF,
-               .field_opr3 = {
-               (BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,
-               BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}
+               .description = "tl3.dip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "mac_addr",
-               .field_bit_size = 48,
-               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr2 = {
-                       (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-                       BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-               .field_src3 = BNXT_ULP_FIELD_SRC_RF,
-               .field_opr3 = {
-               (BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,
-               BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}
+               .description = "tl3.dip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
-       /* class_tid: 1, thor, table: profile_tcam_cache.icmpv4_rd */
        {
        .field_info_mask = {
-               .description = "recycle_cnt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "tl3.dip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "recycle_cnt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.dip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "prof_func_id",
-               .field_bit_size = 7,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "tl3.dip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "prof_func_id",
-               .field_bit_size = 7,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
-               .field_opr1 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}
+               .description = "tl3.dip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "hdr_sig_id",
-               .field_bit_size = 5,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "tl3.ttl",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "hdr_sig_id",
-               .field_bit_size = 5,
-               .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,
-               BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
+               .description = "tl3.ttl",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
-       /* class_tid: 1, thor, table: profile_tcam.icmpv4 */
        {
        .field_info_mask = {
-               .description = "l4_hdr_is_udp_tcp",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.prot",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4_hdr_is_udp_tcp",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.prot",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "tl3.fid.ipv4",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               ULP_THOR_SYM_L4_HDR_TYPE_ICMP}
+               .description = "tl3.fid.ipv4",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.fid.ipv6",
+               .field_bit_size = 20,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.fid.ipv6",
+               .field_bit_size = 20,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "tl3.qos",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               ULP_THOR_SYM_L4_HDR_VALID_YES}
+               .description = "tl3.qos",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "ieh",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.ieh_nonext",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "ieh",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.ieh_nonext",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3_ipv6_cmp_dst",
+               .description = "tl3.ieh_esp",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3_ipv6_cmp_dst",
+               .description = "tl3.ieh_esp",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3_ipv6_cmp_src",
+               .description = "tl3.ieh_auth",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3_ipv6_cmp_src",
+               .description = "tl3.ieh_auth",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3_hdr_isIP",
+               .description = "tl3.ieh_dest",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3_hdr_isIP",
+               .description = "tl3.ieh_dest",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "tl3.ieh_frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.ieh_frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3_hdr_error",
+               .description = "tl3.ieh_rthdr",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3_hdr_error",
+               .description = "tl3.ieh_rthdr",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3_hdr_valid",
+               .description = "tl3.ieh_hop",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3_hdr_valid",
+               .description = "tl3.ieh_hop",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               ULP_THOR_SYM_L3_HDR_VALID_YES}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_two_vtags",
+               .description = "tl3.ieh_1frag",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_two_vtags",
+               .description = "tl3.ieh_1frag",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_vtag_present",
+               .description = "tl3.df",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_vtag_present",
+               .description = "tl3.df",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_uc_mc_bc",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.l3err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_uc_mc_bc",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.l3err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_hdr_type",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl4.l4type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_hdr_type",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl4.l4type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl4.src",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl4.src",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "tl4.dst",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               ULP_THOR_SYM_L2_HDR_VALID_YES}
+               .description = "tl4.dst",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tun_hdr_flags",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl4.flags",
+               .field_bit_size = 9,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tun_hdr_flags",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl4.flags",
+               .field_bit_size = 9,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tun_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl4.seq",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tun_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl4.seq",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tun_hdr_err",
+               .description = "tl4.pa",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tun_hdr_err",
+               .description = "tl4.pa",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tun_hdr_valid",
+               .description = "tl4.opt",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tun_hdr_valid",
+               .description = "tl4.opt",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4_hdr_is_udp_tcp",
+               .description = "tl4.tcpts",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4_hdr_is_udp_tcp",
+               .description = "tl4.tcpts",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4_hdr_type",
+               .description = "tl4.err",
                .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4_hdr_type",
+               .description = "tl4.err",
                .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tuntype",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tuntype",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "tflags",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tflags",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3_ipv6_cmp_dst",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tids",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3_ipv6_cmp_dst",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tids",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3_ipv6_cmp_src",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tid",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3_ipv6_cmp_src",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tid",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3_hdr_isIP",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tctxts",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3_hdr_isIP",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tctxts",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tctxt",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tctxt",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tqos",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tqos",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "terr",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "terr",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_two_vtags",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_l2type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_two_vtags",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_l2type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_vtag_present",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_dmac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_vtag_present",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_dmac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_uc_mc_bc",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_smac",
+               .field_bit_size = 48,
+               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl2_uc_mc_bc",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_smac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_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_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_hdr_type",
+               .description = "l2_dt",
                .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_hdr_type",
+               .description = "l2_dt",
                .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_hdr_valid",
+               .description = "l2_sa",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_hdr_valid",
+               .description = "l2_sa",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "hrec_next",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_nvt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "hrec_next",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_nvt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "prof_func_id",
-               .field_bit_size = 7,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "l2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "prof_func_id",
-               .field_bit_size = 7,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
-               .field_opr1 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}
+               .description = "l2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "agg_error",
+               .description = "l2_ovd",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "agg_error",
+               .description = "l2_ovd",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "metadata",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ovv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "metadata",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ovv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "pkt_type_0",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ovt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "pkt_type_0",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ovt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "pkt_type_1",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "pkt_type_1",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "valid",
+               .description = "l2_ivd",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               1}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "valid",
+               .description = "l2_ivd",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               1}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
-       /* class_tid: 1, thor, table: profile_tcam_cache.icmpv4_wr */
        {
        .field_info_mask = {
-               .description = "recycle_cnt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .description = "l2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
                .field_opr1 = {
-                       0xff}
+               (BNXT_ULP_CF_IDX_OO_VLAN_FB_VID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_OO_VLAN_FB_VID & 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 = "recycle_cnt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_OO_VLAN_FB_VID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_OO_VLAN_FB_VID & 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 = "prof_func_id",
-               .field_bit_size = 7,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "l2_ivt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "prof_func_id",
-               .field_bit_size = 7,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
-               .field_opr1 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}
+               .description = "l2_ivt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "hdr_sig_id",
-               .field_bit_size = 5,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "l2_etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "hdr_sig_id",
-               .field_bit_size = 5,
-               .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,
-               BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
+               .description = "l2_etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
-       /* class_tid: 1, thor, table: wm.icmpv4 */
        {
        .field_info_mask = {
-               .description = "wc_profile_id",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "l3.l3type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "wc_profile_id",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
-               .field_opr1 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff}
+               .description = "l3.l3type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_cntxt_id",
-               .field_bit_size = 10,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff,
-                       0xff}
+               .description = "l3.sip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_cntxt_id",
-               .field_bit_size = 10,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
-               .field_src1 = BNXT_ULP_FIELD_SRC_RF,
-               .field_opr1 = {
-               (BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,
-               BNXT_ULP_RF_IDX_PHY_PORT & 0xff},
-               .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
-               .field_opr2 = {
-                       (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,
-                       BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},
-               .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
-               .field_opr3 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}
+               .description = "l3.sip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "parif",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3.sip.ipv6",
+               .field_bit_size = 128,
+               .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_SRC_ADDR >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "parif",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3.sip.ipv6",
+               .field_bit_size = 128,
+               .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_SRC_ADDR >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "spif",
-               .field_bit_size = 2,
+               .description = "l3.sip_selcmp.ipv6",
+               .field_bit_size = 72,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "spif",
-               .field_bit_size = 2,
+               .description = "l3.sip_selcmp.ipv6",
+               .field_bit_size = 72,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "svif",
-               .field_bit_size = 11,
+               .description = "l3.dip.ipv4",
+               .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "svif",
-               .field_bit_size = 11,
+               .description = "l3.dip.ipv4",
+               .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "lcos",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3.dip.ipv6",
+               .field_bit_size = 128,
+               .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_DST_ADDR >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "lcos",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3.dip.ipv6",
+               .field_bit_size = 128,
+               .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_DST_ADDR >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "meta",
-               .field_bit_size = 16,
+               .description = "l3.dip_selcmp.ipv6",
+               .field_bit_size = 72,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "meta",
-               .field_bit_size = 16,
+               .description = "l3.dip_selcmp.ipv6",
+               .field_bit_size = 72,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "rcyc_cnt",
-               .field_bit_size = 2,
+               .description = "l3.ttl",
+               .field_bit_size = 8,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "rcyc_cnt",
-               .field_bit_size = 2,
+               .description = "l3.ttl",
+               .field_bit_size = 8,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "loopback",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3.prot",
+               .field_bit_size = 8,
+               .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_L3_FB_PROTO_ID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "loopback",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3.prot",
+               .field_bit_size = 8,
+               .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_L3_FB_PROTO_ID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L3_FB_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},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_l2type",
-               .field_bit_size = 2,
+               .description = "l3.fid.ipv4",
+               .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_l2type",
-               .field_bit_size = 2,
+               .description = "l3.fid.ipv4",
+               .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_dmac",
-               .field_bit_size = 48,
+               .description = "l3.fid.ipv6",
+               .field_bit_size = 20,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_dmac",
-               .field_bit_size = 48,
+               .description = "l3.fid.ipv6",
+               .field_bit_size = 20,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_smac",
-               .field_bit_size = 48,
+               .description = "l3.qos",
+               .field_bit_size = 8,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_smac",
-               .field_bit_size = 48,
+               .description = "l3.qos",
+               .field_bit_size = 8,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_dt",
-               .field_bit_size = 2,
+               .description = "l3.ieh_nonext",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_dt",
-               .field_bit_size = 2,
+               .description = "l3.ieh_nonext",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_sa",
+               .description = "l3.ieh_esp",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_sa",
+               .description = "l3.ieh_esp",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_nvt",
-               .field_bit_size = 2,
+               .description = "l3.ieh_auth",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_nvt",
-               .field_bit_size = 2,
+               .description = "l3.ieh_auth",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ovp",
-               .field_bit_size = 3,
+               .description = "l3.ieh_dest",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_ovp",
-               .field_bit_size = 3,
+               .description = "l3.ieh_dest",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ovd",
+               .description = "l3.ieh_frag",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_ovd",
+               .description = "l3.ieh_frag",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ovv",
-               .field_bit_size = 12,
+               .description = "l3.ieh_rthdr",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_ovv",
-               .field_bit_size = 12,
+               .description = "l3.ieh_rthdr",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ovt",
-               .field_bit_size = 3,
+               .description = "l3.ieh_hop",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_ovt",
-               .field_bit_size = 3,
+               .description = "l3.ieh_hop",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ivp",
-               .field_bit_size = 3,
+               .description = "l3.ieh_1frag",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_ivp",
-               .field_bit_size = 3,
+               .description = "l3.ieh_1frag",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ivd",
+               .description = "l3.df",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_ivd",
+               .description = "l3.df",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ivv",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3.l3err.ipv4",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.l3err.ipv4",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.l3err.ipv6",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.l3err.ipv6",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.l4type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.l4type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.src",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l4.src",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.dst",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l4.dst",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.flags",
+               .field_bit_size = 9,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.flags",
+               .field_bit_size = 9,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.seq",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.seq",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.ack",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.ack",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.win",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.win",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.pa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.pa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.opt",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.opt",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.tcpts",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.tcpts",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.tsval",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.tsval",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.txecr",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.txecr",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       /* class_tid: 1, , table: wm.l2 */
+       {
+       .field_info_mask = {
+               .description = "wc_profile_id",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "wc_profile_id",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_0 & 0xff}
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_cntxt_id",
+               .field_bit_size = 10,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff,
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "l2_cntxt_id",
+               .field_bit_size = 10,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+               .field_opr1 = {
+               (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "parif",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "parif",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "spif",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "spif",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "svif",
+               .field_bit_size = 11,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "svif",
+               .field_bit_size = 11,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "lcos",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "lcos",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "meta",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "meta",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "rcyc_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "rcyc_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "loopback",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "loopback",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_l2type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_l2type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_dmac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_dmac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_smac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_smac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_dt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_dt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_sa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_sa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_nvt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_nvt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ovd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ovd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ovv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ovv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ovt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ovt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ivd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ivd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
                .description = "tl2_ivv",
@@ -11046,14 +13412,12 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_mask = {
                .description = "tl3.prot",
                .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
                .description = "tl3.prot",
                .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
@@ -11444,12 +13808,30 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_mask = {
                .description = "l2_smac",
                .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
                .description = "l2_smac",
                .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
@@ -11564,12 +13946,30 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_mask = {
                .description = "l2_ivv",
                .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_OO_VLAN_FB_VID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_OO_VLAN_FB_VID & 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 = "l2_ivv",
                .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_OO_VLAN_FB_VID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_OO_VLAN_FB_VID & 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
                }
        },
        {
@@ -11612,12 +14012,14 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_mask = {
                .description = "l3.sip.ipv4",
                .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
                .description = "l3.sip.ipv4",
                .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
@@ -11648,12 +14050,14 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_mask = {
                .description = "l3.dip.ipv4",
                .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
                .description = "l3.dip.ipv4",
                .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
@@ -11697,31 +14101,14 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
                .description = "l3.prot",
                .field_bit_size = 8,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
                .description = "l3.prot",
                .field_bit_size = 8,
-               .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_IPV4 >> 56) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
-               (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
-               .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr2 = {
-                       1},
-               .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr3 = {
-               58}
-               }
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
        },
        {
        .field_info_mask = {
@@ -11907,12 +14294,14 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_mask = {
                .description = "l4.src",
                .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
                .description = "l4.src",
                .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
@@ -12049,7 +14438,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
-       /* class_tid: 1, thor, table: wm.icmpv4_low */
+       /* class_tid: 1, , table: wm.l3_l4.vxlan.ipv4 */
        {
        .field_info_mask = {
                .description = "wc_profile_id",
@@ -12065,8 +14454,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
                .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
                .field_opr1 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff}
+               (BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_2 >> 8) & 0xff,
+               BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_2 & 0xff}
                }
        },
        {
@@ -12082,19 +14471,11 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_spec = {
                .description = "l2_cntxt_id",
                .field_bit_size = 10,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
                .field_src1 = BNXT_ULP_FIELD_SRC_RF,
                .field_opr1 = {
-               (BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,
-               BNXT_ULP_RF_IDX_PHY_PORT & 0xff},
-               .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
-               .field_opr2 = {
-                       (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,
-                       BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},
-               .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
-               .field_opr3 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}
+               (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
                }
        },
        {
@@ -12329,12 +14710,30 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_mask = {
                .description = "tl2_ivv",
                .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_OO_VLAN_FB_VID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_OO_VLAN_FB_VID & 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 = "tl2_ivv",
                .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_OO_VLAN_FB_VID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_OO_VLAN_FB_VID & 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
                }
        },
        {
@@ -12377,12 +14776,30 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_mask = {
                .description = "tl3.sip.ipv4",
                .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_SRC_ADDR >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
                .description = "tl3.sip.ipv4",
                .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_SRC_ADDR >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
@@ -12413,12 +14830,30 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_mask = {
                .description = "tl3.dip.ipv4",
                .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_DST_ADDR >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
                .description = "tl3.dip.ipv4",
                .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_DST_ADDR >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
@@ -12461,14 +14896,27 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_mask = {
                .description = "tl3.prot",
                .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
                .description = "tl3.prot",
                .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L3_FB_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},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
@@ -12643,24 +15091,60 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_mask = {
                .description = "tl4.src",
                .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_FB_SRC_PORT >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L4_FB_SRC_PORT & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr2 = {
+                       (BNXT_ULP_CF_IDX_O_L4_SRC_PORT_MASK >> 8) & 0xff,
+                       BNXT_ULP_CF_IDX_O_L4_SRC_PORT_MASK & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
                .description = "tl4.src",
                .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_FB_SRC_PORT >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L4_FB_SRC_PORT & 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_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
                .description = "tl4.dst",
                .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_FB_DST_PORT >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L4_FB_DST_PORT & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr2 = {
+                       (BNXT_ULP_CF_IDX_O_L4_DST_PORT_MASK >> 8) & 0xff,
+                       BNXT_ULP_CF_IDX_O_L4_DST_PORT_MASK & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
                .description = "tl4.dst",
                .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_FB_DST_PORT >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L4_FB_DST_PORT & 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_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
@@ -12859,12 +15343,30 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_mask = {
                .description = "l2_smac",
                .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
                .description = "l2_smac",
                .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
@@ -13111,31 +15613,12 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_mask = {
                .description = "l3.prot",
                .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
                .description = "l3.prot",
                .field_bit_size = 8,
-               .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_IPV4 >> 56) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
-               (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
-               .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr2 = {
-                       1},
-               .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr3 = {
-               58}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
@@ -13334,14 +15817,12 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
        .field_info_mask = {
                .description = "l4.dst",
                .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
                .description = "l4.dst",
                .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
@@ -13464,4308 +15945,4706 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
-       /* class_tid: 1, thor, table: profile_tcam_cache.icmpv6_rd */
-       {
-       .field_info_mask = {
-               .description = "recycle_cnt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
-               },
-       .field_info_spec = {
-               .description = "recycle_cnt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-               }
-       },
+       /* class_tid: 1, , table: wm.l3_l4.vxlan.ipv6 */
        {
        .field_info_mask = {
-               .description = "prof_func_id",
-               .field_bit_size = 7,
+               .description = "wc_profile_id",
+               .field_bit_size = 8,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
                .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
                .field_opr1 = {
                        0xff}
                },
        .field_info_spec = {
-               .description = "prof_func_id",
-               .field_bit_size = 7,
+               .description = "wc_profile_id",
+               .field_bit_size = 8,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
                .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
                .field_opr1 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}
+               (BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_3 >> 8) & 0xff,
+               BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_3 & 0xff}
                }
        },
        {
        .field_info_mask = {
-               .description = "hdr_sig_id",
-               .field_bit_size = 5,
+               .description = "l2_cntxt_id",
+               .field_bit_size = 10,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
                .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
                .field_opr1 = {
+                       0xff,
                        0xff}
                },
        .field_info_spec = {
-               .description = "hdr_sig_id",
-               .field_bit_size = 5,
+               .description = "l2_cntxt_id",
+               .field_bit_size = 10,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_src1 = BNXT_ULP_FIELD_SRC_RF,
                .field_opr1 = {
-               (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,
-               BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
-               }
-       },
-       /* class_tid: 1, thor, table: profile_tcam.icmpv6 */
-       {
-       .field_info_mask = {
-               .description = "l4_hdr_is_udp_tcp",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-               },
-       .field_info_spec = {
-               .description = "l4_hdr_is_udp_tcp",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
                }
        },
        {
        .field_info_mask = {
-               .description = "l4_hdr_type",
+               .description = "parif",
                .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4_hdr_type",
+               .description = "parif",
                .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               ULP_THOR_SYM_L4_HDR_TYPE_ICMP}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "spif",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "spif",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "svif",
+               .field_bit_size = 11,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               ULP_THOR_SYM_L4_HDR_VALID_YES}
+               .description = "svif",
+               .field_bit_size = 11,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "ieh",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "lcos",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "ieh",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "lcos",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3_ipv6_cmp_dst",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "meta",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3_ipv6_cmp_dst",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "meta",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3_ipv6_cmp_src",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "rcyc_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3_ipv6_cmp_src",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "rcyc_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3_hdr_isIP",
+               .description = "loopback",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3_hdr_isIP",
+               .description = "loopback",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "tl2_l2type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               ULP_THOR_SYM_L3_HDR_TYPE_IPV6}
+               .description = "tl2_l2type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_dmac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_dmac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "tl2_smac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               ULP_THOR_SYM_L3_HDR_VALID_YES}
+               .description = "tl2_smac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_two_vtags",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_dt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_two_vtags",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_dt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_vtag_present",
+               .description = "tl2_sa",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_vtag_present",
+               .description = "tl2_sa",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_uc_mc_bc",
+               .description = "tl2_nvt",
                .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_uc_mc_bc",
+               .description = "tl2_nvt",
                .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_hdr_type",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_hdr_type",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_hdr_error",
+               .description = "tl2_ovd",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_hdr_error",
+               .description = "tl2_ovd",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "tl2_ovv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               ULP_THOR_SYM_L2_HDR_VALID_YES}
+               .description = "tl2_ovv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tun_hdr_flags",
+               .description = "tl2_ovt",
                .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tun_hdr_flags",
+               .description = "tl2_ovt",
                .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tun_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tun_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tun_hdr_err",
+               .description = "tl2_ivd",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tun_hdr_err",
+               .description = "tl2_ivd",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tun_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .description = "tl2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
                .field_opr1 = {
-                       0xff}
+               (BNXT_ULP_CF_IDX_OO_VLAN_FB_VID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_OO_VLAN_FB_VID & 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 = "tun_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_OO_VLAN_FB_VID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_OO_VLAN_FB_VID & 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 = "tl4_hdr_is_udp_tcp",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_ivt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4_hdr_is_udp_tcp",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_ivt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.l3type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.l3type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "tl3.sip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.sip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3_ipv6_cmp_dst",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.sip.ipv6",
+               .field_bit_size = 128,
+               .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_SRC_ADDR >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3_ipv6_cmp_dst",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.sip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
+               .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_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3_ipv6_cmp_src",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.sip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3_ipv6_cmp_src",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.sip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3_hdr_isIP",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.dip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3_hdr_isIP",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.dip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.dip.ipv6",
+               .field_bit_size = 128,
+               .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_DST_ADDR >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.dip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
+               .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_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.dip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.dip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "tl3.ttl",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.ttl",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_two_vtags",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.prot",
+               .field_bit_size = 8,
+               .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_L3_FB_PROTO_ID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl2_two_vtags",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.prot",
+               .field_bit_size = 8,
+               .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_L3_FB_PROTO_ID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L3_FB_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},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_vtag_present",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.fid.ipv4",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_vtag_present",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.fid.ipv4",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_uc_mc_bc",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.fid.ipv6",
+               .field_bit_size = 20,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_uc_mc_bc",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.fid.ipv6",
+               .field_bit_size = 20,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_hdr_type",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.qos",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_hdr_type",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.qos",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_hdr_valid",
+               .description = "tl3.ieh_nonext",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_hdr_valid",
+               .description = "tl3.ieh_nonext",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "hrec_next",
+               .description = "tl3.ieh_esp",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "hrec_next",
+               .description = "tl3.ieh_esp",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "prof_func_id",
-               .field_bit_size = 7,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "tl3.ieh_auth",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "prof_func_id",
-               .field_bit_size = 7,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
-               .field_opr1 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}
+               .description = "tl3.ieh_auth",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "agg_error",
+               .description = "tl3.ieh_dest",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "agg_error",
+               .description = "tl3.ieh_dest",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "metadata",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.ieh_frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "metadata",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.ieh_frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "pkt_type_0",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.ieh_rthdr",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "pkt_type_0",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.ieh_rthdr",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "pkt_type_1",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.ieh_hop",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "pkt_type_1",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.ieh_hop",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "valid",
+               .description = "tl3.ieh_1frag",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               1}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "valid",
+               .description = "tl3.ieh_1frag",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               1}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
-       /* class_tid: 1, thor, table: profile_tcam_cache.icmpv6_wr */
        {
        .field_info_mask = {
-               .description = "recycle_cnt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "tl3.df",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "recycle_cnt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.df",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "prof_func_id",
-               .field_bit_size = 7,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "tl3.l3err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "prof_func_id",
-               .field_bit_size = 7,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
-               .field_opr1 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}
+               .description = "tl3.l3err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "hdr_sig_id",
-               .field_bit_size = 5,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "tl4.l4type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "hdr_sig_id",
-               .field_bit_size = 5,
-               .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,
-               BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
+               .description = "tl4.l4type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
-       /* class_tid: 1, thor, table: wm.icmpv6 */
        {
        .field_info_mask = {
-               .description = "wc_profile_id",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .description = "tl4.src",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
                .field_opr1 = {
-                       0xff}
+               (BNXT_ULP_CF_IDX_O_L4_FB_SRC_PORT >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L4_FB_SRC_PORT & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr2 = {
+                       (BNXT_ULP_CF_IDX_O_L4_SRC_PORT_MASK >> 8) & 0xff,
+                       BNXT_ULP_CF_IDX_O_L4_SRC_PORT_MASK & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "wc_profile_id",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+               .description = "tl4.src",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
                .field_opr1 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff}
+               (BNXT_ULP_CF_IDX_O_L4_FB_SRC_PORT >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L4_FB_SRC_PORT & 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_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_cntxt_id",
-               .field_bit_size = 10,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .description = "tl4.dst",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
                .field_opr1 = {
-                       0xff,
-                       0xff}
+               (BNXT_ULP_CF_IDX_O_L4_FB_DST_PORT >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L4_FB_DST_PORT & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr2 = {
+                       (BNXT_ULP_CF_IDX_O_L4_DST_PORT_MASK >> 8) & 0xff,
+                       BNXT_ULP_CF_IDX_O_L4_DST_PORT_MASK & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_cntxt_id",
-               .field_bit_size = 10,
+               .description = "tl4.dst",
+               .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
-               .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
                .field_opr1 = {
-               (BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,
-               BNXT_ULP_RF_IDX_PHY_PORT & 0xff},
-               .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
+               (BNXT_ULP_CF_IDX_O_L4_FB_DST_PORT >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L4_FB_DST_PORT & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_CF,
                .field_opr2 = {
-                       (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,
-                       BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},
-               .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
-               .field_opr3 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}
+                       (BNXT_ULP_CF_IDX_O_L4_DST_PORT >> 8) & 0xff,
+                       BNXT_ULP_CF_IDX_O_L4_DST_PORT & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "parif",
-               .field_bit_size = 4,
+               .description = "tl4.flags",
+               .field_bit_size = 9,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "parif",
-               .field_bit_size = 4,
+               .description = "tl4.flags",
+               .field_bit_size = 9,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "spif",
-               .field_bit_size = 2,
+               .description = "tl4.seq",
+               .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "spif",
-               .field_bit_size = 2,
+               .description = "tl4.seq",
+               .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "svif",
-               .field_bit_size = 11,
+               .description = "tl4.pa",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "svif",
-               .field_bit_size = 11,
+               .description = "tl4.pa",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "lcos",
-               .field_bit_size = 3,
+               .description = "tl4.opt",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "lcos",
-               .field_bit_size = 3,
+               .description = "tl4.opt",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "meta",
-               .field_bit_size = 16,
+               .description = "tl4.tcpts",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "meta",
-               .field_bit_size = 16,
+               .description = "tl4.tcpts",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "rcyc_cnt",
-               .field_bit_size = 2,
+               .description = "tl4.err",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "rcyc_cnt",
-               .field_bit_size = 2,
+               .description = "tl4.err",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "loopback",
-               .field_bit_size = 1,
+               .description = "tuntype",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "loopback",
-               .field_bit_size = 1,
+               .description = "tuntype",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_l2type",
-               .field_bit_size = 2,
+               .description = "tflags",
+               .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_l2type",
-               .field_bit_size = 2,
+               .description = "tflags",
+               .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_dmac",
-               .field_bit_size = 48,
+               .description = "tids",
+               .field_bit_size = 24,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_dmac",
-               .field_bit_size = 48,
+               .description = "tids",
+               .field_bit_size = 24,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_smac",
-               .field_bit_size = 48,
+               .description = "tid",
+               .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_smac",
-               .field_bit_size = 48,
+               .description = "tid",
+               .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_dt",
-               .field_bit_size = 2,
+               .description = "tctxts",
+               .field_bit_size = 24,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_dt",
-               .field_bit_size = 2,
+               .description = "tctxts",
+               .field_bit_size = 24,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_sa",
-               .field_bit_size = 1,
+               .description = "tctxt",
+               .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_sa",
-               .field_bit_size = 1,
+               .description = "tctxt",
+               .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_nvt",
-               .field_bit_size = 2,
+               .description = "tqos",
+               .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_nvt",
-               .field_bit_size = 2,
+               .description = "tqos",
+               .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ovp",
-               .field_bit_size = 3,
+               .description = "terr",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_ovp",
-               .field_bit_size = 3,
+               .description = "terr",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ovd",
-               .field_bit_size = 1,
+               .description = "l2_l2type",
+               .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_ovd",
-               .field_bit_size = 1,
+               .description = "l2_l2type",
+               .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ovv",
-               .field_bit_size = 12,
+               .description = "l2_dmac",
+               .field_bit_size = 48,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_ovv",
-               .field_bit_size = 12,
+               .description = "l2_dmac",
+               .field_bit_size = 48,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ovt",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_smac",
+               .field_bit_size = 48,
+               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl2_ovt",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_smac",
+               .field_bit_size = 48,
+               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ivp",
-               .field_bit_size = 3,
+               .description = "l2_dt",
+               .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_ivp",
-               .field_bit_size = 3,
+               .description = "l2_dt",
+               .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ivd",
+               .description = "l2_sa",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_ivd",
+               .description = "l2_sa",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ivv",
+               .description = "l2_nvt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_nvt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ovd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_ovd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ovv",
                .field_bit_size = 12,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_ivv",
+               .description = "l2_ovv",
                .field_bit_size = 12,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ivt",
+               .description = "l2_ovt",
                .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_ivt",
+               .description = "l2_ovt",
                .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_etype",
+               .description = "l2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ivd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_ivd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ivt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_ivt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_etype",
                .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_etype",
+               .description = "l2_etype",
                .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.l3type",
+               .description = "l3.l3type",
                .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.l3type",
+               .description = "l3.l3type",
                .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.sip.ipv4",
+               .description = "l3.sip.ipv4",
                .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.sip.ipv4",
+               .description = "l3.sip.ipv4",
                .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.sip.ipv6",
+               .description = "l3.sip.ipv6",
                .field_bit_size = 128,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.sip.ipv6",
+               .description = "l3.sip.ipv6",
                .field_bit_size = 128,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.sip_selcmp.ipv6",
+               .description = "l3.sip_selcmp.ipv6",
                .field_bit_size = 72,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.sip_selcmp.ipv6",
+               .description = "l3.sip_selcmp.ipv6",
                .field_bit_size = 72,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.dip.ipv4",
+               .description = "l3.dip.ipv4",
                .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.dip.ipv4",
+               .description = "l3.dip.ipv4",
                .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.dip.ipv6",
+               .description = "l3.dip.ipv6",
                .field_bit_size = 128,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.dip.ipv6",
+               .description = "l3.dip.ipv6",
                .field_bit_size = 128,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.dip_selcmp.ipv6",
+               .description = "l3.dip_selcmp.ipv6",
                .field_bit_size = 72,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.dip_selcmp.ipv6",
+               .description = "l3.dip_selcmp.ipv6",
                .field_bit_size = 72,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ttl",
+               .description = "l3.ttl",
                .field_bit_size = 8,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.ttl",
+               .description = "l3.ttl",
                .field_bit_size = 8,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.prot",
+               .description = "l3.prot",
                .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.prot",
+               .description = "l3.prot",
                .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.fid.ipv4",
+               .description = "l3.fid.ipv4",
                .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.fid.ipv4",
+               .description = "l3.fid.ipv4",
                .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.fid.ipv6",
+               .description = "l3.fid.ipv6",
                .field_bit_size = 20,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.fid.ipv6",
+               .description = "l3.fid.ipv6",
                .field_bit_size = 20,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.qos",
+               .description = "l3.qos",
                .field_bit_size = 8,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.qos",
+               .description = "l3.qos",
                .field_bit_size = 8,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_nonext",
+               .description = "l3.ieh_nonext",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.ieh_nonext",
+               .description = "l3.ieh_nonext",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_esp",
+               .description = "l3.ieh_esp",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.ieh_esp",
+               .description = "l3.ieh_esp",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_auth",
+               .description = "l3.ieh_auth",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.ieh_auth",
+               .description = "l3.ieh_auth",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_dest",
+               .description = "l3.ieh_dest",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.ieh_dest",
+               .description = "l3.ieh_dest",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_frag",
+               .description = "l3.ieh_frag",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.ieh_frag",
+               .description = "l3.ieh_frag",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_rthdr",
+               .description = "l3.ieh_rthdr",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.ieh_rthdr",
+               .description = "l3.ieh_rthdr",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_hop",
+               .description = "l3.ieh_hop",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.ieh_hop",
+               .description = "l3.ieh_hop",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_1frag",
+               .description = "l3.ieh_1frag",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.ieh_1frag",
+               .description = "l3.ieh_1frag",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.df",
+               .description = "l3.df",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.df",
+               .description = "l3.df",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.l3err",
+               .description = "l3.l3err.ipv4",
                .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.l3err",
+               .description = "l3.l3err.ipv4",
                .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.l4type",
+               .description = "l3.l3err.ipv6",
                .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4.l4type",
+               .description = "l3.l3err.ipv6",
                .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.src",
+               .description = "l4.l4type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.l4type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.src",
                .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4.src",
+               .description = "l4.src",
                .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.dst",
+               .description = "l4.dst",
                .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4.dst",
+               .description = "l4.dst",
                .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.flags",
+               .description = "l4.flags",
                .field_bit_size = 9,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4.flags",
+               .description = "l4.flags",
                .field_bit_size = 9,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.seq",
+               .description = "l4.seq",
                .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4.seq",
+               .description = "l4.seq",
                .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.pa",
-               .field_bit_size = 1,
+               .description = "l4.ack",
+               .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4.pa",
-               .field_bit_size = 1,
+               .description = "l4.ack",
+               .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.opt",
-               .field_bit_size = 1,
+               .description = "l4.win",
+               .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4.opt",
-               .field_bit_size = 1,
+               .description = "l4.win",
+               .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.tcpts",
+               .description = "l4.pa",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4.tcpts",
+               .description = "l4.pa",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.err",
-               .field_bit_size = 4,
+               .description = "l4.opt",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4.err",
-               .field_bit_size = 4,
+               .description = "l4.opt",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tuntype",
-               .field_bit_size = 4,
+               .description = "l4.tcpts",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tuntype",
-               .field_bit_size = 4,
+               .description = "l4.tcpts",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tflags",
-               .field_bit_size = 3,
+               .description = "l4.tsval",
+               .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tflags",
-               .field_bit_size = 3,
+               .description = "l4.tsval",
+               .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tids",
-               .field_bit_size = 24,
+               .description = "l4.txecr",
+               .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tids",
-               .field_bit_size = 24,
+               .description = "l4.txecr",
+               .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tid",
-               .field_bit_size = 32,
+               .description = "l4.err",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tid",
-               .field_bit_size = 32,
+               .description = "l4.err",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
+       /* class_tid: 2, , table: port_table.rd */
        {
        .field_info_mask = {
-               .description = "tctxts",
-               .field_bit_size = 24,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "dev.port_id",
+               .field_bit_size = 10,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff,
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tctxts",
-               .field_bit_size = 24,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "dev.port_id",
+               .field_bit_size = 10,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
                }
        },
+       /* class_tid: 2, , table: tunnel_cache.rd */
        {
        .field_info_mask = {
-               .description = "tctxt",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "svif",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
                },
        .field_info_spec = {
-               .description = "tctxt",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "svif",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
                }
        },
        {
        .field_info_mask = {
-               .description = "tqos",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tunnel_id",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tqos",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tunnel_id",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_TUNNEL_ID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_TUNNEL_ID & 0xff}
                }
        },
+       /* class_tid: 2, , table: l2_cntxt_tcam.1 */
        {
        .field_info_mask = {
-               .description = "terr",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "terr",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_l2type",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_ivlan_tpid_sel",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_l2type",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_ivlan_tpid_sel",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_dmac",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_ivlan_vid",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_dmac",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_ivlan_vid",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_smac",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_ovlan_tpid_sel",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_smac",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_ovlan_tpid_sel",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_dt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_ovlan_vid",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_dt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_ovlan_vid",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_sa",
+               .description = "two_vtags",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_sa",
+               .description = "two_vtags",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_nvt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "vtag_present",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_nvt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "vtag_present",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ovp",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "mac1_addr",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_ovp",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "mac1_addr",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ovd",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "mac0_addr",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_ovd",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "mac0_addr",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ovv",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tunnel_id",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_ovv",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tunnel_id",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ovt",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
                },
        .field_info_spec = {
-               .description = "l2_ovt",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ivp",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "llc",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_ivp",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "llc",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ivd",
+               .description = "roce",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_ivd",
+               .description = "roce",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
-       },
-       {
-       .field_info_mask = {
-               .description = "l2_ivv",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "l2_ivv",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ivt",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "metadata",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_ivt",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "metadata",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_etype",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "svif",
+               .field_bit_size = 11,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_etype",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "svif",
+               .field_bit_size = 11,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.l3type",
+               .description = "parif",
                .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.l3type",
+               .description = "parif",
                .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.sip.ipv4",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "spif",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.sip.ipv4",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "spif",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.sip.ipv6",
-               .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "loopback",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.sip.ipv6",
-               .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "loopback",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.sip_selcmp.ipv6",
-               .field_bit_size = 72,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "recycle_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.sip_selcmp.ipv6",
-               .field_bit_size = 72,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "recycle_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.dip.ipv4",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "mpass_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.dip.ipv4",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "mpass_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.dip.ipv6",
-               .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               1}
                },
        .field_info_spec = {
-               .description = "l3.dip.ipv6",
-               .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               1}
                }
        },
+       /* class_tid: 2, , table: tunnel_cache.wr */
        {
        .field_info_mask = {
-               .description = "l3.dip_selcmp.ipv6",
-               .field_bit_size = 72,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "svif",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
                },
        .field_info_spec = {
-               .description = "l3.dip_selcmp.ipv6",
-               .field_bit_size = 72,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "svif",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ttl",
+               .description = "tunnel_id",
                .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l3.ttl",
+               .description = "tunnel_id",
                .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_TUNNEL_ID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_TUNNEL_ID & 0xff}
                }
        },
+       /* class_tid: 2, , table: mac_addr_cache.rd */
        {
        .field_info_mask = {
-               .description = "l3.prot",
+               .description = "svif",
                .field_bit_size = 8,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
                .field_opr1 = {
-                       0xff}
+               (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
                },
        .field_info_spec = {
-               .description = "l3.prot",
+               .description = "svif",
                .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
-               .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
                .field_opr1 = {
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
-               (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
-               .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr2 = {
-                       1},
-               .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr3 = {
-               58}
+               (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.fid.ipv4",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l3.fid.ipv4",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.fid.ipv6",
-               .field_bit_size = 20,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "one_tag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.fid.ipv6",
-               .field_bit_size = 20,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "one_tag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.qos",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "vid",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.qos",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "vid",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_nonext",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "mac_addr",
+               .field_bit_size = 48,
+               .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_info_spec = {
-               .description = "l3.ieh_nonext",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "mac_addr",
+               .field_bit_size = 48,
+               .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}
                }
        },
+       /* class_tid: 2, , table: l2_cntxt_tcam.0 */
        {
        .field_info_mask = {
-               .description = "l3.ieh_esp",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.ieh_esp",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_auth",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_ivlan_tpid_sel",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.ieh_auth",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_ivlan_tpid_sel",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_dest",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_ivlan_vid",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.ieh_dest",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_ivlan_vid",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_frag",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_ovlan_tpid_sel",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.ieh_frag",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_ovlan_tpid_sel",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_rthdr",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_ovlan_vid",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.ieh_rthdr",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_ovlan_vid",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_hop",
+               .description = "two_vtags",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.ieh_hop",
+               .description = "two_vtags",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_1frag",
+               .description = "vtag_present",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.ieh_1frag",
+               .description = "vtag_present",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.df",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "mac1_addr",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.df",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "mac1_addr",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.l3err.ipv4",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "mac0_addr",
+               .field_bit_size = 48,
+               .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_info_spec = {
-               .description = "l3.l3err.ipv4",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "mac0_addr",
+               .field_bit_size = 48,
+               .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_info_mask = {
-               .description = "l3.l3err.ipv6",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tunnel_id",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.l3err.ipv6",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tunnel_id",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.l4type",
+               .description = "tun_hdr_type",
                .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l4.l4type",
+               .description = "tun_hdr_type",
                .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.src",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "llc",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l4.src",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "llc",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.dst",
-               .field_bit_size = 16,
+               .description = "roce",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
                .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l4.dst",
-               .field_bit_size = 16,
+               .description = "roce",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
                .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.flags",
-               .field_bit_size = 9,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "metadata",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l4.flags",
-               .field_bit_size = 9,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "metadata",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.seq",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "svif",
+               .field_bit_size = 11,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
                },
        .field_info_spec = {
-               .description = "l4.seq",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "svif",
+               .field_bit_size = 11,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.ack",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "parif",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l4.ack",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "parif",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.win",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "spif",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l4.win",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "spif",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.pa",
+               .description = "loopback",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l4.pa",
+               .description = "loopback",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.opt",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "recycle_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l4.opt",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "recycle_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.tcpts",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "mpass_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               2}
                },
        .field_info_spec = {
-               .description = "l4.tcpts",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "mpass_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.tsval",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               1}
                },
        .field_info_spec = {
-               .description = "l4.tsval",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               1}
                }
        },
+       /* class_tid: 2, , table: mac_addr_cache.wr */
        {
        .field_info_mask = {
-               .description = "l4.txecr",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "svif",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
                },
        .field_info_spec = {
-               .description = "l4.txecr",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "svif",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.err",
+               .description = "tun_hdr",
                .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l4.err",
+               .description = "tun_hdr",
                .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
-       /* class_tid: 1, thor, table: wm.icmpv6_low */
        {
        .field_info_mask = {
-               .description = "wc_profile_id",
-               .field_bit_size = 8,
+               .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_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "wc_profile_id",
-               .field_bit_size = 8,
+               .description = "one_tag",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
-               .field_opr1 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff}
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_cntxt_id",
-               .field_bit_size = 10,
+               .description = "vid",
+               .field_bit_size = 12,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff,
-                       0xff}
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_cntxt_id",
-               .field_bit_size = 10,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
-               .field_src1 = BNXT_ULP_FIELD_SRC_RF,
-               .field_opr1 = {
-               (BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,
-               BNXT_ULP_RF_IDX_PHY_PORT & 0xff},
-               .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
-               .field_opr2 = {
-                       (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,
-                       BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},
-               .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
-               .field_opr3 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}
+               .description = "vid",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "parif",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "mac_addr",
+               .field_bit_size = 48,
+               .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_info_spec = {
-               .description = "parif",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "mac_addr",
+               .field_bit_size = 48,
+               .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}
                }
        },
+       /* class_tid: 2, , table: profile_tcam_cache.f2_ipv6_rd */
        {
        .field_info_mask = {
-               .description = "spif",
+               .description = "recycle_cnt",
                .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "spif",
+               .description = "recycle_cnt",
                .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "svif",
-               .field_bit_size = 11,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "svif",
-               .field_bit_size = 11,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID & 0xff}
                }
        },
        {
        .field_info_mask = {
-               .description = "lcos",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "hdr_sig_id",
+               .field_bit_size = 5,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "lcos",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "hdr_sig_id",
+               .field_bit_size = 5,
+               .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,
+               BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
                }
        },
+       /* class_tid: 2, , table: profile_tcam.f2_l2_l3_l4_v6_em */
        {
        .field_info_mask = {
-               .description = "meta",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_is_udp_tcp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "meta",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_is_udp_tcp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "rcyc_cnt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_I_L4 >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_I_L4 & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "rcyc_cnt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
+               .field_opr1 = {
+               ((uint64_t)BNXT_ULP_HDR_BIT_I_TCP >> 56) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_I_TCP >> 48) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_I_TCP >> 40) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_I_TCP >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_I_TCP >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_I_TCP >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_I_TCP >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_HDR_BIT_I_TCP & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr2 = {
+                       ULP_THOR_SYM_L4_HDR_TYPE_TCP},
+               .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr3 = {
+               ULP_THOR_SYM_L4_HDR_TYPE_UDP}
                }
        },
        {
        .field_info_mask = {
-               .description = "loopback",
+               .description = "l4_hdr_error",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_I_L4 >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_I_L4 & 0xff}
                },
        .field_info_spec = {
-               .description = "loopback",
+               .description = "l4_hdr_error",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_l2type",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_I_L4 >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_I_L4 & 0xff}
                },
        .field_info_spec = {
-               .description = "tl2_l2type",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_I_L4 >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_I_L4 & 0xff}
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_dmac",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "ieh",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl2_dmac",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "ieh",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_smac",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_ipv6_cmp_dst",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl2_smac",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_ipv6_cmp_dst",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_dt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_ipv6_cmp_src",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl2_dt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_ipv6_cmp_src",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_sa",
+               .description = "l3_hdr_isIP",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl2_sa",
+               .description = "l3_hdr_isIP",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_nvt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl2_nvt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_L3_HDR_TYPE_IPV6}
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ovp",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl2_ovp",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ovd",
+               .description = "l3_hdr_valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl2_ovd",
+               .description = "l3_hdr_valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_L3_HDR_VALID_YES}
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ovv",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_two_vtags",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl2_ovv",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_two_vtags",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ovt",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_vtag_present",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl2_ovt",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_vtag_present",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ivp",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_uc_mc_bc",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl2_ivp",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_uc_mc_bc",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ivd",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl2_ivd",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ivv",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl2_ivv",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ivt",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl2_ivt",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_L2_HDR_VALID_YES}
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_etype",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr_flags",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl2_etype",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr_flags",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.l3type",
+               .description = "tun_hdr_type",
                .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl3.l3type",
+               .description = "tun_hdr_type",
                .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.sip.ipv4",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr_err",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl3.sip.ipv4",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr_err",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.sip.ipv6",
-               .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl3.sip.ipv6",
-               .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_TUN_HDR_VALID_YES}
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.sip_selcmp.ipv6",
-               .field_bit_size = 72,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_is_udp_tcp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.sip_selcmp.ipv6",
-               .field_bit_size = 72,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_is_udp_tcp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.dip.ipv4",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl3.dip.ipv4",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
-       },
-       {
-       .field_info_mask = {
-               .description = "tl3.dip.ipv6",
-               .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "tl3.dip.ipv6",
-               .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_TL4_HDR_TYPE_UDP}
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.dip_selcmp.ipv6",
-               .field_bit_size = 72,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl3.dip_selcmp.ipv6",
-               .field_bit_size = 72,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ttl",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl3.ttl",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_TL4_HDR_VALID_YES}
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.prot",
-               .field_bit_size = 8,
+               .description = "tl3_ipv6_cmp_dst",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
                .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.prot",
-               .field_bit_size = 8,
+               .description = "tl3_ipv6_cmp_dst",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
                .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.fid.ipv4",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "tl3.fid.ipv4",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
-       },
-       {
-       .field_info_mask = {
-               .description = "tl3.fid.ipv6",
-               .field_bit_size = 20,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_ipv6_cmp_src",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.fid.ipv6",
-               .field_bit_size = 20,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_ipv6_cmp_src",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.qos",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_isIP",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.qos",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_isIP",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_nonext",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl3.ieh_nonext",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_esp",
+               .description = "tl3_hdr_error",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl3.ieh_esp",
+               .description = "tl3_hdr_error",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_auth",
+               .description = "tl3_hdr_valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl3.ieh_auth",
+               .description = "tl3_hdr_valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_TL3_HDR_VALID_YES}
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_dest",
+               .description = "tl2_two_vtags",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.ieh_dest",
+               .description = "tl2_two_vtags",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_frag",
+               .description = "tl2_vtag_present",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.ieh_frag",
+               .description = "tl2_vtag_present",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_rthdr",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_uc_mc_bc",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl3.ieh_rthdr",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_uc_mc_bc",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_hop",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_hdr_type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.ieh_hop",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_hdr_type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_1frag",
+               .description = "tl2_hdr_valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl3.ieh_1frag",
+               .description = "tl2_hdr_valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_TL2_HDR_VALID_YES}
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.df",
+               .description = "hrec_next",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.df",
+               .description = "hrec_next",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.l3err",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl3.l3err",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID & 0xff}
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.l4type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "agg_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl4.l4type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "agg_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.src",
+               .description = "metadata",
                .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl4.src",
+               .description = "metadata",
                .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.dst",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "pkt_type_0",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl4.dst",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "pkt_type_0",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.flags",
-               .field_bit_size = 9,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "pkt_type_1",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl4.flags",
-               .field_bit_size = 9,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "pkt_type_1",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.seq",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               1}
                },
        .field_info_spec = {
-               .description = "tl4.seq",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               1}
                }
        },
+       /* class_tid: 2, , table: profile_tcam_cache.f2_l2_l3_l4_v6_wr */
        {
        .field_info_mask = {
-               .description = "tl4.pa",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "recycle_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl4.pa",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "recycle_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.opt",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl4.opt",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID & 0xff}
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.tcpts",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "hdr_sig_id",
+               .field_bit_size = 5,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl4.tcpts",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "hdr_sig_id",
+               .field_bit_size = 5,
+               .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,
+               BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
                }
        },
+       /* class_tid: 2, , table: em.f2_l2_l3_l4_v6.0 */
        {
        .field_info_mask = {
-               .description = "tl4.err",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "em_profile_id",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl4.err",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "em_profile_id",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+               .field_opr1 = {
+               (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
                }
        },
        {
        .field_info_mask = {
-               .description = "tuntype",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_cntxt_id",
+               .field_bit_size = 10,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff,
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tuntype",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_cntxt_id",
+               .field_bit_size = 10,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+               .field_opr1 = {
+               (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
                }
        },
        {
        .field_info_mask = {
-               .description = "tflags",
-               .field_bit_size = 3,
+               .description = "parif",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tflags",
-               .field_bit_size = 3,
+               .description = "parif",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tids",
-               .field_bit_size = 24,
+               .description = "spif",
+               .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tids",
-               .field_bit_size = 24,
+               .description = "spif",
+               .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tid",
-               .field_bit_size = 32,
+               .description = "svif",
+               .field_bit_size = 11,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tid",
-               .field_bit_size = 32,
+               .description = "svif",
+               .field_bit_size = 11,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tctxts",
-               .field_bit_size = 24,
+               .description = "lcos",
+               .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tctxts",
-               .field_bit_size = 24,
+               .description = "lcos",
+               .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tctxt",
-               .field_bit_size = 32,
+               .description = "meta",
+               .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tctxt",
-               .field_bit_size = 32,
+               .description = "meta",
+               .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tqos",
-               .field_bit_size = 3,
+               .description = "rcyc_cnt",
+               .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tqos",
-               .field_bit_size = 3,
+               .description = "rcyc_cnt",
+               .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "terr",
-               .field_bit_size = 4,
+               .description = "loopback",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "terr",
-               .field_bit_size = 4,
+               .description = "loopback",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_l2type",
+               .description = "tl2_l2type",
                .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_l2type",
+               .description = "tl2_l2type",
                .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_dmac",
+               .description = "tl2_dmac",
                .field_bit_size = 48,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_dmac",
+               .description = "tl2_dmac",
                .field_bit_size = 48,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_smac",
+               .description = "tl2_smac",
                .field_bit_size = 48,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_smac",
+               .description = "tl2_smac",
                .field_bit_size = 48,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_dt",
+               .description = "tl2_dt",
                .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_dt",
+               .description = "tl2_dt",
                .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_sa",
+               .description = "tl2_sa",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_sa",
+               .description = "tl2_sa",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_nvt",
+               .description = "tl2_nvt",
                .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_nvt",
+               .description = "tl2_nvt",
                .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ovp",
+               .description = "tl2_ovp",
                .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_ovp",
+               .description = "tl2_ovp",
                .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ovd",
+               .description = "tl2_ovd",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_ovd",
+               .description = "tl2_ovd",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ovv",
+               .description = "tl2_ovv",
                .field_bit_size = 12,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_ovv",
+               .description = "tl2_ovv",
                .field_bit_size = 12,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ovt",
+               .description = "tl2_ovt",
                .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_ovt",
+               .description = "tl2_ovt",
                .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ivp",
+               .description = "tl2_ivp",
                .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_ivp",
+               .description = "tl2_ivp",
                .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ivd",
+               .description = "tl2_ivd",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_ivd",
+               .description = "tl2_ivd",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ivv",
+               .description = "tl2_ivv",
                .field_bit_size = 12,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_ivv",
+               .description = "tl2_ivv",
                .field_bit_size = 12,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ivt",
+               .description = "tl2_ivt",
                .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_ivt",
+               .description = "tl2_ivt",
                .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_etype",
+               .description = "tl2_etype",
                .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_etype",
+               .description = "tl2_etype",
                .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.l3type",
+               .description = "tl3.l3type",
                .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.l3type",
+               .description = "tl3.l3type",
                .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.sip.ipv4",
+               .description = "tl3.sip.ipv4",
                .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.sip.ipv4",
+               .description = "tl3.sip.ipv4",
                .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.sip.ipv6",
+               .description = "tl3.sip.ipv6",
                .field_bit_size = 128,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.sip.ipv6",
+               .description = "tl3.sip.ipv6",
                .field_bit_size = 128,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.sip_selcmp.ipv6",
+               .description = "tl3.sip_selcmp.ipv6",
                .field_bit_size = 72,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.sip_selcmp.ipv6",
+               .description = "tl3.sip_selcmp.ipv6",
                .field_bit_size = 72,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.dip.ipv4",
+               .description = "tl3.dip.ipv4",
                .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.dip.ipv4",
+               .description = "tl3.dip.ipv4",
                .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.dip.ipv6",
+               .description = "tl3.dip.ipv6",
                .field_bit_size = 128,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.dip.ipv6",
+               .description = "tl3.dip.ipv6",
                .field_bit_size = 128,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.dip_selcmp.ipv6",
+               .description = "tl3.dip_selcmp.ipv6",
                .field_bit_size = 72,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.dip_selcmp.ipv6",
+               .description = "tl3.dip_selcmp.ipv6",
                .field_bit_size = 72,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ttl",
+               .description = "tl3.ttl",
                .field_bit_size = 8,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.ttl",
+               .description = "tl3.ttl",
                .field_bit_size = 8,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.prot",
+               .description = "tl3.prot",
                .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.prot",
+               .description = "tl3.prot",
                .field_bit_size = 8,
-               .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_IPV4 >> 56) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
-               (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
-               .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr2 = {
-                       1},
-               .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr3 = {
-               58}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.fid.ipv4",
+               .description = "tl3.fid.ipv4",
                .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.fid.ipv4",
+               .description = "tl3.fid.ipv4",
                .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.fid.ipv6",
+               .description = "tl3.fid.ipv6",
                .field_bit_size = 20,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.fid.ipv6",
+               .description = "tl3.fid.ipv6",
                .field_bit_size = 20,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.qos",
+               .description = "tl3.qos",
                .field_bit_size = 8,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.qos",
+               .description = "tl3.qos",
                .field_bit_size = 8,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_nonext",
+               .description = "tl3.ieh_nonext",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.ieh_nonext",
+               .description = "tl3.ieh_nonext",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_esp",
+               .description = "tl3.ieh_esp",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.ieh_esp",
+               .description = "tl3.ieh_esp",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_auth",
+               .description = "tl3.ieh_auth",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.ieh_auth",
+               .description = "tl3.ieh_auth",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_dest",
+               .description = "tl3.ieh_dest",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.ieh_dest",
+               .description = "tl3.ieh_dest",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_frag",
+               .description = "tl3.ieh_frag",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.ieh_frag",
+               .description = "tl3.ieh_frag",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_rthdr",
+               .description = "tl3.ieh_rthdr",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.ieh_rthdr",
+               .description = "tl3.ieh_rthdr",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_hop",
+               .description = "tl3.ieh_hop",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.ieh_hop",
+               .description = "tl3.ieh_hop",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_1frag",
+               .description = "tl3.ieh_1frag",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.ieh_1frag",
+               .description = "tl3.ieh_1frag",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.df",
+               .description = "tl3.df",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.df",
+               .description = "tl3.df",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.l3err.ipv4",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "l3.l3err.ipv4",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
-       },
-       {
-       .field_info_mask = {
-               .description = "l3.l3err.ipv6",
+               .description = "tl3.l3err",
                .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.l3err.ipv6",
+               .description = "tl3.l3err",
                .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.l4type",
+               .description = "tl4.l4type",
                .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.l4type",
+               .description = "tl4.l4type",
                .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.src",
+               .description = "tl4.src",
                .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.src",
+               .description = "tl4.src",
                .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.dst",
+               .description = "tl4.dst",
                .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.dst",
+               .description = "tl4.dst",
                .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.flags",
+               .description = "tl4.flags",
                .field_bit_size = 9,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.flags",
+               .description = "tl4.flags",
                .field_bit_size = 9,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.seq",
+               .description = "tl4.seq",
                .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.seq",
+               .description = "tl4.seq",
                .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.ack",
-               .field_bit_size = 32,
+               .description = "tl4.pa",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.ack",
-               .field_bit_size = 32,
+               .description = "tl4.pa",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.win",
-               .field_bit_size = 16,
+               .description = "tl4.opt",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.win",
-               .field_bit_size = 16,
+               .description = "tl4.opt",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.pa",
+               .description = "tl4.tcpts",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.pa",
+               .description = "tl4.tcpts",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.opt",
-               .field_bit_size = 1,
+               .description = "tl4.err",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.opt",
-               .field_bit_size = 1,
+               .description = "tl4.err",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.tcpts",
-               .field_bit_size = 1,
+               .description = "tuntype",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.tcpts",
-               .field_bit_size = 1,
+               .description = "tuntype",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.tsval",
-               .field_bit_size = 32,
+               .description = "tflags",
+               .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.tsval",
-               .field_bit_size = 32,
+               .description = "tflags",
+               .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.txecr",
+               .description = "tids",
+               .field_bit_size = 24,
+               .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_T_VXLAN_VNI >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tids",
+               .field_bit_size = 24,
+               .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_T_VXLAN_VNI >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tid",
                .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.txecr",
+               .description = "tid",
                .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.err",
-               .field_bit_size = 4,
+               .description = "tctxts",
+               .field_bit_size = 24,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.err",
-               .field_bit_size = 4,
+               .description = "tctxts",
+               .field_bit_size = 24,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
-       /* class_tid: 1, thor, table: profile_tcam_cache.l3_l4_rd */
        {
        .field_info_mask = {
-               .description = "recycle_cnt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "tctxt",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "recycle_cnt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tctxt",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "prof_func_id",
-               .field_bit_size = 7,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "tqos",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "prof_func_id",
-               .field_bit_size = 7,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
-               .field_opr1 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}
+               .description = "tqos",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "hdr_sig_id",
-               .field_bit_size = 5,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "terr",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "hdr_sig_id",
-               .field_bit_size = 5,
-               .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,
-               BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
+               .description = "terr",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
-       /* class_tid: 1, thor, table: profile_tcam.l3_l4 */
        {
        .field_info_mask = {
-               .description = "l4_hdr_is_udp_tcp",
-               .field_bit_size = 1,
+               .description = "l2_l2type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_l2type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_dmac",
+               .field_bit_size = 48,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}
                },
        .field_info_spec = {
-               .description = "l4_hdr_is_udp_tcp",
-               .field_bit_size = 1,
+               .description = "l2_dmac",
+               .field_bit_size = 48,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}
                }
        },
        {
        .field_info_mask = {
-               .description = "l4_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .description = "l2_smac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
                .field_opr1 = {
-                       0xff}
+               (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
                },
        .field_info_spec = {
-               .description = "l4_hdr_type",
-               .field_bit_size = 4,
+               .description = "l2_smac",
+               .field_bit_size = 48,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
-               .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
+               .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_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,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
-               (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
-               .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+               (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
                .field_opr2 = {
-                       ULP_THOR_SYM_L4_HDR_TYPE_TCP},
-               .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr3 = {
-               ULP_THOR_SYM_L4_HDR_TYPE_UDP}
+                       (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_dt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_dt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4_hdr_valid",
+               .description = "l2_sa",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4_hdr_valid",
+               .description = "l2_sa",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               ULP_THOR_SYM_L4_HDR_VALID_YES}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "ieh",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_nvt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "ieh",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_nvt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3_ipv6_cmp_dst",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3_ipv6_cmp_dst",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3_ipv6_cmp_src",
+               .description = "l2_ovd",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3_ipv6_cmp_src",
+               .description = "l2_ovd",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3_hdr_isIP",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ovv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3_hdr_isIP",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ovv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "l2_ovt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
-               .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
-               .field_opr1 = {
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
-               (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
-               .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr2 = {
-                       ULP_THOR_SYM_L3_HDR_TYPE_IPV4},
-               .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr3 = {
-               ULP_THOR_SYM_L3_HDR_TYPE_IPV6}
+               .description = "l2_ovt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3_hdr_valid",
+               .description = "l2_ivd",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3_hdr_valid",
+               .description = "l2_ivd",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               ULP_THOR_SYM_L3_HDR_VALID_YES}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_two_vtags",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_two_vtags",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_vtag_present",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ivt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_vtag_present",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ivt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_uc_mc_bc",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_uc_mc_bc",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_hdr_type",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.l3type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_hdr_type",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.l3type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.sip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.sip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .description = "l3.sip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
                .field_opr1 = {
-                       0xff}
+               (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .description = "l3.sip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
                .field_opr1 = {
-               ULP_THOR_SYM_L2_HDR_VALID_YES}
+               (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tun_hdr_flags",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.sip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tun_hdr_flags",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.sip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tun_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.dip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tun_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.dip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tun_hdr_err",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.dip.ipv6",
+               .field_bit_size = 128,
+               .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_I_IPV6_DST_ADDR >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
                },
        .field_info_spec = {
-               .description = "tun_hdr_err",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.dip.ipv6",
+               .field_bit_size = 128,
+               .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_I_IPV6_DST_ADDR >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tun_hdr_valid",
-               .field_bit_size = 1,
+               .description = "l3.dip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.dip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ttl",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ttl",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.prot",
+               .field_bit_size = 8,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
                .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
                .field_opr1 = {
                        0xff}
                },
        .field_info_spec = {
-               .description = "tun_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.prot",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_I_L3_FB_PROTO_ID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_I_L3_FB_PROTO_ID & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr2 = {
+                       (BNXT_ULP_CF_IDX_I_L3_PROTO_ID >> 8) & 0xff,
+                       BNXT_ULP_CF_IDX_I_L3_PROTO_ID & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4_hdr_is_udp_tcp",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.fid.ipv4",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4_hdr_is_udp_tcp",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.fid.ipv4",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.fid.ipv6",
+               .field_bit_size = 20,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.fid.ipv6",
+               .field_bit_size = 20,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.qos",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.qos",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4_hdr_valid",
+               .description = "l3.ieh_nonext",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4_hdr_valid",
+               .description = "l3.ieh_nonext",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3_ipv6_cmp_dst",
+               .description = "l3.ieh_esp",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3_ipv6_cmp_dst",
+               .description = "l3.ieh_esp",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3_ipv6_cmp_src",
+               .description = "l3.ieh_auth",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3_ipv6_cmp_src",
+               .description = "l3.ieh_auth",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3_hdr_isIP",
+               .description = "l3.ieh_dest",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3_hdr_isIP",
+               .description = "l3.ieh_dest",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.ieh_frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.ieh_frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3_hdr_error",
+               .description = "l3.ieh_rthdr",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3_hdr_error",
+               .description = "l3.ieh_rthdr",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3_hdr_valid",
+               .description = "l3.ieh_hop",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3_hdr_valid",
+               .description = "l3.ieh_hop",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_two_vtags",
+               .description = "l3.ieh_1frag",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_two_vtags",
+               .description = "l3.ieh_1frag",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_vtag_present",
+               .description = "l3.df",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_vtag_present",
+               .description = "l3.df",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_uc_mc_bc",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.l3err.ipv4",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_uc_mc_bc",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.l3err.ipv4",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_hdr_type",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.l3err.ipv6",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_hdr_type",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.l3err.ipv6",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "l4.l4type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l4.l4type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "hrec_next",
-               .field_bit_size = 1,
+               .description = "l4.src",
+               .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff,
+                       0xff}
                },
        .field_info_spec = {
-               .description = "hrec_next",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l4.src",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_I_L4_FB_SRC_PORT >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_I_L4_FB_SRC_PORT & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr2 = {
+                       (BNXT_ULP_CF_IDX_I_L4_SRC_PORT >> 8) & 0xff,
+                       BNXT_ULP_CF_IDX_I_L4_SRC_PORT & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "prof_func_id",
-               .field_bit_size = 7,
+               .description = "l4.dst",
+               .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
                .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
                .field_opr1 = {
+                       0xff,
                        0xff}
                },
        .field_info_spec = {
-               .description = "prof_func_id",
-               .field_bit_size = 7,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+               .description = "l4.dst",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
                .field_opr1 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}
+               (BNXT_ULP_CF_IDX_I_L4_FB_DST_PORT >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_I_L4_FB_DST_PORT & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr2 = {
+                       (BNXT_ULP_CF_IDX_I_L4_DST_PORT >> 8) & 0xff,
+                       BNXT_ULP_CF_IDX_I_L4_DST_PORT & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "agg_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l4.flags",
+               .field_bit_size = 9,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "agg_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l4.flags",
+               .field_bit_size = 9,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "metadata",
+               .description = "l4.seq",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.seq",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.ack",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.ack",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.win",
                .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "metadata",
+               .description = "l4.win",
                .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "pkt_type_0",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l4.pa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "pkt_type_0",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l4.pa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "pkt_type_1",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l4.opt",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "pkt_type_1",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l4.opt",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "valid",
+               .description = "l4.tcpts",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               1}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "valid",
+               .description = "l4.tcpts",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               1}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.tsval",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.tsval",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.txecr",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.txecr",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
-       /* class_tid: 1, thor, table: profile_tcam_cache.wr */
+       /* class_tid: 2, , table: profile_tcam_cache.f2_rd */
        {
        .field_info_mask = {
                .description = "recycle_cnt",
@@ -17797,8 +20676,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
                .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
                .field_opr1 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}
+               (BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID & 0xff}
                }
        },
        {
@@ -17820,5891 +20699,17618 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
                BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
                }
        },
-       /* class_tid: 1, thor, table: wm.l4 */
+       /* class_tid: 2, , table: profile_tcam.f2 */
        {
        .field_info_mask = {
-               .description = "wc_profile_id",
-               .field_bit_size = 8,
+               .description = "l4_hdr_is_udp_tcp",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "wc_profile_id",
-               .field_bit_size = 8,
-               .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_IPV4 >> 56) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
-               (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
-               .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
-               .field_opr2 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,
-                       BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff},
-               .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
-               .field_opr3 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1 & 0xff}
+               .description = "l4_hdr_is_udp_tcp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_cntxt_id",
-               .field_bit_size = 10,
+               .description = "l4_hdr_type",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff,
-                       0xff}
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_cntxt_id",
-               .field_bit_size = 10,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
-               .field_src1 = BNXT_ULP_FIELD_SRC_RF,
-               .field_opr1 = {
-               (BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,
-               BNXT_ULP_RF_IDX_PHY_PORT & 0xff},
-               .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
-               .field_opr2 = {
-                       (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,
-                       BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},
-               .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
-               .field_opr3 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}
-               }
-       },
-       {
-       .field_info_mask = {
-               .description = "parif",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "parif",
+               .description = "l4_hdr_type",
                .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "spif",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "spif",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "svif",
-               .field_bit_size = 11,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "svif",
-               .field_bit_size = 11,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "lcos",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "ieh",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "lcos",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "ieh",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "meta",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_ipv6_cmp_dst",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "meta",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_ipv6_cmp_dst",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "rcyc_cnt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_ipv6_cmp_src",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "rcyc_cnt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_ipv6_cmp_src",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "loopback",
+               .description = "l3_hdr_isIP",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "loopback",
+               .description = "l3_hdr_isIP",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_l2type",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl2_l2type",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_dmac",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl2_dmac",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_smac",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl2_smac",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_L3_HDR_VALID_YES}
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_dt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_two_vtags",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl2_dt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_two_vtags",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_sa",
+               .description = "l2_vtag_present",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl2_sa",
+               .description = "l2_vtag_present",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_nvt",
+               .description = "l2_uc_mc_bc",
                .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl2_nvt",
+               .description = "l2_uc_mc_bc",
                .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ovp",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl2_ovp",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ovd",
+               .description = "l2_hdr_error",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl2_ovd",
+               .description = "l2_hdr_error",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ovv",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl2_ovv",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_L2_HDR_VALID_YES}
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ovt",
+               .description = "tun_hdr_flags",
                .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl2_ovt",
+               .description = "tun_hdr_flags",
                .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ivp",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl2_ivp",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ivd",
+               .description = "tun_hdr_err",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl2_ivd",
+               .description = "tun_hdr_err",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ivv",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl2_ivv",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_TUN_HDR_VALID_YES}
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ivt",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_is_udp_tcp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl2_ivt",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_is_udp_tcp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_etype",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl2_etype",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_TL4_HDR_TYPE_UDP}
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.l3type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl3.l3type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.sip.ipv4",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl3.sip.ipv4",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_TL4_HDR_VALID_YES}
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.sip.ipv6",
-               .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_ipv6_cmp_dst",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.sip.ipv6",
-               .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_ipv6_cmp_dst",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.sip_selcmp.ipv6",
-               .field_bit_size = 72,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_ipv6_cmp_src",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.sip_selcmp.ipv6",
-               .field_bit_size = 72,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_ipv6_cmp_src",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.dip.ipv4",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_isIP",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.dip.ipv4",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_isIP",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.dip.ipv6",
-               .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl3.dip.ipv6",
-               .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.dip_selcmp.ipv6",
-               .field_bit_size = 72,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl3.dip_selcmp.ipv6",
-               .field_bit_size = 72,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ttl",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl3.ttl",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_TL3_HDR_VALID_YES}
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.prot",
-               .field_bit_size = 8,
+               .description = "tl2_two_vtags",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
                .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.prot",
-               .field_bit_size = 8,
+               .description = "tl2_two_vtags",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
                .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.fid.ipv4",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_vtag_present",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.fid.ipv4",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_vtag_present",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.fid.ipv6",
-               .field_bit_size = 20,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_uc_mc_bc",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl3.fid.ipv6",
-               .field_bit_size = 20,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_uc_mc_bc",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.qos",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_hdr_type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.qos",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_hdr_type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_nonext",
+               .description = "tl2_hdr_valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl3.ieh_nonext",
+               .description = "tl2_hdr_valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_TL2_HDR_VALID_YES}
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_esp",
+               .description = "hrec_next",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.ieh_esp",
+               .description = "hrec_next",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_auth",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "tl3.ieh_auth",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
-       },
-       {
-       .field_info_mask = {
-               .description = "tl3.ieh_dest",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl3.ieh_dest",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID & 0xff}
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_frag",
+               .description = "agg_error",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.ieh_frag",
+               .description = "agg_error",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_rthdr",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "metadata",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.ieh_rthdr",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "metadata",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_hop",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "pkt_type_0",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.ieh_hop",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "pkt_type_0",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_1frag",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "pkt_type_1",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.ieh_1frag",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "pkt_type_1",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.df",
+               .description = "valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               1}
                },
        .field_info_spec = {
-               .description = "tl3.df",
+               .description = "valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
-       },
-       {
-       .field_info_mask = {
-               .description = "tl3.l3err",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "tl3.l3err",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
-       },
-       {
-       .field_info_mask = {
-               .description = "tl4.l4type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "tl4.l4type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
-       },
-       {
-       .field_info_mask = {
-               .description = "tl4.src",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "tl4.src",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
-       },
-       {
-       .field_info_mask = {
-               .description = "tl4.dst",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "tl4.dst",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
-       },
-       {
-       .field_info_mask = {
-               .description = "tl4.flags",
-               .field_bit_size = 9,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "tl4.flags",
-               .field_bit_size = 9,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               1}
                }
        },
+       /* class_tid: 2, , table: profile_tcam_cache.f2_wr */
        {
        .field_info_mask = {
-               .description = "tl4.seq",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "recycle_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl4.seq",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "recycle_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.pa",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl4.pa",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID & 0xff}
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.opt",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "hdr_sig_id",
+               .field_bit_size = 5,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl4.opt",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "hdr_sig_id",
+               .field_bit_size = 5,
+               .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,
+               BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
                }
        },
+       /* class_tid: 2, , table: wm.l3_l4.ipv4 */
        {
        .field_info_mask = {
-               .description = "tl4.tcpts",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "wc_profile_id",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl4.tcpts",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "wc_profile_id",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_4 >> 8) & 0xff,
+               BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_4 & 0xff}
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.err",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_cntxt_id",
+               .field_bit_size = 10,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff,
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl4.err",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_cntxt_id",
+               .field_bit_size = 10,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+               .field_opr1 = {
+               (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
                }
        },
        {
        .field_info_mask = {
-               .description = "tuntype",
+               .description = "parif",
                .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tuntype",
+               .description = "parif",
                .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tflags",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "tflags",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
-       },
-       {
-       .field_info_mask = {
-               .description = "tids",
-               .field_bit_size = 24,
+               .description = "spif",
+               .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tids",
-               .field_bit_size = 24,
+               .description = "spif",
+               .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tid",
-               .field_bit_size = 32,
+               .description = "svif",
+               .field_bit_size = 11,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tid",
-               .field_bit_size = 32,
+               .description = "svif",
+               .field_bit_size = 11,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tctxts",
-               .field_bit_size = 24,
+               .description = "lcos",
+               .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tctxts",
-               .field_bit_size = 24,
+               .description = "lcos",
+               .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tctxt",
-               .field_bit_size = 32,
+               .description = "meta",
+               .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tctxt",
-               .field_bit_size = 32,
+               .description = "meta",
+               .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tqos",
-               .field_bit_size = 3,
+               .description = "rcyc_cnt",
+               .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tqos",
-               .field_bit_size = 3,
+               .description = "rcyc_cnt",
+               .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "terr",
-               .field_bit_size = 4,
+               .description = "loopback",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "terr",
-               .field_bit_size = 4,
+               .description = "loopback",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_l2type",
+               .description = "tl2_l2type",
                .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_l2type",
+               .description = "tl2_l2type",
                .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_dmac",
+               .description = "tl2_dmac",
                .field_bit_size = 48,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_dmac",
+               .description = "tl2_dmac",
                .field_bit_size = 48,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_smac",
+               .description = "tl2_smac",
                .field_bit_size = 48,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_smac",
+               .description = "tl2_smac",
                .field_bit_size = 48,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_dt",
+               .description = "tl2_dt",
                .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_dt",
+               .description = "tl2_dt",
                .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_sa",
+               .description = "tl2_sa",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_sa",
+               .description = "tl2_sa",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_nvt",
+               .description = "tl2_nvt",
                .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_nvt",
+               .description = "tl2_nvt",
                .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ovp",
+               .description = "tl2_ovp",
                .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_ovp",
+               .description = "tl2_ovp",
                .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ovd",
+               .description = "tl2_ovd",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_ovd",
+               .description = "tl2_ovd",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ovv",
+               .description = "tl2_ovv",
                .field_bit_size = 12,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_ovv",
+               .description = "tl2_ovv",
                .field_bit_size = 12,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ovt",
+               .description = "tl2_ovt",
                .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_ovt",
+               .description = "tl2_ovt",
                .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ivp",
+               .description = "tl2_ivp",
                .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_ivp",
+               .description = "tl2_ivp",
                .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ivd",
+               .description = "tl2_ivd",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_ivd",
+               .description = "tl2_ivd",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ivv",
+               .description = "tl2_ivv",
                .field_bit_size = 12,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_ivv",
+               .description = "tl2_ivv",
                .field_bit_size = 12,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ivt",
+               .description = "tl2_ivt",
                .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_ivt",
+               .description = "tl2_ivt",
                .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_etype",
+               .description = "tl2_etype",
                .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_etype",
+               .description = "tl2_etype",
                .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.l3type",
+               .description = "tl3.l3type",
                .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.l3type",
+               .description = "tl3.l3type",
                .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.sip.ipv4",
+               .description = "tl3.sip.ipv4",
                .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.sip.ipv4",
+               .description = "tl3.sip.ipv4",
                .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.sip.ipv6",
+               .description = "tl3.sip.ipv6",
                .field_bit_size = 128,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.sip.ipv6",
+               .description = "tl3.sip.ipv6",
                .field_bit_size = 128,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.sip_selcmp.ipv6",
+               .description = "tl3.sip_selcmp.ipv6",
                .field_bit_size = 72,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.sip_selcmp.ipv6",
+               .description = "tl3.sip_selcmp.ipv6",
                .field_bit_size = 72,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.dip.ipv4",
+               .description = "tl3.dip.ipv4",
                .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.dip.ipv4",
+               .description = "tl3.dip.ipv4",
                .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.dip.ipv6",
+               .description = "tl3.dip.ipv6",
                .field_bit_size = 128,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.dip.ipv6",
+               .description = "tl3.dip.ipv6",
                .field_bit_size = 128,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.dip_selcmp.ipv6",
+               .description = "tl3.dip_selcmp.ipv6",
                .field_bit_size = 72,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.dip_selcmp.ipv6",
+               .description = "tl3.dip_selcmp.ipv6",
                .field_bit_size = 72,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ttl",
+               .description = "tl3.ttl",
                .field_bit_size = 8,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.ttl",
+               .description = "tl3.ttl",
                .field_bit_size = 8,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.prot",
+               .description = "tl3.prot",
                .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.prot",
+               .description = "tl3.prot",
                .field_bit_size = 8,
-               .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,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
-               (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
-               .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr2 = {
-                       ULP_THOR_SYM_IP_PROTO_TCP},
-               .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr3 = {
-               ULP_THOR_SYM_IP_PROTO_UDP}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.fid.ipv4",
+               .description = "tl3.fid.ipv4",
                .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.fid.ipv4",
+               .description = "tl3.fid.ipv4",
                .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.fid.ipv6",
+               .description = "tl3.fid.ipv6",
                .field_bit_size = 20,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.fid.ipv6",
+               .description = "tl3.fid.ipv6",
                .field_bit_size = 20,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.qos",
+               .description = "tl3.qos",
                .field_bit_size = 8,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.qos",
+               .description = "tl3.qos",
                .field_bit_size = 8,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_nonext",
+               .description = "tl3.ieh_nonext",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.ieh_nonext",
+               .description = "tl3.ieh_nonext",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_esp",
+               .description = "tl3.ieh_esp",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.ieh_esp",
+               .description = "tl3.ieh_esp",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_auth",
+               .description = "tl3.ieh_auth",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.ieh_auth",
+               .description = "tl3.ieh_auth",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_dest",
+               .description = "tl3.ieh_dest",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.ieh_dest",
+               .description = "tl3.ieh_dest",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_frag",
+               .description = "tl3.ieh_frag",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.ieh_frag",
+               .description = "tl3.ieh_frag",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_rthdr",
+               .description = "tl3.ieh_rthdr",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.ieh_rthdr",
+               .description = "tl3.ieh_rthdr",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_hop",
+               .description = "tl3.ieh_hop",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.ieh_hop",
+               .description = "tl3.ieh_hop",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_1frag",
+               .description = "tl3.ieh_1frag",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.ieh_1frag",
+               .description = "tl3.ieh_1frag",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.df",
+               .description = "tl3.df",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.df",
+               .description = "tl3.df",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.l3err.ipv4",
+               .description = "tl3.l3err",
                .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.l3err.ipv4",
+               .description = "tl3.l3err",
                .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.l3err.ipv6",
+               .description = "tl4.l4type",
                .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3.l3err.ipv6",
+               .description = "tl4.l4type",
                .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.l4type",
-               .field_bit_size = 4,
+               .description = "tl4.src",
+               .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.l4type",
-               .field_bit_size = 4,
+               .description = "tl4.src",
+               .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.src",
+               .description = "tl4.dst",
                .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.src",
+               .description = "tl4.dst",
                .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.dst",
-               .field_bit_size = 16,
-               .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,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
-               (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
-               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr2 = {
-                       (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
-                       BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff},
-               .field_src3 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr3 = {
-               (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
-               BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}
+               .description = "tl4.flags",
+               .field_bit_size = 9,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.dst",
-               .field_bit_size = 16,
-               .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,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
-               (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
-               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr2 = {
-                       (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
-                       BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff},
-               .field_src3 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr3 = {
-               (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
-               BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}
-               }
-       },
-       {
-       .field_info_mask = {
-               .description = "l4.flags",
-               .field_bit_size = 9,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "l4.flags",
+               .description = "tl4.flags",
                .field_bit_size = 9,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.seq",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "l4.seq",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
-       },
-       {
-       .field_info_mask = {
-               .description = "l4.ack",
+               .description = "tl4.seq",
                .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.ack",
+               .description = "tl4.seq",
                .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.win",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "l4.win",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
-       },
-       {
-       .field_info_mask = {
-               .description = "l4.pa",
+               .description = "tl4.pa",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.pa",
+               .description = "tl4.pa",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.opt",
+               .description = "tl4.opt",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.opt",
+               .description = "tl4.opt",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.tcpts",
+               .description = "tl4.tcpts",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.tcpts",
+               .description = "tl4.tcpts",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.tsval",
-               .field_bit_size = 32,
+               .description = "tl4.err",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.tsval",
-               .field_bit_size = 32,
+               .description = "tl4.err",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.txecr",
-               .field_bit_size = 32,
+               .description = "tuntype",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.txecr",
-               .field_bit_size = 32,
+               .description = "tuntype",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.err",
-               .field_bit_size = 4,
+               .description = "tflags",
+               .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.err",
-               .field_bit_size = 4,
+               .description = "tflags",
+               .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
-       /* class_tid: 1, thor, table: wm.l4_low */
        {
        .field_info_mask = {
-               .description = "wc_profile_id",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
-               },
-       .field_info_spec = {
-               .description = "wc_profile_id",
-               .field_bit_size = 8,
+               .description = "tids",
+               .field_bit_size = 24,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
-               .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
+               .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
                .field_opr1 = {
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
-               (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
-               .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
+               (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
                .field_opr2 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,
-                       BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff},
-               .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
-               .field_opr3 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1 & 0xff}
-               }
-       },
-       {
-       .field_info_mask = {
-               .description = "l2_cntxt_id",
-               .field_bit_size = 10,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff,
-                       0xff}
+                       (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_cntxt_id",
-               .field_bit_size = 10,
+               .description = "tids",
+               .field_bit_size = 24,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
-               .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+               .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
                .field_opr1 = {
-               (BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,
-               BNXT_ULP_RF_IDX_PHY_PORT & 0xff},
-               .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
+               (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
                .field_opr2 = {
-                       (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,
-                       BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},
-               .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
-               .field_opr3 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}
+                       (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "parif",
-               .field_bit_size = 4,
+               .description = "tid",
+               .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "parif",
-               .field_bit_size = 4,
+               .description = "tid",
+               .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "spif",
-               .field_bit_size = 2,
+               .description = "tctxts",
+               .field_bit_size = 24,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "spif",
-               .field_bit_size = 2,
+               .description = "tctxts",
+               .field_bit_size = 24,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "svif",
-               .field_bit_size = 11,
+               .description = "tctxt",
+               .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "svif",
-               .field_bit_size = 11,
+               .description = "tctxt",
+               .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "lcos",
+               .description = "tqos",
                .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "lcos",
+               .description = "tqos",
                .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "meta",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "meta",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
-       },
-       {
-       .field_info_mask = {
-               .description = "rcyc_cnt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "rcyc_cnt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
-       },
-       {
-       .field_info_mask = {
-               .description = "loopback",
-               .field_bit_size = 1,
+               .description = "terr",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "loopback",
-               .field_bit_size = 1,
+               .description = "terr",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_l2type",
+               .description = "l2_l2type",
                .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_l2type",
+               .description = "l2_l2type",
                .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_dmac",
+               .description = "l2_dmac",
                .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}
                },
        .field_info_spec = {
-               .description = "tl2_dmac",
+               .description = "l2_dmac",
                .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_smac",
+               .description = "l2_smac",
                .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_I_ETH_SMAC >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl2_smac",
+               .description = "l2_smac",
                .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_I_ETH_SMAC >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_dt",
+               .description = "l2_dt",
                .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_dt",
+               .description = "l2_dt",
                .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_sa",
+               .description = "l2_sa",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_sa",
+               .description = "l2_sa",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_nvt",
+               .description = "l2_nvt",
                .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_nvt",
+               .description = "l2_nvt",
                .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ovp",
+               .description = "l2_ovp",
                .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_ovp",
+               .description = "l2_ovp",
                .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ovd",
+               .description = "l2_ovd",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_ovd",
+               .description = "l2_ovd",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ovv",
+               .description = "l2_ovv",
                .field_bit_size = 12,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_ovv",
+               .description = "l2_ovv",
                .field_bit_size = 12,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ovt",
+               .description = "l2_ovt",
                .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_ovt",
+               .description = "l2_ovt",
                .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ivp",
+               .description = "l2_ivp",
                .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_ivp",
+               .description = "l2_ivp",
                .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ivd",
+               .description = "l2_ivd",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_ivd",
+               .description = "l2_ivd",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ivv",
+               .description = "l2_ivv",
                .field_bit_size = 12,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_ivv",
+               .description = "l2_ivv",
                .field_bit_size = 12,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ivt",
+               .description = "l2_ivt",
                .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_ivt",
+               .description = "l2_ivt",
                .field_bit_size = 3,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_etype",
+               .description = "l2_etype",
                .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_etype",
+               .description = "l2_etype",
                .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.l3type",
+               .description = "l3.l3type",
                .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.l3type",
+               .description = "l3.l3type",
                .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.sip.ipv4",
+               .description = "l3.sip.ipv4",
                .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_I_IPV4_SRC_ADDR >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.sip.ipv4",
+               .description = "l3.sip.ipv4",
                .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_I_IPV4_SRC_ADDR >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.sip.ipv6",
+               .description = "l3.sip.ipv6",
                .field_bit_size = 128,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.sip.ipv6",
+               .description = "l3.sip.ipv6",
                .field_bit_size = 128,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.sip_selcmp.ipv6",
+               .description = "l3.sip_selcmp.ipv6",
                .field_bit_size = 72,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.sip_selcmp.ipv6",
+               .description = "l3.sip_selcmp.ipv6",
                .field_bit_size = 72,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.dip.ipv4",
+               .description = "l3.dip.ipv4",
                .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_I_IPV4_DST_ADDR >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.dip.ipv4",
+               .description = "l3.dip.ipv4",
                .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_I_IPV4_DST_ADDR >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.dip.ipv6",
+               .description = "l3.dip.ipv6",
                .field_bit_size = 128,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.dip.ipv6",
+               .description = "l3.dip.ipv6",
                .field_bit_size = 128,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.dip_selcmp.ipv6",
+               .description = "l3.dip_selcmp.ipv6",
                .field_bit_size = 72,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.dip_selcmp.ipv6",
+               .description = "l3.dip_selcmp.ipv6",
                .field_bit_size = 72,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ttl",
+               .description = "l3.ttl",
                .field_bit_size = 8,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.ttl",
+               .description = "l3.ttl",
                .field_bit_size = 8,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.prot",
+               .description = "l3.prot",
                .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_I_L3_FB_PROTO_ID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_I_L3_FB_PROTO_ID & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.prot",
+               .description = "l3.prot",
                .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_I_L3_FB_PROTO_ID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_I_L3_FB_PROTO_ID & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr2 = {
+                       (BNXT_ULP_CF_IDX_I_L3_PROTO_ID >> 8) & 0xff,
+                       BNXT_ULP_CF_IDX_I_L3_PROTO_ID & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.fid.ipv4",
+               .description = "l3.fid.ipv4",
                .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.fid.ipv4",
+               .description = "l3.fid.ipv4",
                .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.fid.ipv6",
+               .description = "l3.fid.ipv6",
                .field_bit_size = 20,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.fid.ipv6",
+               .description = "l3.fid.ipv6",
                .field_bit_size = 20,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.qos",
+               .description = "l3.qos",
                .field_bit_size = 8,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.qos",
+               .description = "l3.qos",
                .field_bit_size = 8,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_nonext",
+               .description = "l3.ieh_nonext",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.ieh_nonext",
+               .description = "l3.ieh_nonext",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_esp",
+               .description = "l3.ieh_esp",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.ieh_esp",
+               .description = "l3.ieh_esp",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_auth",
+               .description = "l3.ieh_auth",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.ieh_auth",
+               .description = "l3.ieh_auth",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_dest",
+               .description = "l3.ieh_dest",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.ieh_dest",
+               .description = "l3.ieh_dest",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_frag",
+               .description = "l3.ieh_frag",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.ieh_frag",
+               .description = "l3.ieh_frag",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_rthdr",
+               .description = "l3.ieh_rthdr",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.ieh_rthdr",
+               .description = "l3.ieh_rthdr",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_hop",
+               .description = "l3.ieh_hop",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.ieh_hop",
+               .description = "l3.ieh_hop",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_1frag",
+               .description = "l3.ieh_1frag",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.ieh_1frag",
+               .description = "l3.ieh_1frag",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.df",
+               .description = "l3.df",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.df",
+               .description = "l3.df",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.l3err",
+               .description = "l3.l3err.ipv4",
                .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.l3err",
+               .description = "l3.l3err.ipv4",
                .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.l4type",
+               .description = "l3.l3err.ipv6",
                .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4.l4type",
+               .description = "l3.l3err.ipv6",
                .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.src",
-               .field_bit_size = 16,
+               .description = "l4.l4type",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4.src",
-               .field_bit_size = 16,
+               .description = "l4.l4type",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.dst",
+               .description = "l4.src",
                .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_I_L4_FB_SRC_PORT >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_I_L4_FB_SRC_PORT & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr2 = {
+                       (BNXT_ULP_CF_IDX_I_L4_SRC_PORT_MASK >> 8) & 0xff,
+                       BNXT_ULP_CF_IDX_I_L4_SRC_PORT_MASK & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl4.dst",
+               .description = "l4.src",
                .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_I_L4_FB_SRC_PORT >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_I_L4_FB_SRC_PORT & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr2 = {
+                       (BNXT_ULP_CF_IDX_I_L4_SRC_PORT >> 8) & 0xff,
+                       BNXT_ULP_CF_IDX_I_L4_SRC_PORT & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.flags",
+               .description = "l4.dst",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_I_L4_FB_DST_PORT >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_I_L4_FB_DST_PORT & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr2 = {
+                       (BNXT_ULP_CF_IDX_I_L4_DST_PORT_MASK >> 8) & 0xff,
+                       BNXT_ULP_CF_IDX_I_L4_DST_PORT_MASK & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l4.dst",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_I_L4_FB_DST_PORT >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_I_L4_FB_DST_PORT & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr2 = {
+                       (BNXT_ULP_CF_IDX_I_L4_DST_PORT >> 8) & 0xff,
+                       BNXT_ULP_CF_IDX_I_L4_DST_PORT & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.flags",
                .field_bit_size = 9,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4.flags",
+               .description = "l4.flags",
                .field_bit_size = 9,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.seq",
+               .description = "l4.seq",
                .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4.seq",
+               .description = "l4.seq",
                .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.pa",
-               .field_bit_size = 1,
+               .description = "l4.ack",
+               .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4.pa",
-               .field_bit_size = 1,
+               .description = "l4.ack",
+               .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.opt",
-               .field_bit_size = 1,
+               .description = "l4.win",
+               .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4.opt",
-               .field_bit_size = 1,
+               .description = "l4.win",
+               .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.tcpts",
+               .description = "l4.pa",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4.tcpts",
+               .description = "l4.pa",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.err",
-               .field_bit_size = 4,
+               .description = "l4.opt",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4.err",
-               .field_bit_size = 4,
+               .description = "l4.opt",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tuntype",
-               .field_bit_size = 4,
+               .description = "l4.tcpts",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tuntype",
-               .field_bit_size = 4,
+               .description = "l4.tcpts",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tflags",
-               .field_bit_size = 3,
+               .description = "l4.tsval",
+               .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tflags",
-               .field_bit_size = 3,
+               .description = "l4.tsval",
+               .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tids",
-               .field_bit_size = 24,
+               .description = "l4.txecr",
+               .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tids",
-               .field_bit_size = 24,
+               .description = "l4.txecr",
+               .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tid",
-               .field_bit_size = 32,
+               .description = "l4.err",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tid",
-               .field_bit_size = 32,
+               .description = "l4.err",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
+       /* class_tid: 3, , table: l2_cntxt_tcam_cache.rd */
        {
        .field_info_mask = {
-               .description = "tctxts",
-               .field_bit_size = 24,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "tctxts",
-               .field_bit_size = 24,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
-       },
-       {
-       .field_info_mask = {
-               .description = "tctxt",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "svif",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
                },
        .field_info_spec = {
-               .description = "tctxt",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "svif",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+               BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
                }
        },
+       /* class_tid: 3, , table: profile_tcam_cache.ipv6_rd */
        {
        .field_info_mask = {
-               .description = "tqos",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "recycle_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tqos",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "recycle_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "terr",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "terr",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_l2type",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "hdr_sig_id",
+               .field_bit_size = 5,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l2_l2type",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "hdr_sig_id",
+               .field_bit_size = 5,
+               .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,
+               BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
                }
        },
+       /* class_tid: 3, , table: profile_tcam.l2_l3_l4_v6_em */
        {
        .field_info_mask = {
-               .description = "l2_dmac",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_is_udp_tcp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_dmac",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_is_udp_tcp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_smac",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_type",
+               .field_bit_size = 4,
+               .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_ONES,
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_smac",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
+               .field_opr1 = {
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr2 = {
+                       ULP_THOR_SYM_L4_HDR_TYPE_TCP},
+               .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr3 = {
+               ULP_THOR_SYM_L4_HDR_TYPE_UDP}
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_dt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L4 & 0xff}
                },
        .field_info_spec = {
-               .description = "l2_dt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_sa",
+               .description = "l4_hdr_valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .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_info_spec = {
-               .description = "l2_sa",
+               .description = "l4_hdr_valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .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_info_mask = {
-               .description = "l2_nvt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "ieh",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_nvt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "ieh",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ovp",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_ipv6_cmp_dst",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_ovp",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_ipv6_cmp_dst",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ovd",
+               .description = "l3_ipv6_cmp_src",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_ovd",
+               .description = "l3_ipv6_cmp_src",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ovv",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_hdr_isIP",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_ovv",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_hdr_isIP",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ovt",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l2_ovt",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_L3_HDR_TYPE_IPV6}
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ivp",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l2_ivp",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ivd",
+               .description = "l3_hdr_valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l2_ivd",
+               .description = "l3_hdr_valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_L3_HDR_VALID_YES}
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ivv",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_two_vtags",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_ivv",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_two_vtags",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ivt",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_vtag_present",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l2_ivt",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_vtag_present",
+               .field_bit_size = 1,
+               .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_CONST,
+               .field_opr2 = {
+                       ULP_THOR_SYM_L2_VTAG_PRESENT_YES},
+               .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr3 = {
+               ULP_THOR_SYM_L2_VTAG_PRESENT_NO}
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_etype",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_uc_mc_bc",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l2_etype",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_uc_mc_bc",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.l3type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l3.l3type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.sip.ipv4",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l3.sip.ipv4",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.sip.ipv6",
-               .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l3.sip.ipv6",
-               .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_L2_HDR_VALID_YES}
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.sip_selcmp.ipv6",
-               .field_bit_size = 72,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr_flags",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.sip_selcmp.ipv6",
-               .field_bit_size = 72,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr_flags",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.dip.ipv4",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.dip.ipv4",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.dip.ipv6",
-               .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr_err",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.dip.ipv6",
-               .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr_err",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.dip_selcmp.ipv6",
-               .field_bit_size = 72,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l3.dip_selcmp.ipv6",
-               .field_bit_size = 72,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ttl",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_is_udp_tcp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.ttl",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_is_udp_tcp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.prot",
-               .field_bit_size = 8,
+               .description = "tl4_hdr_type",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.prot",
-               .field_bit_size = 8,
-               .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,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
-               (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
-               .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr2 = {
-                       ULP_THOR_SYM_IP_PROTO_TCP},
-               .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr3 = {
-               ULP_THOR_SYM_IP_PROTO_UDP}
+               .description = "tl4_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.fid.ipv4",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.fid.ipv4",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.fid.ipv6",
-               .field_bit_size = 20,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l3.fid.ipv6",
-               .field_bit_size = 20,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.qos",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_ipv6_cmp_dst",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.qos",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_ipv6_cmp_dst",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_nonext",
+               .description = "tl3_ipv6_cmp_src",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.ieh_nonext",
+               .description = "tl3_ipv6_cmp_src",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_esp",
+               .description = "tl3_hdr_isIP",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.ieh_esp",
+               .description = "tl3_hdr_isIP",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_auth",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.ieh_auth",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_dest",
+               .description = "tl3_hdr_error",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.ieh_dest",
+               .description = "tl3_hdr_error",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_frag",
+               .description = "tl3_hdr_valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l3.ieh_frag",
+               .description = "tl3_hdr_valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_rthdr",
+               .description = "tl2_two_vtags",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.ieh_rthdr",
+               .description = "tl2_two_vtags",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_hop",
+               .description = "tl2_vtag_present",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.ieh_hop",
+               .description = "tl2_vtag_present",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_1frag",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_uc_mc_bc",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.ieh_1frag",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_uc_mc_bc",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.df",
+               .description = "tl2_hdr_type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tl2_hdr_type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_hdr_valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l3.df",
+               .description = "tl2_hdr_valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.l3err.ipv4",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "hrec_next",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.l3err.ipv4",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "hrec_next",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.l3err.ipv6",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l3.l3err.ipv6",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.l4type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "agg_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l4.l4type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "agg_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.src",
+               .description = "metadata",
                .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l4.src",
+               .description = "metadata",
                .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.dst",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_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,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
-               (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
-               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr2 = {
-                       (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
-                       BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff},
-               .field_src3 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr3 = {
-               (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
-               BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}
+               .description = "pkt_type_0",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l4.dst",
-               .field_bit_size = 16,
-               .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,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
-               (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
-               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr2 = {
-                       (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
-                       BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff},
-               .field_src3 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr3 = {
-               (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
-               BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}
+               .description = "pkt_type_0",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.flags",
-               .field_bit_size = 9,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "pkt_type_1",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l4.flags",
-               .field_bit_size = 9,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "pkt_type_1",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.seq",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               1}
                },
        .field_info_spec = {
-               .description = "l4.seq",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               1}
                }
        },
+       /* class_tid: 3, , table: profile_tcam_cache.l2_l3_l4_v6_wr */
        {
        .field_info_mask = {
-               .description = "l4.ack",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "recycle_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l4.ack",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "recycle_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.win",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l4.win",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.pa",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "hdr_sig_id",
+               .field_bit_size = 5,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l4.pa",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "hdr_sig_id",
+               .field_bit_size = 5,
+               .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,
+               BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
                }
        },
+       /* class_tid: 3, , table: em.l2_l3_l4_v6.0 */
        {
        .field_info_mask = {
-               .description = "l4.opt",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "em_profile_id",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l4.opt",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "em_profile_id",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+               .field_opr1 = {
+               (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.tcpts",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_cntxt_id",
+               .field_bit_size = 10,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff,
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l4.tcpts",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_cntxt_id",
+               .field_bit_size = 10,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+               .field_opr1 = {
+               (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.tsval",
-               .field_bit_size = 32,
+               .description = "parif",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.tsval",
-               .field_bit_size = 32,
+               .description = "parif",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.txecr",
-               .field_bit_size = 32,
+               .description = "spif",
+               .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.txecr",
-               .field_bit_size = 32,
+               .description = "spif",
+               .field_bit_size = 2,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4.err",
-               .field_bit_size = 4,
+               .description = "svif",
+               .field_bit_size = 11,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4.err",
-               .field_bit_size = 4,
+               .description = "svif",
+               .field_bit_size = 11,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
-       /* class_tid: 2, thor, table: port_table.rd */
        {
        .field_info_mask = {
-               .description = "dev.port_id",
-               .field_bit_size = 10,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff,
-                       0xff}
+               .description = "lcos",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "dev.port_id",
-               .field_bit_size = 10,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
-               .field_opr1 = {
-               (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
-               BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
+               .description = "lcos",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
-       /* class_tid: 2, thor, table: mac_addr_cache.rd */
        {
        .field_info_mask = {
-               .description = "svif",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr1 = {
-               (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-               BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+               .description = "meta",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "svif",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr1 = {
-               (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-               BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+               .description = "meta",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tun_hdr",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
+               .description = "rcyc_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tun_hdr",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
+               .description = "rcyc_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "one_tag",
+               .description = "loopback",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "one_tag",
+               .description = "loopback",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "vid",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_l2type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "vid",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_l2type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "mac_addr",
+               .description = "tl2_dmac",
                .field_bit_size = 48,
-               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr2 = {
-                       (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-                       BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-               .field_src3 = BNXT_ULP_FIELD_SRC_RF,
-               .field_opr3 = {
-               (BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,
-               BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "mac_addr",
+               .description = "tl2_dmac",
                .field_bit_size = 48,
-               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr2 = {
-                       (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-                       BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-               .field_src3 = BNXT_ULP_FIELD_SRC_RF,
-               .field_opr3 = {
-               (BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,
-               BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
-       /* class_tid: 2, thor, table: l2_cntxt_tcam.0 */
        {
        .field_info_mask = {
-               .description = "etype",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_smac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "etype",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_smac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ivlan_tpid_sel",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_dt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_ivlan_tpid_sel",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_dt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ivlan_vid",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_sa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_ivlan_vid",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_sa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ovlan_tpid_sel",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_nvt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_ovlan_tpid_sel",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_nvt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ovlan_vid",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_ovlan_vid",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "two_vtags",
+               .description = "tl2_ovd",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-               },
-       .field_info_spec = {
-               .description = "two_vtags",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-               }
-       },
-       {
-       .field_info_mask = {
-               .description = "vtag_present",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "vtag_present",
+               .description = "tl2_ovd",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-               }
-       },
-       {
-       .field_info_mask = {
-               .description = "mac1_addr",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-               },
-       .field_info_spec = {
-               .description = "mac1_addr",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "mac0_addr",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff,
-                       0xff,
-                       0xff,
-                       0xff,
-                       0xff,
-                       0xff}
+               .description = "tl2_ovv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "mac0_addr",
-               .field_bit_size = 48,
-               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr2 = {
-                       (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-                       BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-               .field_src3 = BNXT_ULP_FIELD_SRC_RF,
-               .field_opr3 = {
-               (BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,
-               BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}
+               .description = "tl2_ovv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tunnel_id",
-               .field_bit_size = 24,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_ovt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tunnel_id",
-               .field_bit_size = 24,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_ovt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tun_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
+               .description = "tl2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tun_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
+               .description = "tl2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "llc",
+               .description = "tl2_ivd",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "llc",
+               .description = "tl2_ivd",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "roce",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "roce",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "metadata",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_ivt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "metadata",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl2_ivt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "svif",
-               .field_bit_size = 11,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr1 = {
-               (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-               BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+               .description = "tl2_etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "svif",
-               .field_bit_size = 11,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr1 = {
-               (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-               BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+               .description = "tl2_etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "parif",
+               .description = "tl3.l3type",
                .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "parif",
+               .description = "tl3.l3type",
                .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "spif",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.sip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "spif",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.sip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "loopback",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.sip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "loopback",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.sip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "recycle_cnt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.sip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "recycle_cnt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.sip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "mpass_cnt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               2}
+               .description = "tl3.dip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "mpass_cnt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.dip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               1}
+               .description = "tl3.dip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               1}
+               .description = "tl3.dip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
-       /* class_tid: 2, thor, table: mac_addr_cache.wr */
        {
        .field_info_mask = {
-               .description = "svif",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr1 = {
-               (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-               BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+               .description = "tl3.dip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "svif",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr1 = {
-               (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-               BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+               .description = "tl3.dip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tun_hdr",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
+               .description = "tl3.ttl",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tun_hdr",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
+               .description = "tl3.ttl",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "one_tag",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.prot",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "one_tag",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.prot",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "vid",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.fid.ipv4",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "vid",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.fid.ipv4",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "mac_addr",
-               .field_bit_size = 48,
-               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr2 = {
-                       (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-                       BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-               .field_src3 = BNXT_ULP_FIELD_SRC_RF,
-               .field_opr3 = {
-               (BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,
-               BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}
+               .description = "tl3.fid.ipv6",
+               .field_bit_size = 20,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "mac_addr",
-               .field_bit_size = 48,
-               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr2 = {
-                       (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
-                       BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-               .field_src3 = BNXT_ULP_FIELD_SRC_RF,
-               .field_opr3 = {
-               (BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,
-               BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}
+               .description = "tl3.fid.ipv6",
+               .field_bit_size = 20,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
-       /* class_tid: 2, thor, table: profile_tcam_cache.l3_l4_rd */
        {
        .field_info_mask = {
-               .description = "recycle_cnt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "tl3.qos",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "recycle_cnt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.qos",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "prof_func_id",
-               .field_bit_size = 7,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "tl3.ieh_nonext",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "prof_func_id",
-               .field_bit_size = 7,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
-               .field_opr1 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}
+               .description = "tl3.ieh_nonext",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "hdr_sig_id",
-               .field_bit_size = 5,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "tl3.ieh_esp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "hdr_sig_id",
-               .field_bit_size = 5,
-               .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,
-               BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
+               .description = "tl3.ieh_esp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
-       /* class_tid: 2, thor, table: profile_tcam.l3_l4 */
        {
        .field_info_mask = {
-               .description = "l4_hdr_is_udp_tcp",
+               .description = "tl3.ieh_auth",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4_hdr_is_udp_tcp",
+               .description = "tl3.ieh_auth",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "tl3.ieh_dest",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
-               .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
-               .field_opr1 = {
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
-               (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
-               .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr2 = {
-                       ULP_THOR_SYM_L4_HDR_TYPE_TCP},
-               .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr3 = {
-               ULP_THOR_SYM_L4_HDR_TYPE_UDP}
+               .description = "tl3.ieh_dest",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4_hdr_error",
+               .description = "tl3.ieh_frag",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4_hdr_error",
+               .description = "tl3.ieh_frag",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l4_hdr_valid",
+               .description = "tl3.ieh_rthdr",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l4_hdr_valid",
+               .description = "tl3.ieh_rthdr",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               ULP_THOR_SYM_L4_HDR_VALID_YES}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "ieh",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.ieh_hop",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "ieh",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.ieh_hop",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3_ipv6_cmp_dst",
+               .description = "tl3.ieh_1frag",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3_ipv6_cmp_dst",
+               .description = "tl3.ieh_1frag",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3_ipv6_cmp_src",
+               .description = "tl3.df",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3_ipv6_cmp_src",
+               .description = "tl3.df",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3_hdr_isIP",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.l3err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3_hdr_isIP",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl3.l3err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3_hdr_type",
+               .description = "tl4.l4type",
                .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3_hdr_type",
+               .description = "tl4.l4type",
                .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
-               .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
-               .field_opr1 = {
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
-               (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
-               .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr2 = {
-                       ULP_THOR_SYM_L3_HDR_TYPE_IPV4},
-               .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr3 = {
-               ULP_THOR_SYM_L3_HDR_TYPE_IPV6}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "tl4.src",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl4.src",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l3_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "tl4.dst",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l3_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               ULP_THOR_SYM_L3_HDR_VALID_YES}
+               .description = "tl4.dst",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_two_vtags",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl4.flags",
+               .field_bit_size = 9,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_two_vtags",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl4.flags",
+               .field_bit_size = 9,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_vtag_present",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl4.seq",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_vtag_present",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl4.seq",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_uc_mc_bc",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "tl4.pa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_uc_mc_bc",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl4.pa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_hdr_type",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "tl4.opt",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_hdr_type",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tl4.opt",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_hdr_error",
+               .description = "tl4.tcpts",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_hdr_error",
+               .description = "tl4.tcpts",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "tl4.err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "l2_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-               .field_opr1 = {
-               ULP_THOR_SYM_L2_HDR_VALID_YES}
+               .description = "tl4.err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tun_hdr_flags",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tuntype",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tun_hdr_flags",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tuntype",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tun_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tflags",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tun_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tflags",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tun_hdr_err",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tids",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tun_hdr_err",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tids",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tun_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "tid",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tun_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tid",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4_hdr_is_udp_tcp",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tctxts",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4_hdr_is_udp_tcp",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tctxts",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tctxt",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tctxt",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tqos",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4_hdr_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "tqos",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "terr",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl4_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "terr",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3_ipv6_cmp_dst",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_l2type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3_ipv6_cmp_dst",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_l2type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3_ipv6_cmp_src",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_dmac",
+               .field_bit_size = 48,
+               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3_ipv6_cmp_src",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_dmac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_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_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3_hdr_isIP",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_smac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_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_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3_hdr_isIP",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_smac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_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_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_dt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3_hdr_type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_dt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3_hdr_error",
+               .description = "l2_sa",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3_hdr_error",
+               .description = "l2_sa",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "l2_nvt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_nvt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_two_vtags",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_two_vtags",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_vtag_present",
+               .description = "l2_ovd",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_vtag_present",
+               .description = "l2_ovd",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_uc_mc_bc",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ovv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_uc_mc_bc",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ovv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_hdr_type",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ovt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_hdr_type",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ovt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "l2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_hdr_valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "hrec_next",
+               .description = "l2_ivd",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "hrec_next",
+               .description = "l2_ivd",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "prof_func_id",
-               .field_bit_size = 7,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .description = "l2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
                .field_opr1 = {
-                       0xff}
+               (BNXT_ULP_CF_IDX_OO_VLAN_FB_VID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_OO_VLAN_FB_VID & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
                },
        .field_info_spec = {
-               .description = "prof_func_id",
-               .field_bit_size = 7,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+               .description = "l2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
                .field_opr1 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}
+               (BNXT_ULP_CF_IDX_OO_VLAN_FB_VID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_OO_VLAN_FB_VID & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "agg_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ivt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "agg_error",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l2_ivt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "metadata",
+               .description = "l2_etype",
                .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "metadata",
+               .description = "l2_etype",
                .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "pkt_type_0",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.l3type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "pkt_type_0",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.l3type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "pkt_type_1",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.sip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "pkt_type_1",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.sip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .description = "l3.sip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
                .field_opr1 = {
-               1}
+               (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_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
                },
        .field_info_spec = {
-               .description = "valid",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .description = "l3.sip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
                .field_opr1 = {
-               1}
+               (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_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
                }
        },
-       /* class_tid: 2, thor, table: profile_tcam_cache.wr */
        {
        .field_info_mask = {
-               .description = "recycle_cnt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "l3.sip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "recycle_cnt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .description = "l3.sip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "prof_func_id",
-               .field_bit_size = 7,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .description = "l3.dip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "prof_func_id",
-               .field_bit_size = 7,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
-               .field_opr1 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}
+               .description = "l3.dip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "hdr_sig_id",
-               .field_bit_size = 5,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .description = "l3.dip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
                .field_opr1 = {
-                       0xff}
+               (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_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
                },
        .field_info_spec = {
-               .description = "hdr_sig_id",
-               .field_bit_size = 5,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .description = "l3.dip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
                .field_opr1 = {
-               (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,
-               BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
+               (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_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
                }
        },
-       /* class_tid: 2, thor, table: wm.l4 */
        {
        .field_info_mask = {
-               .description = "wc_profile_id",
+               .description = "l3.dip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.dip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ttl",
                .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "wc_profile_id",
+               .description = "l3.ttl",
                .field_bit_size = 8,
-               .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_IPV4 >> 56) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
-               (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
-               .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
-               .field_opr2 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,
-                       BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff},
-               .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
-               .field_opr3 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1 & 0xff}
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_cntxt_id",
-               .field_bit_size = 10,
+               .description = "l3.prot",
+               .field_bit_size = 8,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
                .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
                .field_opr1 = {
-                       0xff,
                        0xff}
                },
        .field_info_spec = {
-               .description = "l2_cntxt_id",
-               .field_bit_size = 10,
+               .description = "l3.prot",
+               .field_bit_size = 8,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
-               .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
                .field_opr1 = {
-               (BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,
-               BNXT_ULP_RF_IDX_PHY_PORT & 0xff},
-               .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
+               (BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_CF,
                .field_opr2 = {
-                       (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,
-                       BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},
-               .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
-               .field_opr3 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}
-               }
-       },
-       {
-       .field_info_mask = {
-               .description = "parif",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "parif",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+                       (BNXT_ULP_CF_IDX_O_L3_PROTO_ID >> 8) & 0xff,
+                       BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "spif",
-               .field_bit_size = 2,
+               .description = "l3.fid.ipv4",
+               .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "spif",
-               .field_bit_size = 2,
+               .description = "l3.fid.ipv4",
+               .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "svif",
-               .field_bit_size = 11,
+               .description = "l3.fid.ipv6",
+               .field_bit_size = 20,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "svif",
-               .field_bit_size = 11,
+               .description = "l3.fid.ipv6",
+               .field_bit_size = 20,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "lcos",
-               .field_bit_size = 3,
+               .description = "l3.qos",
+               .field_bit_size = 8,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "lcos",
-               .field_bit_size = 3,
+               .description = "l3.qos",
+               .field_bit_size = 8,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "meta",
-               .field_bit_size = 16,
+               .description = "l3.ieh_nonext",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "meta",
-               .field_bit_size = 16,
+               .description = "l3.ieh_nonext",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "rcyc_cnt",
-               .field_bit_size = 2,
+               .description = "l3.ieh_esp",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "rcyc_cnt",
-               .field_bit_size = 2,
+               .description = "l3.ieh_esp",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "loopback",
+               .description = "l3.ieh_auth",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "loopback",
+               .description = "l3.ieh_auth",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_l2type",
-               .field_bit_size = 2,
+               .description = "l3.ieh_dest",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_l2type",
-               .field_bit_size = 2,
+               .description = "l3.ieh_dest",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_dmac",
-               .field_bit_size = 48,
+               .description = "l3.ieh_frag",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_dmac",
-               .field_bit_size = 48,
+               .description = "l3.ieh_frag",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_smac",
-               .field_bit_size = 48,
+               .description = "l3.ieh_rthdr",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_smac",
-               .field_bit_size = 48,
+               .description = "l3.ieh_rthdr",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_dt",
-               .field_bit_size = 2,
+               .description = "l3.ieh_hop",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_dt",
-               .field_bit_size = 2,
+               .description = "l3.ieh_hop",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_sa",
+               .description = "l3.ieh_1frag",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_sa",
+               .description = "l3.ieh_1frag",
                .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_nvt",
-               .field_bit_size = 2,
+               .description = "l3.df",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_nvt",
-               .field_bit_size = 2,
+               .description = "l3.df",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ovp",
-               .field_bit_size = 3,
+               .description = "l3.l3err.ipv4",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_ovp",
-               .field_bit_size = 3,
+               .description = "l3.l3err.ipv4",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ovd",
-               .field_bit_size = 1,
+               .description = "l3.l3err.ipv6",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_ovd",
-               .field_bit_size = 1,
+               .description = "l3.l3err.ipv6",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ovv",
-               .field_bit_size = 12,
+               .description = "l4.l4type",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_ovv",
-               .field_bit_size = 12,
+               .description = "l4.l4type",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ovt",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4.src",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff,
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl2_ovt",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4.src",
+               .field_bit_size = 16,
+               .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_FB_SRC_PORT >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L4_FB_SRC_PORT & 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_src3 = BNXT_ULP_FIELD_SRC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ivp",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4.dst",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff,
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl2_ivp",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4.dst",
+               .field_bit_size = 16,
+               .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_FB_DST_PORT >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L4_FB_DST_PORT & 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_src3 = BNXT_ULP_FIELD_SRC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ivd",
-               .field_bit_size = 1,
+               .description = "l4.flags",
+               .field_bit_size = 9,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_ivd",
-               .field_bit_size = 1,
+               .description = "l4.flags",
+               .field_bit_size = 9,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ivv",
-               .field_bit_size = 12,
+               .description = "l4.seq",
+               .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_ivv",
-               .field_bit_size = 12,
+               .description = "l4.seq",
+               .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_ivt",
-               .field_bit_size = 3,
+               .description = "l4.ack",
+               .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_ivt",
-               .field_bit_size = 3,
+               .description = "l4.ack",
+               .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl2_etype",
+               .description = "l4.win",
                .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl2_etype",
+               .description = "l4.win",
                .field_bit_size = 16,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.l3type",
-               .field_bit_size = 4,
+               .description = "l4.pa",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.l3type",
-               .field_bit_size = 4,
+               .description = "l4.pa",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.sip.ipv4",
-               .field_bit_size = 32,
+               .description = "l4.opt",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.sip.ipv4",
-               .field_bit_size = 32,
+               .description = "l4.opt",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.sip.ipv6",
-               .field_bit_size = 128,
+               .description = "l4.tcpts",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.sip.ipv6",
-               .field_bit_size = 128,
+               .description = "l4.tcpts",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.sip_selcmp.ipv6",
-               .field_bit_size = 72,
+               .description = "l4.tsval",
+               .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.sip_selcmp.ipv6",
-               .field_bit_size = 72,
+               .description = "l4.tsval",
+               .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.dip.ipv4",
+               .description = "l4.txecr",
                .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.dip.ipv4",
+               .description = "l4.txecr",
                .field_bit_size = 32,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.dip.ipv6",
-               .field_bit_size = 128,
+               .description = "l4.err",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                },
        .field_info_spec = {
-               .description = "tl3.dip.ipv6",
-               .field_bit_size = 128,
+               .description = "l4.err",
+               .field_bit_size = 4,
                .field_opc = BNXT_ULP_FIELD_OPC_SKIP
                }
        },
+       /* class_tid: 3, , table: profile_tcam_cache.rd */
        {
        .field_info_mask = {
-               .description = "tl3.dip_selcmp.ipv6",
-               .field_bit_size = 72,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "recycle_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.dip_selcmp.ipv6",
-               .field_bit_size = 72,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "recycle_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ttl",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl3.ttl",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.prot",
-               .field_bit_size = 8,
+               .description = "hdr_sig_id",
+               .field_bit_size = 5,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl3.prot",
-               .field_bit_size = 8,
+               .description = "hdr_sig_id",
+               .field_bit_size = 5,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
                }
        },
+       /* class_tid: 3, , table: profile_tcam.l3_l4.ip */
        {
        .field_info_mask = {
-               .description = "tl3.fid.ipv4",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_is_udp_tcp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.fid.ipv4",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_is_udp_tcp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.fid.ipv6",
-               .field_bit_size = 20,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_type",
+               .field_bit_size = 4,
+               .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_ONES,
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.fid.ipv6",
-               .field_bit_size = 20,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
+               .field_opr1 = {
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr2 = {
+                       ULP_THOR_SYM_L4_HDR_TYPE_TCP},
+               .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr3 = {
+               ULP_THOR_SYM_L4_HDR_TYPE_UDP}
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.qos",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L4 & 0xff}
                },
        .field_info_spec = {
-               .description = "tl3.qos",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_nonext",
+               .description = "l4_hdr_valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .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_info_spec = {
-               .description = "tl3.ieh_nonext",
+               .description = "l4_hdr_valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .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_info_mask = {
-               .description = "tl3.ieh_esp",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "ieh",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.ieh_esp",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "ieh",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_auth",
+               .description = "l3_ipv6_cmp_dst",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.ieh_auth",
+               .description = "l3_ipv6_cmp_dst",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_dest",
+               .description = "l3_ipv6_cmp_src",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.ieh_dest",
+               .description = "l3_ipv6_cmp_src",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_frag",
+               .description = "l3_hdr_isIP",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.ieh_frag",
+               .description = "l3_hdr_isIP",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_rthdr",
+               .description = "l3_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "l3_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
+               .field_opr1 = {
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr2 = {
+                       ULP_THOR_SYM_L3_HDR_TYPE_IPV4},
+               .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr3 = {
+               ULP_THOR_SYM_L3_HDR_TYPE_IPV6}
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3_hdr_error",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl3.ieh_rthdr",
+               .description = "l3_hdr_error",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_hop",
+               .description = "l3_hdr_valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl3.ieh_hop",
+               .description = "l3_hdr_valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_L3_HDR_VALID_YES}
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.ieh_1frag",
+               .description = "l2_two_vtags",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl3.ieh_1frag",
+               .description = "l2_two_vtags",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.df",
+               .description = "l2_vtag_present",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl3.df",
+               .description = "l2_vtag_present",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .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_CONST,
+               .field_opr2 = {
+                       ULP_THOR_SYM_L2_VTAG_PRESENT_YES},
+               .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr3 = {
+               ULP_THOR_SYM_L2_VTAG_PRESENT_NO}
                }
        },
        {
        .field_info_mask = {
-               .description = "tl3.l3err",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_uc_mc_bc",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl3.l3err",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_uc_mc_bc",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.l4type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl4.l4type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.src",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl4.src",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.dst",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl4.dst",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_L2_HDR_VALID_YES}
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.flags",
-               .field_bit_size = 9,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr_flags",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl4.flags",
-               .field_bit_size = 9,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr_flags",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.seq",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl4.seq",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tun_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.pa",
+               .description = "tun_hdr_err",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl4.pa",
+               .description = "tun_hdr_err",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.opt",
+               .description = "tun_hdr_valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tl4.opt",
+               .description = "tun_hdr_valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.tcpts",
+               .description = "tl4_hdr_is_udp_tcp",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl4.tcpts",
+               .description = "tl4_hdr_is_udp_tcp",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tl4.err",
+               .description = "tl4_hdr_type",
                .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tl4.err",
+               .description = "tl4_hdr_type",
                .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tuntype",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tuntype",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tflags",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "tflags",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl4_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tids",
-               .field_bit_size = 24,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_ipv6_cmp_dst",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tids",
-               .field_bit_size = 24,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_ipv6_cmp_dst",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tid",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_ipv6_cmp_src",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tid",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_ipv6_cmp_src",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tctxts",
-               .field_bit_size = 24,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_isIP",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tctxts",
-               .field_bit_size = 24,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_isIP",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tctxt",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tctxt",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "tqos",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "tqos",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "terr",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "terr",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl3_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_l2type",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_two_vtags",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_l2type",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_two_vtags",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_dmac",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_vtag_present",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_dmac",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_vtag_present",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_smac",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_uc_mc_bc",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_smac",
-               .field_bit_size = 48,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "tl2_uc_mc_bc",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_dt",
+               .description = "tl2_hdr_type",
                .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_dt",
+               .description = "tl2_hdr_type",
                .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_sa",
+               .description = "tl2_hdr_valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l2_sa",
+               .description = "tl2_hdr_valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_nvt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "hrec_next",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_nvt",
-               .field_bit_size = 2,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "hrec_next",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ovp",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l2_ovp",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ovd",
+               .description = "agg_error",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_ovd",
+               .description = "agg_error",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ovv",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "metadata",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_ovv",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "metadata",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ovt",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "pkt_type_0",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_ovt",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "pkt_type_0",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ivp",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "pkt_type_1",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_ivp",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "pkt_type_1",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ivd",
+               .description = "valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               1}
                },
        .field_info_spec = {
-               .description = "l2_ivd",
+               .description = "valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
-       },
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               1}
+               }
+       },
+       /* class_tid: 3, , table: profile_tcam.l3_l4.nonip */
        {
        .field_info_mask = {
-               .description = "l2_ivv",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_is_udp_tcp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_ivv",
-               .field_bit_size = 12,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_is_udp_tcp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_ivt",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l2_ivt",
-               .field_bit_size = 3,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l2_etype",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L4 & 0xff}
                },
        .field_info_spec = {
-               .description = "l2_etype",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.l3type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L4 & 0xff}
                },
        .field_info_spec = {
-               .description = "l3.l3type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l4_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L4 & 0xff}
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.sip.ipv4",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "ieh",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.sip.ipv4",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "ieh",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.sip.ipv6",
-               .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_ipv6_cmp_dst",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.sip.ipv6",
-               .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_ipv6_cmp_dst",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.sip_selcmp.ipv6",
-               .field_bit_size = 72,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_ipv6_cmp_src",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.sip_selcmp.ipv6",
-               .field_bit_size = 72,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_ipv6_cmp_src",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.dip.ipv4",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_hdr_isIP",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.dip.ipv4",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_hdr_isIP",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.dip.ipv6",
-               .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.dip.ipv6",
-               .field_bit_size = 128,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.dip_selcmp.ipv6",
-               .field_bit_size = 72,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l3.dip_selcmp.ipv6",
-               .field_bit_size = 72,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ttl",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l3.ttl",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l3_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_L3_HDR_VALID_YES}
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.prot",
-               .field_bit_size = 8,
+               .description = "l2_two_vtags",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l2_two_vtags",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_vtag_present",
+               .field_bit_size = 1,
                .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
                .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
                .field_opr1 = {
                        0xff}
                },
        .field_info_spec = {
-               .description = "l3.prot",
-               .field_bit_size = 8,
+               .description = "l2_vtag_present",
+               .field_bit_size = 1,
                .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,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
-               (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
+               ((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_CONST,
                .field_opr2 = {
-                       ULP_THOR_SYM_IP_PROTO_TCP},
+                       ULP_THOR_SYM_L2_VTAG_PRESENT_YES},
                .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
                .field_opr3 = {
-               ULP_THOR_SYM_IP_PROTO_UDP}
+               ULP_THOR_SYM_L2_VTAG_PRESENT_NO}
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.fid.ipv4",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_uc_mc_bc",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l3.fid.ipv4",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_uc_mc_bc",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.fid.ipv6",
-               .field_bit_size = 20,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l3.fid.ipv6",
-               .field_bit_size = 20,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.qos",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l3.qos",
-               .field_bit_size = 8,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .description = "l2_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_nonext",
+               .description = "l2_hdr_valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l3.ieh_nonext",
+               .description = "l2_hdr_valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               ULP_THOR_SYM_L2_HDR_VALID_YES}
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_esp",
+               .description = "tun_hdr_flags",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tun_hdr_flags",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tun_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tun_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tun_hdr_err",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.ieh_esp",
+               .description = "tun_hdr_err",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_auth",
+               .description = "tun_hdr_valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
                },
        .field_info_spec = {
-               .description = "l3.ieh_auth",
+               .description = "tun_hdr_valid",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
        .field_info_mask = {
-               .description = "l3.ieh_dest",
+               .description = "tl4_hdr_is_udp_tcp",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                },
        .field_info_spec = {
-               .description = "l3.ieh_dest",
+               .description = "tl4_hdr_is_udp_tcp",
                .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tl4_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tl4_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "tl4_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3_ipv6_cmp_dst",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tl3_ipv6_cmp_dst",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3_ipv6_cmp_src",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tl3_ipv6_cmp_src",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3_hdr_isIP",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tl3_hdr_isIP",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tl3_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tl3_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "tl3_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_two_vtags",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tl2_two_vtags",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_vtag_present",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tl2_vtag_present",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_uc_mc_bc",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tl2_uc_mc_bc",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_hdr_type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tl2_hdr_type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
                }
        },
        {
-       .field_info_mask = {
-               .description = "l3.ieh_frag",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "l3.ieh_frag",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
+       .field_info_mask = {
+               .description = "tl2_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "tl2_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "hrec_next",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "hrec_next",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "agg_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "agg_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "metadata",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "metadata",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "pkt_type_0",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "pkt_type_0",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "pkt_type_1",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "pkt_type_1",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               1}
+               },
+       .field_info_spec = {
+               .description = "valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               1}
+               }
+       },
+       /* class_tid: 3, , table: profile_tcam_cache.wr */
+       {
+       .field_info_mask = {
+               .description = "recycle_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "recycle_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "hdr_sig_id",
+               .field_bit_size = 5,
+               .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_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
+               }
+       },
+       /* class_tid: 3, , table: wm.l3_l4.ipv4 */
+       {
+       .field_info_mask = {
+               .description = "wc_profile_id",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "wc_profile_id",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_1 >> 8) & 0xff,
+               BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_1 & 0xff}
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_cntxt_id",
+               .field_bit_size = 10,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff,
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "l2_cntxt_id",
+               .field_bit_size = 10,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+               .field_opr1 = {
+               (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "parif",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "parif",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "spif",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "spif",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "svif",
+               .field_bit_size = 11,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "svif",
+               .field_bit_size = 11,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "lcos",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "lcos",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "meta",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "meta",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "rcyc_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "rcyc_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "loopback",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "loopback",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_l2type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_l2type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_dmac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_dmac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_smac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_smac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_dt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_dt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_sa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_sa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_nvt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_nvt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ovd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ovd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ovv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ovv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ovt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ovt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ivd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ivd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ivt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ivt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.l3type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.l3type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.sip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.sip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.sip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.sip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.sip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.sip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.dip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.dip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.dip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.dip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.dip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.dip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ttl",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ttl",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.prot",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.prot",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.fid.ipv4",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.fid.ipv4",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.fid.ipv6",
+               .field_bit_size = 20,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.fid.ipv6",
+               .field_bit_size = 20,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.qos",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.qos",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ieh_nonext",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ieh_nonext",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ieh_esp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ieh_esp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ieh_auth",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ieh_auth",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ieh_dest",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ieh_dest",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ieh_frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ieh_frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ieh_rthdr",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ieh_rthdr",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ieh_hop",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ieh_hop",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ieh_1frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ieh_1frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.df",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.df",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.l3err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.l3err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.l4type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.l4type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.src",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.src",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.dst",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.dst",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.flags",
+               .field_bit_size = 9,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.flags",
+               .field_bit_size = 9,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.seq",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.seq",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.pa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.pa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.opt",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.opt",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.tcpts",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.tcpts",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tuntype",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tuntype",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tflags",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tflags",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tids",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tids",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tid",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tid",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tctxts",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tctxts",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tctxt",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tctxt",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tqos",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tqos",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "terr",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "terr",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_l2type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_l2type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_dmac",
+               .field_bit_size = 48,
+               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l2_dmac",
+               .field_bit_size = 48,
+               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_smac",
+               .field_bit_size = 48,
+               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l2_smac",
+               .field_bit_size = 48,
+               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_dt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_dt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_sa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_sa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_nvt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_nvt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ovd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_ovd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ovv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_ovv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ovt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_ovt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ivd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_ivd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_OO_VLAN_FB_VID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_OO_VLAN_FB_VID & 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 = "l2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_OO_VLAN_FB_VID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_OO_VLAN_FB_VID & 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 = "l2_ivt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_ivt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.l3type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.l3type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.sip.ipv4",
+               .field_bit_size = 32,
+               .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_info_spec = {
+               .description = "l3.sip.ipv4",
+               .field_bit_size = 32,
+               .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_info_mask = {
+               .description = "l3.sip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.sip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.sip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.sip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.dip.ipv4",
+               .field_bit_size = 32,
+               .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_info_spec = {
+               .description = "l3.dip.ipv4",
+               .field_bit_size = 32,
+               .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_info_mask = {
+               .description = "l3.dip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.dip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.dip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.dip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ttl",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ttl",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.prot",
+               .field_bit_size = 8,
+               .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_L3_FB_PROTO_ID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l3.prot",
+               .field_bit_size = 8,
+               .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_L3_FB_PROTO_ID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L3_FB_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},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.fid.ipv4",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.fid.ipv4",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.fid.ipv6",
+               .field_bit_size = 20,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.fid.ipv6",
+               .field_bit_size = 20,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.qos",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.qos",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ieh_nonext",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ieh_nonext",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ieh_esp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ieh_esp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ieh_auth",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ieh_auth",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ieh_dest",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ieh_dest",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ieh_frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ieh_frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ieh_rthdr",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ieh_rthdr",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ieh_hop",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ieh_hop",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ieh_1frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ieh_1frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.df",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.df",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.l3err.ipv4",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.l3err.ipv4",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.l3err.ipv6",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.l3err.ipv6",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.l4type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.l4type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.src",
+               .field_bit_size = 16,
+               .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_FB_SRC_PORT >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L4_FB_SRC_PORT & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr2 = {
+                       (BNXT_ULP_CF_IDX_O_L4_SRC_PORT_MASK >> 8) & 0xff,
+                       BNXT_ULP_CF_IDX_O_L4_SRC_PORT_MASK & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l4.src",
+               .field_bit_size = 16,
+               .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_FB_SRC_PORT >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L4_FB_SRC_PORT & 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_src3 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.dst",
+               .field_bit_size = 16,
+               .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_FB_DST_PORT >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L4_FB_DST_PORT & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr2 = {
+                       (BNXT_ULP_CF_IDX_O_L4_DST_PORT_MASK >> 8) & 0xff,
+                       BNXT_ULP_CF_IDX_O_L4_DST_PORT_MASK & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l4.dst",
+               .field_bit_size = 16,
+               .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_FB_DST_PORT >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L4_FB_DST_PORT & 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_src3 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.flags",
+               .field_bit_size = 9,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.flags",
+               .field_bit_size = 9,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.seq",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.seq",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.ack",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.ack",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.win",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.win",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.pa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.pa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.opt",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.opt",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.tcpts",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.tcpts",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.tsval",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.tsval",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.txecr",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.txecr",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       /* class_tid: 3, , table: wm.l3.ipv4 */
+       {
+       .field_info_mask = {
+               .description = "wc_profile_id",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "wc_profile_id",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_1 >> 8) & 0xff,
+               BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_1 & 0xff}
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_cntxt_id",
+               .field_bit_size = 10,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff,
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "l2_cntxt_id",
+               .field_bit_size = 10,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+               .field_opr1 = {
+               (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "parif",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "parif",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "spif",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "spif",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "svif",
+               .field_bit_size = 11,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "svif",
+               .field_bit_size = 11,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "lcos",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "lcos",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "meta",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "meta",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "rcyc_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "rcyc_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "loopback",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "loopback",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_l2type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_l2type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_dmac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_dmac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_smac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_smac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_dt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_dt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_sa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_sa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_nvt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_nvt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ovd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ovd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ovv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ovv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ovt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ovt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ivd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ivd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ivt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ivt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.l3type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.l3type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.sip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.sip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.sip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.sip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.sip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.sip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.dip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.dip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.dip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.dip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.dip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.dip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ttl",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ttl",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.prot",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.prot",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.fid.ipv4",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.fid.ipv4",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.fid.ipv6",
+               .field_bit_size = 20,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.fid.ipv6",
+               .field_bit_size = 20,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.qos",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.qos",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ieh_nonext",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ieh_nonext",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ieh_esp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ieh_esp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ieh_auth",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ieh_auth",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ieh_dest",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ieh_dest",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ieh_frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ieh_frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ieh_rthdr",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ieh_rthdr",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ieh_hop",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ieh_hop",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ieh_1frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ieh_1frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.df",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.df",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.l3err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.l3err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.l4type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.l4type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.src",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.src",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.dst",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.dst",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.flags",
+               .field_bit_size = 9,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.flags",
+               .field_bit_size = 9,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.seq",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.seq",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.pa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.pa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.opt",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.opt",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.tcpts",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.tcpts",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tuntype",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tuntype",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tflags",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tflags",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tids",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tids",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tid",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tid",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tctxts",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tctxts",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tctxt",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tctxt",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tqos",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tqos",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "terr",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "terr",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_l2type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_l2type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_dmac",
+               .field_bit_size = 48,
+               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l2_dmac",
+               .field_bit_size = 48,
+               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_smac",
+               .field_bit_size = 48,
+               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l2_smac",
+               .field_bit_size = 48,
+               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_dt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_dt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_sa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_sa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_nvt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_nvt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ovd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_ovd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ovv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_ovv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ovt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_ovt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ivd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_ivd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_OO_VLAN_FB_VID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_OO_VLAN_FB_VID & 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 = "l2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_OO_VLAN_FB_VID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_OO_VLAN_FB_VID & 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 = "l2_ivt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_ivt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.l3type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.l3type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.sip.ipv4",
+               .field_bit_size = 32,
+               .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_info_spec = {
+               .description = "l3.sip.ipv4",
+               .field_bit_size = 32,
+               .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_info_mask = {
+               .description = "l3.sip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.sip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.sip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.sip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.dip.ipv4",
+               .field_bit_size = 32,
+               .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_info_spec = {
+               .description = "l3.dip.ipv4",
+               .field_bit_size = 32,
+               .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_info_mask = {
+               .description = "l3.dip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.dip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.dip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.dip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ttl",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ttl",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.prot",
+               .field_bit_size = 8,
+               .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_L3_FB_PROTO_ID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID & 0xff},
+               .field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l3.prot",
+               .field_bit_size = 8,
+               .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_L3_FB_PROTO_ID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_L3_FB_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},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.fid.ipv4",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.fid.ipv4",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.fid.ipv6",
+               .field_bit_size = 20,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.fid.ipv6",
+               .field_bit_size = 20,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.qos",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.qos",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ieh_nonext",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ieh_nonext",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ieh_esp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ieh_esp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ieh_auth",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ieh_auth",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ieh_dest",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ieh_dest",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ieh_frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ieh_frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ieh_rthdr",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ieh_rthdr",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ieh_hop",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ieh_hop",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ieh_1frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ieh_1frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.df",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.df",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.l3err.ipv4",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.l3err.ipv4",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.l3err.ipv6",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.l3err.ipv6",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.l4type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.l4type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.src",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l4.src",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.dst",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l4.dst",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.flags",
+               .field_bit_size = 9,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.flags",
+               .field_bit_size = 9,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.seq",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.seq",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.ack",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.ack",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.win",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.win",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.pa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.pa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.opt",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.opt",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.tcpts",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.tcpts",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.tsval",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.tsval",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.txecr",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.txecr",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       /* class_tid: 3, , table: wm.l2 */
+       {
+       .field_info_mask = {
+               .description = "wc_profile_id",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "wc_profile_id",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_1 >> 8) & 0xff,
+               BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_1 & 0xff}
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_cntxt_id",
+               .field_bit_size = 10,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff,
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "l2_cntxt_id",
+               .field_bit_size = 10,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+               .field_opr1 = {
+               (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "parif",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "parif",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "spif",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "spif",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "svif",
+               .field_bit_size = 11,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "svif",
+               .field_bit_size = 11,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "lcos",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "lcos",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "meta",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "meta",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "rcyc_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "rcyc_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "loopback",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "loopback",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_l2type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_l2type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_dmac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_dmac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_smac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_smac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_dt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_dt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_sa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_sa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_nvt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_nvt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ovd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ovd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ovv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ovv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ovt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ovt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ivd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ivd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ivt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ivt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.l3type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.l3type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.sip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.sip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.sip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.sip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.sip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.sip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.dip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.dip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.dip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.dip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.dip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.dip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ttl",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ttl",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.prot",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.prot",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.fid.ipv4",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.fid.ipv4",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.fid.ipv6",
+               .field_bit_size = 20,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.fid.ipv6",
+               .field_bit_size = 20,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.qos",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.qos",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ieh_nonext",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ieh_nonext",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ieh_esp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ieh_esp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ieh_auth",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ieh_auth",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ieh_dest",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ieh_dest",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ieh_frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ieh_frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ieh_rthdr",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ieh_rthdr",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ieh_hop",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ieh_hop",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ieh_1frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ieh_1frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.df",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.df",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.l3err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.l3err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.l4type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.l4type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.src",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.src",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.dst",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.dst",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.flags",
+               .field_bit_size = 9,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.flags",
+               .field_bit_size = 9,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.seq",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.seq",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.pa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.pa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.opt",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.opt",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.tcpts",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.tcpts",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tuntype",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tuntype",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tflags",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tflags",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tids",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tids",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tid",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tid",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tctxts",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tctxts",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tctxt",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tctxt",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tqos",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tqos",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "terr",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "terr",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_l2type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_l2type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_dmac",
+               .field_bit_size = 48,
+               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l2_dmac",
+               .field_bit_size = 48,
+               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_smac",
+               .field_bit_size = 48,
+               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l2_smac",
+               .field_bit_size = 48,
+               .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_src2 = BNXT_ULP_FIELD_SRC_HF,
+               .field_opr2 = {
+                       (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+                       BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
+               .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_dt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_dt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_sa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_sa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_nvt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_nvt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ovd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_ovd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ovv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_ovv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ovt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_ovt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ivd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_ivd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_OO_VLAN_FB_VID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_OO_VLAN_FB_VID & 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 = "l2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_OO_VLAN_FB_VID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_OO_VLAN_FB_VID & 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 = "l2_ivt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_ivt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.l3type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.l3type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.sip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l3.sip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.sip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.sip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.sip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.sip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.dip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l3.dip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.dip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.dip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.dip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.dip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ttl",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ttl",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.prot",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l3.prot",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.fid.ipv4",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.fid.ipv4",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.fid.ipv6",
+               .field_bit_size = 20,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.fid.ipv6",
+               .field_bit_size = 20,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.qos",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.qos",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ieh_nonext",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ieh_nonext",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ieh_esp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ieh_esp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ieh_auth",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ieh_auth",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ieh_dest",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ieh_dest",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ieh_frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ieh_frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ieh_rthdr",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ieh_rthdr",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ieh_hop",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ieh_hop",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ieh_1frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ieh_1frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.df",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.df",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.l3err.ipv4",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.l3err.ipv4",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.l3err.ipv6",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.l3err.ipv6",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.l4type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.l4type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.src",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l4.src",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.dst",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l4.dst",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.flags",
+               .field_bit_size = 9,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.flags",
+               .field_bit_size = 9,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.seq",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.seq",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.ack",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.ack",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.win",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.win",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.pa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.pa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.opt",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.opt",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.tcpts",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.tcpts",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.tsval",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.tsval",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.txecr",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.txecr",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       /* class_tid: 4, , table: port_table.ing_wr_0 */
+       {
+       .field_info_mask = {
+               .description = "dev.port_id",
+               .field_bit_size = 10,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff,
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "dev.port_id",
+               .field_bit_size = 10,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
+               }
+       },
+       /* class_tid: 4, , table: l2_cntxt_tcam_cache.ing_rd */
+       {
+       .field_info_mask = {
+               .description = "svif",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "svif",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff}
+               }
+       },
+       /* class_tid: 4, , table: l2_cntxt_tcam.ing_0 */
+       {
+       .field_info_mask = {
+               .description = "etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ivlan_tpid_sel",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l2_ivlan_tpid_sel",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ivlan_vid",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l2_ivlan_vid",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ovlan_tpid_sel",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l2_ovlan_tpid_sel",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ovlan_vid",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l2_ovlan_vid",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "two_vtags",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "two_vtags",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "vtag_present",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "vtag_present",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "mac1_addr",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "mac1_addr",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "mac0_addr",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "mac0_addr",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tunnel_id",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tunnel_id",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tun_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tun_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "llc",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "llc",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "roce",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "roce",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "metadata",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "metadata",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "svif",
+               .field_bit_size = 11,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff,
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "svif",
+               .field_bit_size = 11,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff}
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "parif",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "parif",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "spif",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "spif",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "loopback",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "loopback",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "recycle_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "recycle_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "mpass_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "mpass_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               1}
+               },
+       .field_info_spec = {
+               .description = "valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               1}
+               }
+       },
+       /* class_tid: 4, , table: l2_cntxt_tcam_cache.ing_wr */
+       {
+       .field_info_mask = {
+               .description = "svif",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "svif",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff}
+               }
+       },
+       /* class_tid: 4, , table: port_table.egr_wr_0 */
+       {
+       .field_info_mask = {
+               .description = "dev.port_id",
+               .field_bit_size = 10,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff,
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "dev.port_id",
+               .field_bit_size = 10,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
+               }
+       },
+       /* class_tid: 4, , table: l2_cntxt_tcam_cache.egr_rd_vfr */
+       {
+       .field_info_mask = {
+               .description = "svif",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "svif",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
+               }
+       },
+       /* class_tid: 4, , table: l2_cntxt_tcam_cache.egr_wr_vfr */
+       {
+       .field_info_mask = {
+               .description = "svif",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "svif",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
+               }
+       },
+       /* class_tid: 4, , table: l2_cntxt_tcam_cache.egr_rd */
+       {
+       .field_info_mask = {
+               .description = "svif",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "svif",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
+               }
+       },
+       /* class_tid: 4, , table: l2_cntxt_tcam.egr_0 */
+       {
+       .field_info_mask = {
+               .description = "etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ivlan_tpid_sel",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l2_ivlan_tpid_sel",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ivlan_vid",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l2_ivlan_vid",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ovlan_tpid_sel",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l2_ovlan_tpid_sel",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ovlan_vid",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l2_ovlan_vid",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "two_vtags",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "two_vtags",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "vtag_present",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "vtag_present",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "mac1_addr",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "mac1_addr",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "mac0_addr",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "mac0_addr",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tunnel_id",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tunnel_id",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tun_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tun_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "llc",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "llc",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "roce",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "roce",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "metadata",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "metadata",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "svif",
+               .field_bit_size = 11,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff,
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "svif",
+               .field_bit_size = 11,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "parif",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "parif",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "spif",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "spif",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "loopback",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "loopback",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "recycle_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "recycle_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "mpass_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "mpass_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               1}
+               },
+       .field_info_spec = {
+               .description = "valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               1}
+               }
+       },
+       /* class_tid: 4, , table: l2_cntxt_tcam_cache.egr_wr */
+       {
+       .field_info_mask = {
+               .description = "svif",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "svif",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
+               }
+       },
+       /* class_tid: 5, , table: port_table.egr_wr */
+       {
+       .field_info_mask = {
+               .description = "dev.port_id",
+               .field_bit_size = 10,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff,
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "dev.port_id",
+               .field_bit_size = 10,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
+               }
+       },
+       /* class_tid: 5, , table: l2_cntxt_tcam_cache.vf_rd_egr */
+       {
+       .field_info_mask = {
+               .description = "svif",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "svif",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff}
+               }
+       },
+       /* class_tid: 5, , table: l2_cntxt_tcam.vf_egr */
+       {
+       .field_info_mask = {
+               .description = "etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ivlan_tpid_sel",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l2_ivlan_tpid_sel",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ivlan_vid",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l2_ivlan_vid",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ovlan_tpid_sel",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l2_ovlan_tpid_sel",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ovlan_vid",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l2_ovlan_vid",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "two_vtags",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "two_vtags",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "vtag_present",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "vtag_present",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "mac1_addr",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "mac1_addr",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "mac0_addr",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "mac0_addr",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tunnel_id",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tunnel_id",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tun_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tun_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "llc",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "llc",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "roce",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "roce",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "metadata",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "metadata",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "svif",
+               .field_bit_size = 11,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff,
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "svif",
+               .field_bit_size = 11,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff}
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "parif",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "parif",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "spif",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "spif",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "loopback",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "loopback",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "recycle_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "recycle_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "mpass_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "mpass_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               1}
+               },
+       .field_info_spec = {
+               .description = "valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               1}
+               }
+       },
+       /* class_tid: 5, , table: l2_cntxt_tcam_cache.vf_egr_wr */
+       {
+       .field_info_mask = {
+               .description = "svif",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "svif",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff}
+               }
+       },
+       /* class_tid: 5, , table: l2_cntxt_tcam_cache.rd_egr0 */
+       {
+       .field_info_mask = {
+               .description = "svif",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "svif",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
+               }
+       },
+       /* class_tid: 5, , table: l2_cntxt_tcam_cache.vfr_wr_egr0 */
+       {
+       .field_info_mask = {
+               .description = "svif",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "svif",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
+               }
+       },
+       /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_rd_vfr */
+       {
+       .field_info_mask = {
+               .description = "svif",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "svif",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
+               }
+       },
+       /* class_tid: 5, , table: l2_cntxt_tcam.vfr_ing0 */
+       {
+       .field_info_mask = {
+               .description = "etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ivlan_tpid_sel",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l2_ivlan_tpid_sel",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ivlan_vid",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l2_ivlan_vid",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ovlan_tpid_sel",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l2_ovlan_tpid_sel",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ovlan_vid",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l2_ovlan_vid",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "two_vtags",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "two_vtags",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "vtag_present",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "vtag_present",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "mac1_addr",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "mac1_addr",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "mac0_addr",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "mac0_addr",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tunnel_id",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tunnel_id",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tun_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tun_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "llc",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "llc",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "roce",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "roce",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "metadata",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "metadata",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "svif",
+               .field_bit_size = 11,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff,
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "svif",
+               .field_bit_size = 11,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "parif",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "parif",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "spif",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "spif",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "loopback",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "loopback",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               1}
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "recycle_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "recycle_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "mpass_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "mpass_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               1}
+               },
+       .field_info_spec = {
+               .description = "valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               1}
+               }
+       },
+       /* class_tid: 5, , table: profile_tcam.vfr_ing0 */
+       {
+       .field_info_mask = {
+               .description = "l4_hdr_is_udp_tcp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l4_hdr_is_udp_tcp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l4_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l4_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l4_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "ieh",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "ieh",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3_ipv6_cmp_dst",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l3_ipv6_cmp_dst",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3_ipv6_cmp_src",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l3_ipv6_cmp_src",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3_hdr_isIP",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l3_hdr_isIP",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l3_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l3_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l3_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_two_vtags",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l2_two_vtags",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_vtag_present",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l2_vtag_present",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_uc_mc_bc",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l2_uc_mc_bc",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_hdr_type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l2_hdr_type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l2_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "l2_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tun_hdr_flags",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tun_hdr_flags",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tun_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tun_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tun_hdr_err",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tun_hdr_err",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tun_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tun_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4_hdr_is_udp_tcp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tl4_hdr_is_udp_tcp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tl4_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tl4_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tl4_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3_ipv6_cmp_dst",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tl3_ipv6_cmp_dst",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3_ipv6_cmp_src",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tl3_ipv6_cmp_src",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3_hdr_isIP",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tl3_hdr_isIP",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tl3_hdr_type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tl3_hdr_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tl3_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_two_vtags",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tl2_two_vtags",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_vtag_present",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tl2_vtag_present",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_uc_mc_bc",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tl2_uc_mc_bc",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_hdr_type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tl2_hdr_type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "tl2_hdr_valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "hrec_next",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "hrec_next",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "prof_func_id",
+               .field_bit_size = 7,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_RF_IDX_GLB_VFR_PROF_FUNC_0 >> 8) & 0xff,
+               BNXT_ULP_GLB_RF_IDX_GLB_VFR_PROF_FUNC_0 & 0xff}
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "agg_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "agg_error",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "metadata",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "metadata",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "pkt_type_0",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "pkt_type_0",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "pkt_type_1",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               },
+       .field_info_spec = {
+               .description = "pkt_type_1",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               1}
+               },
+       .field_info_spec = {
+               .description = "valid",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+               .field_opr1 = {
+               1}
+               }
+       },
+       /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_wr_vfr */
+       {
+       .field_info_mask = {
+               .description = "svif",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "svif",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
+               }
+       },
+       /* class_tid: 5, , table: em.vfr.0 */
+       {
+       .field_info_mask = {
+               .description = "em_profile_id",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "em_profile_id",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+               .field_opr1 = {
+               (BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_PROF_ID_0 >> 8) & 0xff,
+               BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_PROF_ID_0 & 0xff}
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_cntxt_id",
+               .field_bit_size = 10,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_cntxt_id",
+               .field_bit_size = 10,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "parif",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "parif",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "spif",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "spif",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "svif",
+               .field_bit_size = 11,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "svif",
+               .field_bit_size = 11,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "lcos",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "lcos",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "meta",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+               .field_opr1 = {
+                       0xff,
+                       0xff}
+               },
+       .field_info_spec = {
+               .description = "meta",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+               .field_opr1 = {
+               (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "rcyc_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "rcyc_cnt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "loopback",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "loopback",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_l2type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_l2type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_dmac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_dmac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_smac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_smac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_dt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_dt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_sa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_sa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_nvt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_nvt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ovd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ovd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ovv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ovv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ovt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ovt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ivd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ivd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_ivt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_ivt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl2_etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl2_etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.l3type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.l3type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.sip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.sip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.sip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.sip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.sip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.sip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.dip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.dip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.dip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.dip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.dip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.dip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ttl",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ttl",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.prot",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.prot",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.fid.ipv4",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.fid.ipv4",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.fid.ipv6",
+               .field_bit_size = 20,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.fid.ipv6",
+               .field_bit_size = 20,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.qos",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.qos",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ieh_nonext",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ieh_nonext",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ieh_esp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ieh_esp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ieh_auth",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ieh_auth",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ieh_dest",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ieh_dest",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ieh_frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ieh_frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ieh_rthdr",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ieh_rthdr",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ieh_hop",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ieh_hop",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.ieh_1frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.ieh_1frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.df",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.df",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl3.l3err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl3.l3err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.l4type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.l4type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.src",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.src",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.dst",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.dst",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.flags",
+               .field_bit_size = 9,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.flags",
+               .field_bit_size = 9,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.seq",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.seq",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.pa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.pa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.opt",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.opt",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.tcpts",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.tcpts",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tl4.err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tl4.err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tuntype",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tuntype",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tflags",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tflags",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tids",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tids",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tid",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tid",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tctxts",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tctxts",
+               .field_bit_size = 24,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tctxt",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tctxt",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "tqos",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "tqos",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "terr",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "terr",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_l2type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_l2type",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_dmac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_dmac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_smac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_smac",
+               .field_bit_size = 48,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_dt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_dt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_sa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_sa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_nvt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_nvt",
+               .field_bit_size = 2,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_ovp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ovd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_ovd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ovv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_ovv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ovt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_ovt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_ivp",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ivd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_ivd",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_ivv",
+               .field_bit_size = 12,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_ivt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_ivt",
+               .field_bit_size = 3,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l2_etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l2_etype",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.l3type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.l3type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.sip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.sip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.sip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.sip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.sip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.sip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.dip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.dip.ipv4",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.dip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.dip.ipv6",
+               .field_bit_size = 128,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.dip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.dip_selcmp.ipv6",
+               .field_bit_size = 72,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ttl",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ttl",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.prot",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.prot",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.fid.ipv4",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.fid.ipv4",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.fid.ipv6",
+               .field_bit_size = 20,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.fid.ipv6",
+               .field_bit_size = 20,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.qos",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.qos",
+               .field_bit_size = 8,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ieh_nonext",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ieh_nonext",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ieh_esp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ieh_esp",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ieh_auth",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ieh_auth",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ieh_dest",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ieh_dest",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ieh_frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ieh_frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ieh_rthdr",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ieh_rthdr",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ieh_hop",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ieh_hop",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.ieh_1frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.ieh_1frag",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.df",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.df",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.l3err.ipv4",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.l3err.ipv4",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l3.l3err.ipv6",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l3.l3err.ipv6",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.l4type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.l4type",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.src",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.src",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.dst",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.dst",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.flags",
+               .field_bit_size = 9,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.flags",
+               .field_bit_size = 9,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.seq",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.seq",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.ack",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.ack",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.win",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.win",
+               .field_bit_size = 16,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.pa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.pa",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.opt",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.opt",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.tcpts",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.tcpts",
+               .field_bit_size = 1,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.tsval",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.tsval",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.txecr",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.txecr",
+               .field_bit_size = 32,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       },
+       {
+       .field_info_mask = {
+               .description = "l4.err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               },
+       .field_info_spec = {
+               .description = "l4.err",
+               .field_bit_size = 4,
+               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
+               }
+       }
+};
+
+struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
+       /* class_tid: 1, , table: l2_cntxt_tcam.0 */
+       {
+       .description = "prof_func_id",
+       .field_bit_size = 7,
+       .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_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}
+       },
+       {
+       .description = "ctxt_meta_prof",
+       .field_bit_size = 3,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "def_ctxt_data",
+       .field_bit_size = 16,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff}
+       },
+       {
+       .description = "ctxt_opcode",
+       .field_bit_size = 3,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       ULP_THOR_SYM_CTXT_OPCODE_NORMAL_FLOW}
+       },
+       {
+       .description = "l2_cntxt_id",
+       .field_bit_size = 10,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
+       },
+       {
+       .description = "parif",
+       .field_bit_size = 4,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+       .field_opr1 = {
+       (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,
+       BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff}
+       },
+       /* class_tid: 1, , table: mac_addr_cache.wr */
+       {
+       .description = "rid",
+       .field_bit_size = 32,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_RID & 0xff}
+       },
+       {
+       .description = "l2_cntxt_tcam_index",
+       .field_bit_size = 10,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_cntxt_id",
+       .field_bit_size = 10,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
+       },
+       {
+       .description = "src_property_ptr",
+       .field_bit_size = 10,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       /* class_tid: 1, , table: fkb_select.l2_l3_l4_v6_em */
+       {
+       .description = "l2_cntxt_id.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
+       },
+       {
+       .description = "parif.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "spif.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "svif.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "lcos.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "meta.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "rcyc_cnt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "loopback.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_l2type.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_dmac.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_smac.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_dt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_sa.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_nvt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_ovp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_ovd.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_ovv.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_ovt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_ivp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_ivd.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_ivv.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_ivt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_etype.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_l3type.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_sip.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_sip_selcmp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_dip.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_dip_selcmp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ttl.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_prot.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_fid.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_qos.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ieh_nonext.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ieh_esp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ieh_auth.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ieh_dest.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ieh_frag.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ieh_rthdr.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ieh_hop.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ieh_1frag.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_df.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_l3err.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl4_l4type.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl4_src.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl4_dst.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl4_flags.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl4_seq.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl4_pa.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl4_opt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl4_tcpts.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl4_err.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tuntype.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tflags.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tids.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tid.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tctxts.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tctxt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tqos.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "terr.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_l2type.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_dmac.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_smac.en",
+       .field_bit_size = 1,
+       .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,
+       BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
+       },
+       {
+       .description = "l2_dt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_sa.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_nvt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_ovp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_ovd.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_ovv.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_ovt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_ivp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_ivd.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_ivv.en",
+       .field_bit_size = 1,
+       .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_FIELD_BIT,
+       .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
+       },
+       {
+       .description = "l2_ivt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_etype.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_l3type.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_sip.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
+       .field_opr1 = {
+       (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
+       BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}
+       },
+       {
+       .description = "l3_sip_selcmp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_dip.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
+       .field_opr1 = {
+       (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
+       BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}
+       },
+       {
+       .description = "l3_dip_selcmp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_ttl.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_prot.en",
+       .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_L3_FB_PROTO_ID >> 8) & 0xff,
+       BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID & 0xff}
+       },
+       {
+       .description = "l3_fid.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_qos.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_ieh_nonext.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_ieh_esp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_ieh_auth.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_ieh_dest.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_ieh_frag.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_ieh_rthdr.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_ieh_hop.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_ieh_1frag.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_df.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_l3err.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l4_l4type.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l4_src.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .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}
+       },
+       {
+       .description = "l4_dst.en",
+       .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_L4_FB_DST_PORT >> 8) & 0xff,
+       BNXT_ULP_CF_IDX_O_L4_FB_DST_PORT & 0xff}
+       },
+       {
+       .description = "l4_flags.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l4_seq.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l4_ack.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l4_win.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l4_pa.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l4_opt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l4_tcpts.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l4_tsval.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l4_txecr.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l4_err.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       /* class_tid: 1, , table: profile_tcam.l2_l3_l4_v6_em */
+       {
+       .description = "wc_key_id",
+       .field_bit_size = 6,
+       .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_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "wc_search_en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "em_key_type",
+       .field_bit_size = 2,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "em_key_id",
+       .field_bit_size = 6,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_EM_KEY_ID_0 >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_EM_KEY_ID_0 & 0xff}
+       },
+       {
+       .description = "em_profile_id",
+       .field_bit_size = 8,
+       .field_opc = BNXT_ULP_FIELD_OPC_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}
+       },
+       {
+       .description = "em_search_en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
+       },
+       {
+       .description = "pl_byp_lkup_en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       /* class_tid: 1, , table: profile_tcam_cache.l2_l3_l4_v6_wr */
+       {
+       .description = "rid",
+       .field_bit_size = 32,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_RID & 0xff}
+       },
+       {
+       .description = "profile_tcam_index",
+       .field_bit_size = 10,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 & 0xff}
+       },
+       {
+       .description = "em_profile_id",
+       .field_bit_size = 8,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
+       },
+       {
+       .description = "em_key_id",
+       .field_bit_size = 8,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_EM_KEY_ID_0 >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_EM_KEY_ID_0 & 0xff}
+       },
+       {
+       .description = "wc_profile_id",
+       .field_bit_size = 8,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "wc_key_id",
+       .field_bit_size = 8,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "flow_sig_id",
+       .field_bit_size = 64,
+       .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,
+       BNXT_ULP_CF_IDX_FLOW_SIG_ID & 0xff}
+       },
+       /* class_tid: 1, , table: em.l2_l3_l4_v6.0 */
+       {
+       .description = "valid",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
+       },
+       {
+       .description = "strength",
+       .field_bit_size = 2,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       3}
+       },
+       {
+       .description = "data",
+       .field_bit_size = 16,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
+       },
+       {
+       .description = "opcode",
+       .field_bit_size = 3,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "meta_prof",
+       .field_bit_size = 3,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "ctxt_data",
+       .field_bit_size = 14,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       /* class_tid: 1, , table: fkb_select.l3_l4_wm */
+       {
+       .description = "l2_cntxt_id.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
+       },
+       {
+       .description = "parif.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "spif.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "svif.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "lcos.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "meta.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "rcyc_cnt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "loopback.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_l2type.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_dmac.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_smac.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_dt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_sa.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_nvt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_ovp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_ovd.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_ovv.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_ovt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_ivp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_ivd.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_ivv.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_ivt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_etype.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_l3type.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_sip.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_sip_selcmp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_dip.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_dip_selcmp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ttl.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_prot.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_fid.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_qos.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ieh_nonext.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ieh_esp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ieh_auth.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ieh_dest.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ieh_frag.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ieh_rthdr.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ieh_hop.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ieh_1frag.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_df.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_l3err.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl4_l4type.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl4_src.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl4_dst.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl4_flags.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl4_seq.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl4_pa.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl4_opt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl4_tcpts.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl4_err.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tuntype.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tflags.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tids.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tid.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tctxts.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tctxt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tqos.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "terr.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_l2type.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_dmac.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_smac.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
+       },
+       {
+       .description = "l2_dt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_sa.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_nvt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_ovp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_ovd.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_ovv.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_ovt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_ivp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_ivd.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_ivv.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
+       },
+       {
+       .description = "l2_ivt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_etype.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_l3type.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_sip.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
+       },
+       {
+       .description = "l3_sip_selcmp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_dip.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
+       },
+       {
+       .description = "l3_dip_selcmp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_ttl.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_prot.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
+       },
+       {
+       .description = "l3_fid.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_qos.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_ieh_nonext.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_ieh_esp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_ieh_auth.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_ieh_dest.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_ieh_frag.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_ieh_rthdr.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_ieh_hop.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_ieh_1frag.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_df.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_l3err.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l4_l4type.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l4_src.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
+       },
+       {
+       .description = "l4_dst.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
+       },
+       {
+       .description = "l4_flags.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l4_seq.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l4_ack.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l4_win.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l4_pa.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l4_opt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l4_tcpts.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l4_tsval.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l4_txecr.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l4_err.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       /* class_tid: 1, , table: fkb_select.l3_l4_wm_vxlan */
+       {
+       .description = "l2_cntxt_id.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
+       },
+       {
+       .description = "parif.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "spif.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "svif.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "lcos.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "meta.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "rcyc_cnt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "loopback.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_l2type.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_dmac.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_smac.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_dt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_sa.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_nvt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_ovp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_ovd.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_ovv.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_ovt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_ivp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_ivd.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_ivv.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
+       },
+       {
+       .description = "tl2_ivt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_etype.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_l3type.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_sip.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
+       },
+       {
+       .description = "tl3_sip_selcmp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_dip.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
+       },
+       {
+       .description = "tl3_dip_selcmp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ttl.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_prot.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
+       },
+       {
+       .description = "tl3_fid.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_qos.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ieh_nonext.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ieh_esp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ieh_auth.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ieh_dest.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ieh_frag.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ieh_rthdr.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ieh_hop.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ieh_1frag.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_df.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_l3err.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl4_l4type.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl4_src.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
+       },
+       {
+       .description = "tl4_dst.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
+       },
+       {
+       .description = "tl4_flags.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl4_seq.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl4_pa.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl4_opt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl4_tcpts.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl4_err.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tuntype.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tflags.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tids.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tid.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tctxts.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tctxt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tqos.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "terr.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_l2type.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_dmac.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_smac.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
+       },
+       {
+       .description = "l2_dt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_sa.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_nvt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_ovp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_ovd.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_ovv.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_ovt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_ivp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_ivd.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_ivv.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_ivt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_etype.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_l3type.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_sip.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_sip_selcmp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_dip.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_dip_selcmp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_ttl.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_prot.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_fid.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_qos.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_ieh_nonext.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_ieh_esp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_ieh_auth.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_ieh_dest.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_ieh_frag.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_ieh_rthdr.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_ieh_hop.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_ieh_1frag.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_df.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_l3err.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l4_l4type.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l4_src.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l4_dst.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l4_flags.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l4_seq.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l4_ack.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l4_win.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l4_pa.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l4_opt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l4_tcpts.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l4_tsval.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l4_txecr.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l4_err.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       /* class_tid: 1, , table: profile_tcam.l3_l4.ip */
+       {
+       .description = "wc_key_id",
+       .field_bit_size = 6,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+       .field_opr1 = {
+       (BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_0 >> 8) & 0xff,
+       BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_0 & 0xff}
+       },
+       {
+       .description = "wc_profile_id",
+       .field_bit_size = 8,
+       .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_IPV6 >> 56) & 0xff,
+       ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 48) & 0xff,
+       ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 40) & 0xff,
+       ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 32) & 0xff,
+       ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 24) & 0xff,
+       ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 16) & 0xff,
+       ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 8) & 0xff,
+       (uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 & 0xff},
+       .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
+       .field_opr2 = {
+               (BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_1 >> 8) & 0xff,
+               BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_1 & 0xff},
+       .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
+       .field_opr3 = {
+       (BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,
+       BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_0 & 0xff}
+       },
+       {
+       .description = "wc_search_en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
+       },
+       {
+       .description = "em_key_type",
+       .field_bit_size = 2,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "em_key_id",
+       .field_bit_size = 6,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "em_profile_id",
+       .field_bit_size = 8,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "em_search_en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "pl_byp_lkup_en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       /* class_tid: 1, , table: profile_tcam.l3_l4.vxlan */
+       {
+       .description = "wc_key_id",
+       .field_bit_size = 6,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+       .field_opr1 = {
+       (BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_2 >> 8) & 0xff,
+       BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_2 & 0xff}
+       },
+       {
+       .description = "wc_profile_id",
+       .field_bit_size = 8,
+       .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_IPV6 >> 56) & 0xff,
+       ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 48) & 0xff,
+       ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 40) & 0xff,
+       ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 32) & 0xff,
+       ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 24) & 0xff,
+       ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 16) & 0xff,
+       ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 8) & 0xff,
+       (uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 & 0xff},
+       .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
+       .field_opr2 = {
+               (BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_3 >> 8) & 0xff,
+               BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_3 & 0xff},
+       .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
+       .field_opr3 = {
+       (BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_2 >> 8) & 0xff,
+       BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_2 & 0xff}
+       },
+       {
+       .description = "wc_search_en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
+       },
+       {
+       .description = "em_key_type",
+       .field_bit_size = 2,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "em_key_id",
+       .field_bit_size = 6,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "em_profile_id",
+       .field_bit_size = 8,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "em_search_en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "pl_byp_lkup_en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       /* class_tid: 1, , table: profile_tcam_cache.wr */
+       {
+       .description = "rid",
+       .field_bit_size = 32,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_RID & 0xff}
+       },
+       {
+       .description = "profile_tcam_index",
+       .field_bit_size = 10,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 & 0xff}
+       },
+       {
+       .description = "em_profile_id",
+       .field_bit_size = 8,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "em_key_id",
+       .field_bit_size = 8,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "wc_profile_id",
+       .field_bit_size = 8,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "wc_key_id",
+       .field_bit_size = 8,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "flow_sig_id",
+       .field_bit_size = 64,
+       .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,
+       BNXT_ULP_CF_IDX_FLOW_SIG_ID & 0xff}
+       },
+       /* class_tid: 1, , table: wm.l3_l4.ipv4 */
+       {
+       .description = "ctxt_data",
+       .field_bit_size = 14,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "meta_prof",
+       .field_bit_size = 3,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "opcode",
+       .field_bit_size = 3,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "data",
+       .field_bit_size = 16,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
+       },
+       {
+       .description = "strength",
+       .field_bit_size = 2,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
+       },
+       /* class_tid: 1, , table: wm.l3_l4.ipv6 */
+       {
+       .description = "ctxt_data",
+       .field_bit_size = 14,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "meta_prof",
+       .field_bit_size = 3,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "opcode",
+       .field_bit_size = 3,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "data",
+       .field_bit_size = 16,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
+       },
+       {
+       .description = "strength",
+       .field_bit_size = 2,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
+       },
+       /* class_tid: 1, , table: wm.l3.ipv4 */
+       {
+       .description = "ctxt_data",
+       .field_bit_size = 14,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "meta_prof",
+       .field_bit_size = 3,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "opcode",
+       .field_bit_size = 3,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "data",
+       .field_bit_size = 16,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
+       },
+       {
+       .description = "strength",
+       .field_bit_size = 2,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
+       },
+       /* class_tid: 1, , table: wm.l3.ipv6 */
+       {
+       .description = "ctxt_data",
+       .field_bit_size = 14,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "meta_prof",
+       .field_bit_size = 3,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "opcode",
+       .field_bit_size = 3,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "data",
+       .field_bit_size = 16,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
+       },
+       {
+       .description = "strength",
+       .field_bit_size = 2,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
+       },
+       /* class_tid: 1, , table: wm.l2 */
+       {
+       .description = "ctxt_data",
+       .field_bit_size = 14,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "meta_prof",
+       .field_bit_size = 3,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "opcode",
+       .field_bit_size = 3,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "data",
+       .field_bit_size = 16,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
+       },
+       {
+       .description = "strength",
+       .field_bit_size = 2,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
+       },
+       /* class_tid: 1, , table: wm.l3_l4.vxlan.ipv4 */
+       {
+       .description = "ctxt_data",
+       .field_bit_size = 14,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "meta_prof",
+       .field_bit_size = 3,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "opcode",
+       .field_bit_size = 3,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "data",
+       .field_bit_size = 16,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
+       },
+       {
+       .description = "strength",
+       .field_bit_size = 2,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
+       },
+       /* class_tid: 1, , table: wm.l3_l4.vxlan.ipv6 */
+       {
+       .description = "ctxt_data",
+       .field_bit_size = 14,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "meta_prof",
+       .field_bit_size = 3,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "opcode",
+       .field_bit_size = 3,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "data",
+       .field_bit_size = 16,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
+       },
+       {
+       .description = "strength",
+       .field_bit_size = 2,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
+       },
+       /* class_tid: 2, , table: l2_cntxt_tcam.1 */
+       {
+       .description = "prof_func_id",
+       .field_bit_size = 7,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "ctxt_meta_prof",
+       .field_bit_size = 3,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "def_ctxt_data",
+       .field_bit_size = 16,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "ctxt_opcode",
+       .field_bit_size = 3,
+       .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_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "parif",
+       .field_bit_size = 4,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       /* class_tid: 2, , table: tunnel_cache.wr */
+       {
+       .description = "rid",
+       .field_bit_size = 32,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_RID & 0xff}
+       },
+       {
+       .description = "l2_cntxt_tcam_index",
+       .field_bit_size = 10,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_cntxt_id",
+       .field_bit_size = 10,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
+       },
+       /* class_tid: 2, , table: l2_cntxt_tcam.0 */
+       {
+       .description = "prof_func_id",
+       .field_bit_size = 7,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+       .field_opr1 = {
+       (BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID >> 8) & 0xff,
+       BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID & 0xff}
+       },
+       {
+       .description = "ctxt_meta_prof",
+       .field_bit_size = 3,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "def_ctxt_data",
+       .field_bit_size = 16,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff}
+       },
+       {
+       .description = "ctxt_opcode",
+       .field_bit_size = 3,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       ULP_THOR_SYM_CTXT_OPCODE_NORMAL_FLOW}
+       },
+       {
+       .description = "l2_cntxt_id",
+       .field_bit_size = 10,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
+       },
+       {
+       .description = "parif",
+       .field_bit_size = 4,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+       .field_opr1 = {
+       (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,
+       BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff}
+       },
+       /* class_tid: 2, , table: mac_addr_cache.wr */
+       {
+       .description = "rid",
+       .field_bit_size = 32,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_RID & 0xff}
+       },
+       {
+       .description = "l2_cntxt_tcam_index",
+       .field_bit_size = 10,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_cntxt_id",
+       .field_bit_size = 10,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
+       },
+       {
+       .description = "src_property_ptr",
+       .field_bit_size = 10,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       /* class_tid: 2, , table: fkb_select.f2_l2_l3_l4_v6_em */
+       {
+       .description = "l2_cntxt_id.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
+       },
+       {
+       .description = "parif.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "spif.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "svif.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "lcos.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "meta.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "rcyc_cnt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "loopback.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_l2type.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_dmac.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_smac.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_dt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_sa.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_nvt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_ovp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_ovd.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_ovv.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_ovt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_ivp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_ivd.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_ivv.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_ivt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl2_etype.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_l3type.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_sip.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_sip_selcmp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_dip.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_dip_selcmp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ttl.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_prot.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_fid.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_qos.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ieh_nonext.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ieh_esp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ieh_auth.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ieh_dest.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ieh_frag.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ieh_rthdr.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ieh_hop.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_ieh_1frag.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_df.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl3_l3err.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl4_l4type.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl4_src.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl4_dst.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl4_flags.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl4_seq.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl4_pa.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl4_opt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl4_tcpts.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tl4_err.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tuntype.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tflags.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tids.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
+       .field_opr1 = {
+       (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff,
+       BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}
+       },
+       {
+       .description = "tid.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tctxts.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tctxt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "tqos.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "terr.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_l2type.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_dmac.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
+       },
+       {
+       .description = "l2_smac.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
+       .field_opr1 = {
+       (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff,
+       BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}
+       },
+       {
+       .description = "l2_dt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_sa.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_nvt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_ovp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_ovd.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_ovv.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_ovt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_ivp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_ivd.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_ivv.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_ivt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l2_etype.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_l3type.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_sip.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
+       .field_opr1 = {
+       (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff,
+       BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}
+       },
+       {
+       .description = "l3_sip_selcmp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_dip.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
+       .field_opr1 = {
+       (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff,
+       BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}
+       },
+       {
+       .description = "l3_dip_selcmp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_ttl.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_prot.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+       .field_opr1 = {
+       (BNXT_ULP_CF_IDX_I_L3_FB_PROTO_ID >> 8) & 0xff,
+       BNXT_ULP_CF_IDX_I_L3_FB_PROTO_ID & 0xff}
+       },
+       {
+       .description = "l3_fid.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_qos.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_ieh_nonext.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_ieh_esp.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_ieh_auth.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_ieh_dest.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_ieh_frag.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_ieh_rthdr.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "l3_ieh_hop.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .field_info_mask = {
-               .description = "l3.ieh_rthdr",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "l3.ieh_rthdr",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
+       .description = "l3_ieh_1frag.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .field_info_mask = {
-               .description = "l3.ieh_hop",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "l3.ieh_hop",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
+       .description = "l3_df.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .field_info_mask = {
-               .description = "l3.ieh_1frag",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "l3.ieh_1frag",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
+       .description = "l3_l3err.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .field_info_mask = {
-               .description = "l3.df",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "l3.df",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
+       .description = "l4_l4type.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .field_info_mask = {
-               .description = "l3.l3err.ipv4",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "l3.l3err.ipv4",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
+       .description = "l4_src.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+       .field_opr1 = {
+       (BNXT_ULP_CF_IDX_I_L4_FB_SRC_PORT >> 8) & 0xff,
+       BNXT_ULP_CF_IDX_I_L4_FB_SRC_PORT & 0xff}
        },
        {
-       .field_info_mask = {
-               .description = "l3.l3err.ipv6",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "l3.l3err.ipv6",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
+       .description = "l4_dst.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+       .field_opr1 = {
+       (BNXT_ULP_CF_IDX_I_L4_FB_DST_PORT >> 8) & 0xff,
+       BNXT_ULP_CF_IDX_I_L4_FB_DST_PORT & 0xff}
        },
        {
-       .field_info_mask = {
-               .description = "l4.l4type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "l4.l4type",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
+       .description = "l4_flags.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .field_info_mask = {
-               .description = "l4.src",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "l4.src",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
+       .description = "l4_seq.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .field_info_mask = {
-               .description = "l4.dst",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_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,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
-               (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
-               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr2 = {
-                       (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
-                       BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff},
-               .field_src3 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr3 = {
-               (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
-               BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}
-               },
-       .field_info_spec = {
-               .description = "l4.dst",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_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,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
-               (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
-               .field_src2 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr2 = {
-                       (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
-                       BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff},
-               .field_src3 = BNXT_ULP_FIELD_SRC_HF,
-               .field_opr3 = {
-               (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
-               BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}
-               }
+       .description = "l4_ack.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .field_info_mask = {
-               .description = "l4.flags",
-               .field_bit_size = 9,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "l4.flags",
-               .field_bit_size = 9,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
+       .description = "l4_win.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .field_info_mask = {
-               .description = "l4.seq",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "l4.seq",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
+       .description = "l4_pa.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .field_info_mask = {
-               .description = "l4.ack",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "l4.ack",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
+       .description = "l4_opt.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .field_info_mask = {
-               .description = "l4.win",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "l4.win",
-               .field_bit_size = 16,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
+       .description = "l4_tcpts.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .field_info_mask = {
-               .description = "l4.pa",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "l4.pa",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
+       .description = "l4_tsval.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .field_info_mask = {
-               .description = "l4.opt",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "l4.opt",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
+       .description = "l4_txecr.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .field_info_mask = {
-               .description = "l4.tcpts",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "l4.tcpts",
-               .field_bit_size = 1,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
+       .description = "l4_err.en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
+       /* class_tid: 2, , table: profile_tcam.f2_l2_l3_l4_v6_em */
        {
-       .field_info_mask = {
-               .description = "l4.tsval",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "l4.tsval",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
+       .description = "wc_key_id",
+       .field_bit_size = 6,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .field_info_mask = {
-               .description = "l4.txecr",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "l4.txecr",
-               .field_bit_size = 32,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
+       .description = "wc_profile_id",
+       .field_bit_size = 8,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .field_info_mask = {
-               .description = "l4.err",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               },
-       .field_info_spec = {
-               .description = "l4.err",
-               .field_bit_size = 4,
-               .field_opc = BNXT_ULP_FIELD_OPC_SKIP
-               }
+       .description = "wc_search_en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
-       /* class_tid: 4, thor, table: port_table.wr_0 */
        {
-       .field_info_mask = {
-               .description = "dev.port_id",
-               .field_bit_size = 10,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff,
-                       0xff}
-               },
-       .field_info_spec = {
-               .description = "dev.port_id",
-               .field_bit_size = 10,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
-               .field_opr1 = {
-               (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
-               BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
-               }
+       .description = "em_key_type",
+       .field_bit_size = 2,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
-       /* class_tid: 4, thor, table: port_table.wr_1 */
        {
-       .field_info_mask = {
-               .description = "dev.port_id",
-               .field_bit_size = 10,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff,
-                       0xff}
-               },
-       .field_info_spec = {
-               .description = "dev.port_id",
-               .field_bit_size = 10,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
-               .field_opr1 = {
-               (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
-               BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
-               }
+       .description = "em_key_id",
+       .field_bit_size = 6,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_EM_KEY_ID_0 >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_EM_KEY_ID_0 & 0xff}
        },
-       /* class_tid: 4, thor, table: port_table.rd */
        {
-       .field_info_mask = {
-               .description = "dev.port_id",
-               .field_bit_size = 10,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-               .field_opr1 = {
-                       0xff,
-                       0xff}
-               },
-       .field_info_spec = {
-               .description = "dev.port_id",
-               .field_bit_size = 10,
-               .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-               .field_src1 = BNXT_ULP_FIELD_SRC_CF,
-               .field_opr1 = {
-               (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
-               BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
-               }
-       }
-};
-
-struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
-       /* class_tid: 1, thor, table: l2_cntxt_tcam.gre */
+       .description = "em_profile_id",
+       .field_bit_size = 8,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
+       },
        {
-       .description = "prof_func_id",
-       .field_bit_size = 7,
+       .description = "em_search_en",
+       .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
        .field_opr1 = {
-       (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_1 >> 8) & 0xff,
-       BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_1 & 0xff}
+       1}
        },
        {
-       .description = "ctxt_meta_prof",
-       .field_bit_size = 3,
+       .description = "pl_byp_lkup_en",
+       .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
+       /* class_tid: 2, , table: profile_tcam_cache.f2_l2_l3_l4_v6_wr */
        {
-       .description = "def_ctxt_data",
-       .field_bit_size = 16,
+       .description = "rid",
+       .field_bit_size = 32,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_RF,
        .field_opr1 = {
-       (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff,
-       BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff}
+       (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_RID & 0xff}
        },
        {
-       .description = "ctxt_opcode",
-       .field_bit_size = 3,
+       .description = "profile_tcam_index",
+       .field_bit_size = 10,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
        .field_opr1 = {
-       ULP_THOR_SYM_CTXT_OPCODE_NORMAL_FLOW}
+       (BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 & 0xff}
        },
        {
-       .description = "l2_cntxt_id",
-       .field_bit_size = 10,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+       .description = "em_profile_id",
+       .field_bit_size = 8,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_RF,
        .field_opr1 = {
-       (BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,
-       BNXT_ULP_RF_IDX_PHY_PORT & 0xff},
-       .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
-       .field_opr2 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},
-       .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
-       .field_opr3 = {
-       (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,
-       BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}
+       (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
        },
        {
-       .description = "parif",
-       .field_bit_size = 4,
+       .description = "em_key_id",
+       .field_bit_size = 8,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_EM_KEY_ID_0 >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_EM_KEY_ID_0 & 0xff}
+       },
+       {
+       .description = "wc_profile_id",
+       .field_bit_size = 8,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "wc_key_id",
+       .field_bit_size = 8,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "flow_sig_id",
+       .field_bit_size = 64,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_CF,
        .field_opr1 = {
-       (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,
-       BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff}
+       (BNXT_ULP_CF_IDX_FLOW_SIG_ID >> 8) & 0xff,
+       BNXT_ULP_CF_IDX_FLOW_SIG_ID & 0xff}
        },
-       /* class_tid: 1, thor, table: l2_cntxt_tcam_cache.gre_wr */
+       /* class_tid: 2, , table: em.f2_l2_l3_l4_v6.0 */
        {
-       .description = "rid",
-       .field_bit_size = 32,
+       .description = "valid",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
+       },
+       {
+       .description = "strength",
+       .field_bit_size = 2,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       3}
+       },
+       {
+       .description = "data",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_RF,
        .field_opr1 = {
-       (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
-       BNXT_ULP_RF_IDX_RID & 0xff}
+       (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
        },
        {
-       .description = "l2_cntxt_tcam_index",
-       .field_bit_size = 10,
+       .description = "opcode",
+       .field_bit_size = 3,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l2_cntxt_id",
-       .field_bit_size = 10,
+       .description = "meta_prof",
+       .field_bit_size = 3,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "src_property_ptr",
-       .field_bit_size = 10,
+       .description = "ctxt_data",
+       .field_bit_size = 14,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
-       /* class_tid: 1, thor, table: fkb_select.gre */
+       /* class_tid: 2, , table: fkb_select.f2_wm */
        {
        .description = "l2_cntxt_id.en",
        .field_bit_size = 1,
@@ -23885,9 +38491,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .description = "tl3_prot.en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-       .field_opr1 = {
-       1}
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
        .description = "tl3_fid.en",
@@ -24031,7 +38635,9 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .description = "tids.en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
        },
        {
        .description = "tid.en",
@@ -24073,13 +38679,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .description = "l2_dmac.en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
        },
        {
        .description = "l2_smac.en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
        },
        {
        .description = "l2_dt.en",
@@ -24163,7 +38773,9 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .description = "l3_sip.en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
        },
        {
        .description = "l3_sip_selcmp.en",
@@ -24175,7 +38787,9 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .description = "l3_dip.en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
        },
        {
        .description = "l3_dip_selcmp.en",
@@ -24279,7 +38893,9 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .description = "l4_src.en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
        },
        {
        .description = "l4_dst.en",
@@ -24349,24 +38965,38 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
-       /* class_tid: 1, thor, table: profile_tcam.gre */
+       /* class_tid: 2, , table: profile_tcam.f2 */
        {
        .description = "wc_key_id",
        .field_bit_size = 6,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
        .field_opr1 = {
-       (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 >> 8) & 0xff,
-       BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 & 0xff}
+       (BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_4 >> 8) & 0xff,
+       BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_4 & 0xff}
        },
        {
        .description = "wc_profile_id",
        .field_bit_size = 8,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+       .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
        .field_opr1 = {
-       (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_2 >> 8) & 0xff,
-       BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_2 & 0xff}
+       ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 56) & 0xff,
+       ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 48) & 0xff,
+       ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 40) & 0xff,
+       ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 32) & 0xff,
+       ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 24) & 0xff,
+       ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 16) & 0xff,
+       ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 8) & 0xff,
+       (uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 & 0xff},
+       .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
+       .field_opr2 = {
+               (BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_5 >> 8) & 0xff,
+               BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_5 & 0xff},
+       .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
+       .field_opr3 = {
+       (BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_4 >> 8) & 0xff,
+       BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_4 & 0xff}
        },
        {
        .description = "wc_search_en",
@@ -24406,43 +39036,59 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
-       /* class_tid: 1, thor, table: wm.gre */
+       /* class_tid: 2, , table: profile_tcam_cache.f2_wr */
        {
-       .description = "ctxt_data",
-       .field_bit_size = 14,
+       .description = "rid",
+       .field_bit_size = 32,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_RID & 0xff}
+       },
+       {
+       .description = "profile_tcam_index",
+       .field_bit_size = 10,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 & 0xff}
+       },
+       {
+       .description = "em_profile_id",
+       .field_bit_size = 8,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "meta_prof",
-       .field_bit_size = 3,
+       .description = "em_key_id",
+       .field_bit_size = 8,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "opcode",
-       .field_bit_size = 3,
+       .description = "wc_profile_id",
+       .field_bit_size = 8,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "data",
-       .field_bit_size = 16,
+       .description = "wc_key_id",
+       .field_bit_size = 8,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
-       .field_opr1 = {
-       (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
-       BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "strength",
-       .field_bit_size = 2,
+       .description = "flow_sig_id",
+       .field_bit_size = 64,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CF,
        .field_opr1 = {
-       1}
+       (BNXT_ULP_CF_IDX_FLOW_SIG_ID >> 8) & 0xff,
+       BNXT_ULP_CF_IDX_FLOW_SIG_ID & 0xff}
        },
-       /* class_tid: 1, thor, table: wm.gre_low */
+       /* class_tid: 2, , table: wm.l3_l4.ipv4 */
        {
        .description = "ctxt_data",
        .field_bit_size = 14,
@@ -24478,94 +39124,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .field_opr1 = {
        1}
        },
-       /* class_tid: 1, thor, table: l2_cntxt_tcam.0 */
-       {
-       .description = "prof_func_id",
-       .field_bit_size = 7,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
-       .field_opr1 = {
-       (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,
-       BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}
-       },
-       {
-       .description = "ctxt_meta_prof",
-       .field_bit_size = 3,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "def_ctxt_data",
-       .field_bit_size = 16,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
-       .field_opr1 = {
-       (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff,
-       BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff}
-       },
-       {
-       .description = "ctxt_opcode",
-       .field_bit_size = 3,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-       .field_opr1 = {
-       ULP_THOR_SYM_CTXT_OPCODE_NORMAL_FLOW}
-       },
-       {
-       .description = "l2_cntxt_id",
-       .field_bit_size = 10,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
-       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
-       .field_opr1 = {
-       (BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,
-       BNXT_ULP_RF_IDX_PHY_PORT & 0xff},
-       .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
-       .field_opr2 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},
-       .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
-       .field_opr3 = {
-       (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,
-       BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}
-       },
-       {
-       .description = "parif",
-       .field_bit_size = 4,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_CF,
-       .field_opr1 = {
-       (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,
-       BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff}
-       },
-       /* class_tid: 1, thor, table: mac_addr_cache.gre_frag_wr */
-       {
-       .description = "rid",
-       .field_bit_size = 32,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
-       .field_opr1 = {
-       (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
-       BNXT_ULP_RF_IDX_RID & 0xff}
-       },
-       {
-       .description = "l2_cntxt_tcam_index",
-       .field_bit_size = 10,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "l2_cntxt_id",
-       .field_bit_size = 10,
-       .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_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       /* class_tid: 1, thor, table: fkb_select.gre_frag */
+       /* class_tid: 3, , table: fkb_select.l2_l3_l4_v6_em */
        {
        .description = "l2_cntxt_id.en",
        .field_bit_size = 1,
@@ -24746,9 +39305,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .description = "tl3_prot.en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-       .field_opr1 = {
-       1}
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
        .description = "tl3_fid.en",
@@ -24934,13 +39491,19 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .description = "l2_dmac.en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .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}
        },
        {
        .description = "l2_smac.en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .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}
        },
        {
        .description = "l2_dt.en",
@@ -24999,8 +39562,22 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        {
        .description = "l2_ivv.en",
        .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_opc = BNXT_ULP_FIELD_OPC_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_FIELD_BIT,
+       .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
        },
        {
        .description = "l2_ivt.en",
@@ -25024,7 +39601,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .description = "l3_sip.en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
+       .field_opr1 = {
+       (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
+       BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}
        },
        {
        .description = "l3_sip_selcmp.en",
@@ -25036,7 +39616,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .description = "l3_dip.en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
+       .field_opr1 = {
+       (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
+       BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}
        },
        {
        .description = "l3_dip_selcmp.en",
@@ -25054,9 +39637,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .description = "l3_prot.en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CF,
        .field_opr1 = {
-       1}
+       (BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID >> 8) & 0xff,
+       BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID & 0xff}
        },
        {
        .description = "l3_fid.en",
@@ -25140,15 +39724,19 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .description = "l4_src.en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+       .field_opr1 = {
+       (BNXT_ULP_CF_IDX_O_L4_FB_SRC_PORT >> 8) & 0xff,
+       BNXT_ULP_CF_IDX_O_L4_FB_SRC_PORT & 0xff}
        },
        {
        .description = "l4_dst.en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CF,
        .field_opr1 = {
-       1}
+       (BNXT_ULP_CF_IDX_O_L4_FB_DST_PORT >> 8) & 0xff,
+       BNXT_ULP_CF_IDX_O_L4_FB_DST_PORT & 0xff}
        },
        {
        .description = "l4_flags.en",
@@ -25210,32 +39798,24 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
-       /* class_tid: 1, thor, table: profile_tcam.gre_frag */
+       /* class_tid: 3, , table: profile_tcam.l2_l3_l4_v6_em */
        {
        .description = "wc_key_id",
        .field_bit_size = 6,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
-       .field_opr1 = {
-       (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 >> 8) & 0xff,
-       BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 & 0xff}
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
        .description = "wc_profile_id",
        .field_bit_size = 8,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
-       .field_opr1 = {
-       (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,
-       BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff}
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
        .description = "wc_search_en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-       .field_opr1 = {
-       1}
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
        .description = "em_key_type",
@@ -25247,19 +39827,27 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .description = "em_key_id",
        .field_bit_size = 6,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_EM_KEY_ID_0 >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_EM_KEY_ID_0 & 0xff}
        },
        {
        .description = "em_profile_id",
        .field_bit_size = 8,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
        },
        {
        .description = "em_search_en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
        },
        {
        .description = "pl_byp_lkup_en",
@@ -25267,166 +39855,109 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
-       /* class_tid: 1, thor, table: wm.gre_frag */
-       {
-       .description = "ctxt_data",
-       .field_bit_size = 14,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "meta_prof",
-       .field_bit_size = 3,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
+       /* class_tid: 3, , table: profile_tcam_cache.l2_l3_l4_v6_wr */
        {
-       .description = "opcode",
-       .field_bit_size = 3,
+       .description = "rid",
+       .field_bit_size = 32,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_RID & 0xff}
        },
        {
-       .description = "data",
-       .field_bit_size = 16,
+       .description = "profile_tcam_index",
+       .field_bit_size = 10,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_RF,
        .field_opr1 = {
-       (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
-       BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
+       (BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 & 0xff}
        },
        {
-       .description = "strength",
-       .field_bit_size = 2,
+       .description = "em_profile_id",
+       .field_bit_size = 8,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
        .field_opr1 = {
-       1}
+       (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
        },
-       /* class_tid: 1, thor, table: wm.gre_frag_low */
        {
-       .description = "ctxt_data",
-       .field_bit_size = 14,
+       .description = "em_key_id",
+       .field_bit_size = 8,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_EM_KEY_ID_0 >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_EM_KEY_ID_0 & 0xff}
        },
        {
-       .description = "meta_prof",
-       .field_bit_size = 3,
+       .description = "wc_profile_id",
+       .field_bit_size = 8,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "opcode",
-       .field_bit_size = 3,
+       .description = "wc_key_id",
+       .field_bit_size = 8,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "data",
-       .field_bit_size = 16,
+       .description = "flow_sig_id",
+       .field_bit_size = 64,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CF,
        .field_opr1 = {
-       (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
-       BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
+       (BNXT_ULP_CF_IDX_FLOW_SIG_ID >> 8) & 0xff,
+       BNXT_ULP_CF_IDX_FLOW_SIG_ID & 0xff}
        },
+       /* class_tid: 3, , table: em.l2_l3_l4_v6.0 */
        {
-       .description = "strength",
-       .field_bit_size = 2,
+       .description = "valid",
+       .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
        .field_opr1 = {
        1}
        },
-       /* class_tid: 1, thor, table: l2_cntxt_tcam.0 */
        {
-       .description = "prof_func_id",
-       .field_bit_size = 7,
+       .description = "strength",
+       .field_bit_size = 2,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
        .field_opr1 = {
-       (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,
-       BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}
-       },
-       {
-       .description = "ctxt_meta_prof",
-       .field_bit_size = 3,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       3}
        },
        {
-       .description = "def_ctxt_data",
+       .description = "data",
        .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_RF,
        .field_opr1 = {
-       (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff,
-       BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff}
+       (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
        },
        {
-       .description = "ctxt_opcode",
+       .description = "opcode",
        .field_bit_size = 3,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-       .field_opr1 = {
-       ULP_THOR_SYM_CTXT_OPCODE_NORMAL_FLOW}
-       },
-       {
-       .description = "l2_cntxt_id",
-       .field_bit_size = 10,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
-       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
-       .field_opr1 = {
-       (BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,
-       BNXT_ULP_RF_IDX_PHY_PORT & 0xff},
-       .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
-       .field_opr2 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},
-       .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
-       .field_opr3 = {
-       (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,
-       BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}
-       },
-       {
-       .description = "parif",
-       .field_bit_size = 4,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_CF,
-       .field_opr1 = {
-       (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,
-       BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff}
-       },
-       /* class_tid: 1, thor, table: mac_addr_cache.wr */
-       {
-       .description = "rid",
-       .field_bit_size = 32,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
-       .field_opr1 = {
-       (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
-       BNXT_ULP_RF_IDX_RID & 0xff}
-       },
-       {
-       .description = "l2_cntxt_tcam_index",
-       .field_bit_size = 10,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l2_cntxt_id",
-       .field_bit_size = 10,
+       .description = "meta_prof",
+       .field_bit_size = 3,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "src_property_ptr",
-       .field_bit_size = 10,
+       .description = "ctxt_data",
+       .field_bit_size = 14,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
-       /* class_tid: 1, thor, table: fkb_select.icmpv4 */
+       /* class_tid: 3, , table: fkb_select.l3_l4_wc */
        {
        .description = "l2_cntxt_id.en",
        .field_bit_size = 1,
@@ -25607,9 +40138,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .description = "tl3_prot.en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-       .field_opr1 = {
-       1}
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
        .description = "tl3_fid.en",
@@ -25795,13 +40324,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .description = "l2_dmac.en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
        },
        {
        .description = "l2_smac.en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
        },
        {
        .description = "l2_dt.en",
@@ -25861,7 +40394,9 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .description = "l2_ivv.en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
        },
        {
        .description = "l2_ivt.en",
@@ -25885,7 +40420,9 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .description = "l3_sip.en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
        },
        {
        .description = "l3_sip_selcmp.en",
@@ -25897,7 +40434,9 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .description = "l3_dip.en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
        },
        {
        .description = "l3_dip_selcmp.en",
@@ -26001,7 +40540,9 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .description = "l4_src.en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
        },
        {
        .description = "l4_dst.en",
@@ -26071,15 +40612,72 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
-       /* class_tid: 1, thor, table: profile_tcam.icmpv4 */
+       /* class_tid: 3, , table: profile_tcam.l3_l4.ip */
+       {
+       .description = "wc_key_id",
+       .field_bit_size = 6,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+       .field_opr1 = {
+       (BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_1 >> 8) & 0xff,
+       BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_1 & 0xff}
+       },
+       {
+       .description = "wc_profile_id",
+       .field_bit_size = 8,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+       .field_opr1 = {
+       (BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_1 >> 8) & 0xff,
+       BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_1 & 0xff}
+       },
+       {
+       .description = "wc_search_en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
+       },
+       {
+       .description = "em_key_type",
+       .field_bit_size = 2,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "em_key_id",
+       .field_bit_size = 6,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "em_profile_id",
+       .field_bit_size = 8,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "em_search_en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       {
+       .description = "pl_byp_lkup_en",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       /* class_tid: 3, , table: profile_tcam.l3_l4.nonip */
        {
        .description = "wc_key_id",
        .field_bit_size = 6,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
        .field_opr1 = {
-       (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 >> 8) & 0xff,
-       BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 & 0xff}
+       (BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_1 >> 8) & 0xff,
+       BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_1 & 0xff}
        },
        {
        .description = "wc_profile_id",
@@ -26087,8 +40685,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
        .field_opr1 = {
-       (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,
-       BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff}
+       (BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_1 >> 8) & 0xff,
+       BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_1 & 0xff}
        },
        {
        .description = "wc_search_en",
@@ -26128,7 +40726,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
-       /* class_tid: 1, thor, table: profile_tcam_cache.icmpv4_wr */
+       /* class_tid: 3, , table: profile_tcam_cache.wr */
        {
        .description = "rid",
        .field_bit_size = 32,
@@ -26142,7 +40740,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .description = "profile_tcam_index",
        .field_bit_size = 10,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 & 0xff}
        },
        {
        .description = "em_profile_id",
@@ -26170,11 +40771,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        },
        {
        .description = "flow_sig_id",
-       .field_bit_size = 8,
+       .field_bit_size = 64,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+       .field_opr1 = {
+       (BNXT_ULP_CF_IDX_FLOW_SIG_ID >> 8) & 0xff,
+       BNXT_ULP_CF_IDX_FLOW_SIG_ID & 0xff}
        },
-       /* class_tid: 1, thor, table: wm.icmpv4 */
+       /* class_tid: 3, , table: wm.l3_l4.ipv4 */
        {
        .description = "ctxt_data",
        .field_bit_size = 14,
@@ -26210,7 +40814,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .field_opr1 = {
        1}
        },
-       /* class_tid: 1, thor, table: wm.icmpv4_low */
+       /* class_tid: 3, , table: wm.l3.ipv4 */
        {
        .description = "ctxt_data",
        .field_bit_size = 14,
@@ -26246,585 +40850,336 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .field_opr1 = {
        1}
        },
-       /* class_tid: 1, thor, table: fkb_select.icmpv6 */
-       {
-       .description = "l2_cntxt_id.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-       .field_opr1 = {
-       1}
-       },
-       {
-       .description = "parif.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "spif.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "svif.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "lcos.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "meta.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "rcyc_cnt.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "loopback.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl2_l2type.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl2_dmac.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl2_smac.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl2_dt.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl2_sa.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl2_nvt.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl2_ovp.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl2_ovd.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl2_ovv.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl2_ovt.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl2_ivp.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl2_ivd.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl2_ivv.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl2_ivt.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl2_etype.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl3_l3type.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl3_sip.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
+       /* class_tid: 3, , table: wm.l2 */
        {
-       .description = "tl3_sip_selcmp.en",
-       .field_bit_size = 1,
+       .description = "ctxt_data",
+       .field_bit_size = 14,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tl3_dip.en",
-       .field_bit_size = 1,
+       .description = "meta_prof",
+       .field_bit_size = 3,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tl3_dip_selcmp.en",
-       .field_bit_size = 1,
+       .description = "opcode",
+       .field_bit_size = 3,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tl3_ttl.en",
-       .field_bit_size = 1,
+       .description = "data",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
        },
        {
-       .description = "tl3_prot.en",
-       .field_bit_size = 1,
+       .description = "strength",
+       .field_bit_size = 2,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
        .field_opr1 = {
        1}
        },
+       /* class_tid: 4, , table: int_full_act_record.0 */
        {
-       .description = "tl3_fid.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl3_qos.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl3_ieh_nonext.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl3_ieh_esp.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl3_ieh_auth.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl3_ieh_dest.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl3_ieh_frag.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl3_ieh_rthdr.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl3_ieh_hop.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl3_ieh_1frag.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl3_df.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl3_l3err.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl4_l4type.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl4_src.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl4_dst.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl4_flags.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl4_seq.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl4_pa.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl4_opt.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl4_tcpts.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tl4_err.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tuntype.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tflags.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tids.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "tid.en",
-       .field_bit_size = 1,
+       .description = "sp_rec_ptr",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tctxts.en",
-       .field_bit_size = 1,
+       .description = "encap_ptr",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tctxt.en",
-       .field_bit_size = 1,
+       .description = "mod_rec_ptr",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tqos.en",
-       .field_bit_size = 1,
+       .description = "rsvd1",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "terr.en",
-       .field_bit_size = 1,
+       .description = "rsvd0",
+       .field_bit_size = 8,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l2_l2type.en",
-       .field_bit_size = 1,
+       .description = "decap_func",
+       .field_bit_size = 5,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l2_dmac.en",
-       .field_bit_size = 1,
+       .description = "meter",
+       .field_bit_size = 10,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l2_smac.en",
+       .description = "stats_op",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
        },
        {
-       .description = "l2_dt.en",
-       .field_bit_size = 1,
+       .description = "stats_ptr",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l2_sa.en",
-       .field_bit_size = 1,
+       .description = "vnic_or_vport",
+       .field_bit_size = 11,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+       .field_opr1 = {
+       (BNXT_ULP_CF_IDX_DRV_FUNC_VNIC >> 8) & 0xff,
+       BNXT_ULP_CF_IDX_DRV_FUNC_VNIC & 0xff}
        },
        {
-       .description = "l2_nvt.en",
+       .description = "use_default",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l2_ovp.en",
-       .field_bit_size = 1,
+       .description = "mirror",
+       .field_bit_size = 4,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l2_ovd.en",
+       .description = "cond_copy",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l2_ovv.en",
-       .field_bit_size = 1,
+       .description = "vlan_del_rpt",
+       .field_bit_size = 2,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l2_ovt.en",
+       .description = "drop",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l2_ivp.en",
+       .description = "hit",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l2_ivd.en",
-       .field_bit_size = 1,
+       .description = "type",
+       .field_bit_size = 3,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
        },
+       /* class_tid: 4, , table: port_table.ing_wr_0 */
        {
-       .description = "l2_ivv.en",
-       .field_bit_size = 1,
+       .description = "rid",
+       .field_bit_size = 32,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l2_ivt.en",
-       .field_bit_size = 1,
+       .description = "drv_func.mac",
+       .field_bit_size = 48,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l2_etype.en",
-       .field_bit_size = 1,
+       .description = "drv_func.parent.mac",
+       .field_bit_size = 48,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l3_l3type.en",
-       .field_bit_size = 1,
+       .description = "phy_port",
+       .field_bit_size = 8,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l3_sip.en",
-       .field_bit_size = 1,
+       .description = "default_arec_ptr",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff}
        },
+       /* class_tid: 4, , table: l2_cntxt_tcam.ing_0 */
        {
-       .description = "l3_sip_selcmp.en",
-       .field_bit_size = 1,
+       .description = "prof_func_id",
+       .field_bit_size = 7,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+       .field_opr1 = {
+       (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
+       BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
        },
        {
-       .description = "l3_dip.en",
-       .field_bit_size = 1,
+       .description = "ctxt_meta_prof",
+       .field_bit_size = 3,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l3_dip_selcmp.en",
-       .field_bit_size = 1,
+       .description = "def_ctxt_data",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff}
        },
        {
-       .description = "l3_ttl.en",
-       .field_bit_size = 1,
+       .description = "ctxt_opcode",
+       .field_bit_size = 3,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       ULP_THOR_SYM_CTXT_OPCODE_NORMAL_FLOW}
        },
        {
-       .description = "l3_prot.en",
-       .field_bit_size = 1,
+       .description = "l2_cntxt_id",
+       .field_bit_size = 10,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
        .field_opr1 = {
-       1}
+       (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
        },
        {
-       .description = "l3_fid.en",
-       .field_bit_size = 1,
+       .description = "parif",
+       .field_bit_size = 4,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+       .field_opr1 = {
+       (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,
+       BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff}
        },
+       /* class_tid: 4, , table: l2_cntxt_tcam_cache.ing_wr */
        {
-       .description = "l3_qos.en",
-       .field_bit_size = 1,
+       .description = "rid",
+       .field_bit_size = 32,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_RID & 0xff}
        },
        {
-       .description = "l3_ieh_nonext.en",
-       .field_bit_size = 1,
+       .description = "l2_cntxt_tcam_index",
+       .field_bit_size = 10,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff}
        },
        {
-       .description = "l3_ieh_esp.en",
-       .field_bit_size = 1,
+       .description = "l2_cntxt_id",
+       .field_bit_size = 10,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
        },
        {
-       .description = "l3_ieh_auth.en",
-       .field_bit_size = 1,
+       .description = "src_property_ptr",
+       .field_bit_size = 10,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
+       /* class_tid: 4, , table: parif_def_arec_ptr.ing_0 */
        {
-       .description = "l3_ieh_dest.en",
-       .field_bit_size = 1,
+       .description = "act_rec_ptr",
+       .field_bit_size = 32,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff}
        },
+       /* class_tid: 4, , table: parif_def_err_arec_ptr.ing_0 */
        {
-       .description = "l3_ieh_frag.en",
-       .field_bit_size = 1,
+       .description = "act_rec_ptr",
+       .field_bit_size = 32,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff}
        },
+       /* class_tid: 4, , table: int_full_act_record.egr_0 */
        {
-       .description = "l3_ieh_rthdr.en",
-       .field_bit_size = 1,
+       .description = "sp_rec_ptr",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l3_ieh_hop.en",
-       .field_bit_size = 1,
+       .description = "encap_ptr",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l3_ieh_1frag.en",
-       .field_bit_size = 1,
+       .description = "mod_rec_ptr",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l3_df.en",
-       .field_bit_size = 1,
+       .description = "rsvd1",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l3_l3err.en",
-       .field_bit_size = 1,
+       .description = "rsvd0",
+       .field_bit_size = 8,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l4_l4type.en",
-       .field_bit_size = 1,
+       .description = "decap_func",
+       .field_bit_size = 5,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l4_src.en",
-       .field_bit_size = 1,
+       .description = "meter",
+       .field_bit_size = 10,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l4_dst.en",
+       .description = "stats_op",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
@@ -26832,123 +41187,155 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        1}
        },
        {
-       .description = "l4_flags.en",
-       .field_bit_size = 1,
+       .description = "stats_ptr",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l4_seq.en",
-       .field_bit_size = 1,
+       .description = "vnic_or_vport",
+       .field_bit_size = 11,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+       .field_opr1 = {
+       (BNXT_ULP_CF_IDX_PHY_PORT_VPORT >> 8) & 0xff,
+       BNXT_ULP_CF_IDX_PHY_PORT_VPORT & 0xff}
        },
        {
-       .description = "l4_ack.en",
+       .description = "use_default",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l4_win.en",
-       .field_bit_size = 1,
+       .description = "mirror",
+       .field_bit_size = 4,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l4_pa.en",
+       .description = "cond_copy",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l4_opt.en",
-       .field_bit_size = 1,
+       .description = "vlan_del_rpt",
+       .field_bit_size = 2,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l4_tcpts.en",
+       .description = "drop",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l4_tsval.en",
+       .description = "hit",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l4_txecr.en",
-       .field_bit_size = 1,
+       .description = "type",
+       .field_bit_size = 3,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
+       },
+       /* class_tid: 4, , table: port_table.egr_wr_0 */
+       {
+       .description = "rid",
+       .field_bit_size = 32,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l4_err.en",
-       .field_bit_size = 1,
+       .description = "drv_func.mac",
+       .field_bit_size = 48,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
-       /* class_tid: 1, thor, table: profile_tcam.icmpv6 */
        {
-       .description = "wc_key_id",
-       .field_bit_size = 6,
+       .description = "drv_func.parent.mac",
+       .field_bit_size = 48,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
-       .field_opr1 = {
-       (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 >> 8) & 0xff,
-       BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 & 0xff}
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "wc_profile_id",
+       .description = "phy_port",
        .field_bit_size = 8,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
-       .field_opr1 = {
-       (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,
-       BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff}
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "wc_search_en",
-       .field_bit_size = 1,
+       .description = "default_arec_ptr",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
        .field_opr1 = {
-       1}
+       (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
        },
+       /* class_tid: 4, , table: ilt_tbl.egr_vfr */
        {
-       .description = "em_key_type",
-       .field_bit_size = 2,
+       .description = "ilt_destination",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "em_key_id",
-       .field_bit_size = 6,
+       .description = "act_rec_ptr",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "em_profile_id",
-       .field_bit_size = 8,
+       .description = "fwd_op",
+       .field_bit_size = 2,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       ULP_THOR_SYM_FWD_OP_BYPASS_LKUP}
        },
        {
-       .description = "em_search_en",
+       .description = "en_ilt_dest",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "pl_byp_lkup_en",
+       .description = "en_bd_action",
+       .field_bit_size = 1,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
+       },
+       {
+       .description = "en_bd_meta",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
-       /* class_tid: 1, thor, table: profile_tcam_cache.icmpv6_wr */
+       {
+       .description = "parif",
+       .field_bit_size = 4,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+       .field_opr1 = {
+       (BNXT_ULP_CF_IDX_DRV_FUNC_PARIF >> 8) & 0xff,
+       BNXT_ULP_CF_IDX_DRV_FUNC_PARIF & 0xff}
+       },
+       {
+       .description = "reserved",
+       .field_bit_size = 23,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       },
+       /* class_tid: 4, , table: l2_cntxt_tcam_cache.egr_wr_vfr */
        {
        .description = "rid",
        .field_bit_size = 32,
@@ -26959,956 +41346,1023 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        BNXT_ULP_RF_IDX_RID & 0xff}
        },
        {
-       .description = "profile_tcam_index",
+       .description = "l2_cntxt_tcam_index",
        .field_bit_size = 10,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "em_profile_id",
-       .field_bit_size = 8,
+       .description = "l2_cntxt_id",
+       .field_bit_size = 10,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "em_key_id",
-       .field_bit_size = 8,
+       .description = "src_property_ptr",
+       .field_bit_size = 10,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
+       /* class_tid: 4, , table: l2_cntxt_tcam.egr_0 */
        {
-       .description = "wc_profile_id",
-       .field_bit_size = 8,
+       .description = "prof_func_id",
+       .field_bit_size = 7,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+       .field_opr1 = {
+       (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
+       BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
        },
        {
-       .description = "wc_key_id",
-       .field_bit_size = 8,
+       .description = "ctxt_meta_prof",
+       .field_bit_size = 3,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "flow_sig_id",
-       .field_bit_size = 8,
+       .description = "def_ctxt_data",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
        },
-       /* class_tid: 1, thor, table: wm.icmpv6 */
        {
-       .description = "ctxt_data",
-       .field_bit_size = 14,
+       .description = "ctxt_opcode",
+       .field_bit_size = 3,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       ULP_THOR_SYM_CTXT_OPCODE_NORMAL_FLOW}
        },
        {
-       .description = "meta_prof",
-       .field_bit_size = 3,
+       .description = "l2_cntxt_id",
+       .field_bit_size = 10,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
        },
        {
-       .description = "opcode",
-       .field_bit_size = 3,
+       .description = "parif",
+       .field_bit_size = 4,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+       .field_opr1 = {
+       (BNXT_ULP_CF_IDX_DRV_FUNC_PARIF >> 8) & 0xff,
+       BNXT_ULP_CF_IDX_DRV_FUNC_PARIF & 0xff}
        },
+       /* class_tid: 4, , table: l2_cntxt_tcam_cache.egr_wr */
        {
-       .description = "data",
-       .field_bit_size = 16,
+       .description = "rid",
+       .field_bit_size = 32,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_RF,
        .field_opr1 = {
-       (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
-       BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
+       (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_RID & 0xff}
        },
        {
-       .description = "strength",
-       .field_bit_size = 2,
+       .description = "l2_cntxt_tcam_index",
+       .field_bit_size = 10,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
        .field_opr1 = {
-       1}
+       (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff}
        },
-       /* class_tid: 1, thor, table: wm.icmpv6_low */
        {
-       .description = "ctxt_data",
-       .field_bit_size = 14,
+       .description = "l2_cntxt_id",
+       .field_bit_size = 10,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
        },
        {
-       .description = "meta_prof",
-       .field_bit_size = 3,
+       .description = "src_property_ptr",
+       .field_bit_size = 10,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
+       /* class_tid: 4, , table: parif_def_arec_ptr.egr_0 */
        {
-       .description = "opcode",
-       .field_bit_size = 3,
+       .description = "act_rec_ptr",
+       .field_bit_size = 32,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
        },
+       /* class_tid: 4, , table: parif_def_err_arec_ptr.egr_0 */
        {
-       .description = "data",
-       .field_bit_size = 16,
+       .description = "act_rec_ptr",
+       .field_bit_size = 32,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_RF,
        .field_opr1 = {
        (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
        BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
        },
+       /* class_tid: 5, , table: int_full_act_record.loopback */
        {
-       .description = "strength",
-       .field_bit_size = 2,
+       .description = "sp_rec_ptr",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-       .field_opr1 = {
-       1}
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
-       /* class_tid: 1, thor, table: fkb_select.l3_l4_wm */
        {
-       .description = "l2_cntxt_id.en",
-       .field_bit_size = 1,
+       .description = "encap_ptr",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-       .field_opr1 = {
-       1}
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "parif.en",
-       .field_bit_size = 1,
+       .description = "mod_rec_ptr",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "spif.en",
-       .field_bit_size = 1,
+       .description = "rsvd1",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "svif.en",
-       .field_bit_size = 1,
+       .description = "rsvd0",
+       .field_bit_size = 8,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "lcos.en",
-       .field_bit_size = 1,
+       .description = "decap_func",
+       .field_bit_size = 5,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "meta.en",
-       .field_bit_size = 1,
+       .description = "meter",
+       .field_bit_size = 10,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "rcyc_cnt.en",
+       .description = "stats_op",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
        },
        {
-       .description = "loopback.en",
-       .field_bit_size = 1,
+       .description = "stats_ptr",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tl2_l2type.en",
-       .field_bit_size = 1,
+       .description = "vnic_or_vport",
+       .field_bit_size = 11,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       (ULP_THOR_SYM_LOOPBACK_PORT >> 8) & 0xff,
+       ULP_THOR_SYM_LOOPBACK_PORT & 0xff}
        },
        {
-       .description = "tl2_dmac.en",
+       .description = "use_default",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tl2_smac.en",
-       .field_bit_size = 1,
+       .description = "mirror",
+       .field_bit_size = 4,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tl2_dt.en",
+       .description = "cond_copy",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tl2_sa.en",
-       .field_bit_size = 1,
+       .description = "vlan_del_rpt",
+       .field_bit_size = 2,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tl2_nvt.en",
+       .description = "drop",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tl2_ovp.en",
+       .description = "hit",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tl2_ovd.en",
-       .field_bit_size = 1,
+       .description = "type",
+       .field_bit_size = 3,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
        },
+       /* class_tid: 5, , table: port_table.egr_wr */
        {
-       .description = "tl2_ovv.en",
-       .field_bit_size = 1,
+       .description = "rid",
+       .field_bit_size = 32,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tl2_ovt.en",
-       .field_bit_size = 1,
+       .description = "drv_func.mac",
+       .field_bit_size = 48,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tl2_ivp.en",
-       .field_bit_size = 1,
+       .description = "drv_func.parent.mac",
+       .field_bit_size = 48,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}
+       },
+       {
+       .description = "phy_port",
+       .field_bit_size = 8,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tl2_ivd.en",
-       .field_bit_size = 1,
+       .description = "default_arec_ptr",
+       .field_bit_size = 16,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+       .field_opr1 = {
+       (BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR >> 8) & 0xff,
+       BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR & 0xff}
+       },
+       /* class_tid: 5, , table: l2_cntxt_tcam.vf_egr */
+       {
+       .description = "prof_func_id",
+       .field_bit_size = 7,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+       .field_opr1 = {
+       (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
+       BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
+       },
+       {
+       .description = "ctxt_meta_prof",
+       .field_bit_size = 3,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tl2_ivv.en",
-       .field_bit_size = 1,
+       .description = "def_ctxt_data",
+       .field_bit_size = 16,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+       .field_opr1 = {
+       (BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR >> 8) & 0xff,
+       BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR & 0xff}
+       },
+       {
+       .description = "ctxt_opcode",
+       .field_bit_size = 3,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       ULP_THOR_SYM_CTXT_OPCODE_NORMAL_FLOW}
+       },
+       {
+       .description = "l2_cntxt_id",
+       .field_bit_size = 10,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
+       },
+       {
+       .description = "parif",
+       .field_bit_size = 4,
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       ULP_THOR_SYM_LOOPBACK_PARIF}
+       },
+       /* class_tid: 5, , table: l2_cntxt_tcam_cache.vf_egr_wr */
+       {
+       .description = "rid",
+       .field_bit_size = 32,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_RID & 0xff}
        },
        {
-       .description = "tl2_ivt.en",
-       .field_bit_size = 1,
+       .description = "l2_cntxt_tcam_index",
+       .field_bit_size = 10,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff}
        },
        {
-       .description = "tl2_etype.en",
-       .field_bit_size = 1,
+       .description = "l2_cntxt_id",
+       .field_bit_size = 10,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
        },
        {
-       .description = "tl3_l3type.en",
-       .field_bit_size = 1,
+       .description = "src_property_ptr",
+       .field_bit_size = 10,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
+       /* class_tid: 5, , table: parif_def_arec_ptr.vf_egr */
        {
-       .description = "tl3_sip.en",
-       .field_bit_size = 1,
+       .description = "act_rec_ptr",
+       .field_bit_size = 32,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+       .field_opr1 = {
+       (BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR >> 8) & 0xff,
+       BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR & 0xff}
        },
+       /* class_tid: 5, , table: parif_def_err_arec_ptr.vf_egr */
        {
-       .description = "tl3_sip_selcmp.en",
-       .field_bit_size = 1,
+       .description = "act_rec_ptr",
+       .field_bit_size = 32,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+       .field_opr1 = {
+       (BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR >> 8) & 0xff,
+       BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR & 0xff}
        },
+       /* class_tid: 5, , table: int_full_act_record.vf_ing */
        {
-       .description = "tl3_dip.en",
-       .field_bit_size = 1,
+       .description = "sp_rec_ptr",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tl3_dip_selcmp.en",
-       .field_bit_size = 1,
+       .description = "encap_ptr",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tl3_ttl.en",
-       .field_bit_size = 1,
+       .description = "mod_rec_ptr",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tl3_prot.en",
-       .field_bit_size = 1,
+       .description = "rsvd1",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-       .field_opr1 = {
-       1}
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tl3_fid.en",
-       .field_bit_size = 1,
+       .description = "rsvd0",
+       .field_bit_size = 8,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tl3_qos.en",
-       .field_bit_size = 1,
+       .description = "decap_func",
+       .field_bit_size = 5,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tl3_ieh_nonext.en",
-       .field_bit_size = 1,
+       .description = "meter",
+       .field_bit_size = 10,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tl3_ieh_esp.en",
+       .description = "stats_op",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
        },
        {
-       .description = "tl3_ieh_auth.en",
-       .field_bit_size = 1,
+       .description = "stats_ptr",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tl3_ieh_dest.en",
-       .field_bit_size = 1,
+       .description = "vnic_or_vport",
+       .field_bit_size = 11,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+       .field_opr1 = {
+       (BNXT_ULP_CF_IDX_DRV_FUNC_VNIC >> 8) & 0xff,
+       BNXT_ULP_CF_IDX_DRV_FUNC_VNIC & 0xff}
        },
        {
-       .description = "tl3_ieh_frag.en",
+       .description = "use_default",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tl3_ieh_rthdr.en",
-       .field_bit_size = 1,
+       .description = "mirror",
+       .field_bit_size = 4,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tl3_ieh_hop.en",
+       .description = "cond_copy",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tl3_ieh_1frag.en",
-       .field_bit_size = 1,
+       .description = "vlan_del_rpt",
+       .field_bit_size = 2,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tl3_df.en",
+       .description = "drop",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tl3_l3err.en",
+       .description = "hit",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tl4_l4type.en",
-       .field_bit_size = 1,
+       .description = "type",
+       .field_bit_size = 3,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
        },
+       /* class_tid: 5, , table: ilt_tbl.vf_ing */
        {
-       .description = "tl4_src.en",
-       .field_bit_size = 1,
+       .description = "ilt_destination",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tl4_dst.en",
-       .field_bit_size = 1,
+       .description = "act_rec_ptr",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
        },
        {
-       .description = "tl4_flags.en",
-       .field_bit_size = 1,
+       .description = "fwd_op",
+       .field_bit_size = 2,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       ULP_THOR_SYM_FWD_OP_BYPASS_LKUP}
        },
        {
-       .description = "tl4_seq.en",
+       .description = "en_ilt_dest",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tl4_pa.en",
+       .description = "en_bd_action",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tl4_opt.en",
+       .description = "en_bd_meta",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tl4_tcpts.en",
-       .field_bit_size = 1,
+       .description = "parif",
+       .field_bit_size = 4,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tl4_err.en",
-       .field_bit_size = 1,
+       .description = "reserved",
+       .field_bit_size = 23,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
+       /* class_tid: 5, , table: ilt_tbl.vfr_egr */
        {
-       .description = "tuntype.en",
-       .field_bit_size = 1,
+       .description = "ilt_destination",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tflags.en",
-       .field_bit_size = 1,
+       .description = "act_rec_ptr",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tids.en",
-       .field_bit_size = 1,
+       .description = "fwd_op",
+       .field_bit_size = 2,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       ULP_THOR_SYM_FWD_OP_BYPASS_LKUP}
        },
        {
-       .description = "tid.en",
+       .description = "en_ilt_dest",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tctxts.en",
+       .description = "en_bd_action",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
        },
        {
-       .description = "tctxt.en",
+       .description = "en_bd_meta",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "tqos.en",
-       .field_bit_size = 1,
+       .description = "parif",
+       .field_bit_size = 4,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+       .field_opr1 = {
+       (BNXT_ULP_CF_IDX_DRV_FUNC_PARIF >> 8) & 0xff,
+       BNXT_ULP_CF_IDX_DRV_FUNC_PARIF & 0xff}
        },
        {
-       .description = "terr.en",
-       .field_bit_size = 1,
+       .description = "reserved",
+       .field_bit_size = 23,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
+       /* class_tid: 5, , table: l2_cntxt_tcam_cache.vfr_wr_egr0 */
        {
-       .description = "l2_l2type.en",
-       .field_bit_size = 1,
+       .description = "rid",
+       .field_bit_size = 32,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_RID & 0xff}
        },
        {
-       .description = "l2_dmac.en",
-       .field_bit_size = 1,
+       .description = "l2_cntxt_tcam_index",
+       .field_bit_size = 10,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l2_smac.en",
-       .field_bit_size = 1,
+       .description = "l2_cntxt_id",
+       .field_bit_size = 10,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l2_dt.en",
-       .field_bit_size = 1,
+       .description = "src_property_ptr",
+       .field_bit_size = 10,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
+       /* class_tid: 5, , table: metadata_record.vfr_egr */
        {
-       .description = "l2_sa.en",
-       .field_bit_size = 1,
+       .description = "prof_meta_mask",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+       .field_opr1 = {
+               0xff,
+               0xff}
        },
+       /* class_tid: 5, , table: mod_record.vfr_egr */
        {
-       .description = "l2_nvt.en",
+       .description = "metadata_en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
        },
        {
-       .description = "l2_ovp.en",
+       .description = "rem_ovlan",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l2_ovd.en",
+       .description = "rem_ivlan",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l2_ovv.en",
+       .description = "rep_add_ivlan",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l2_ovt.en",
+       .description = "rep_add_ovlan",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l2_ivp.en",
+       .description = "ttl_update",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l2_ivd.en",
+       .description = "tun_md_en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l2_ivv.en",
+       .description = "reserved_en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l2_ivt.en",
+       .description = "l2_dmac_en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l2_etype.en",
+       .description = "l2_smac_en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l3_l3type.en",
+       .description = "l3_sip_ipv6_en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l3_sip.en",
+       .description = "l3_dip_ipv6_en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l3_sip_selcmp.en",
+       .description = "l3_sip_ipv4_en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l3_dip.en",
+       .description = "l3_dip_ipv4_en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l3_dip_selcmp.en",
+       .description = "l4_sport_en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l3_ttl.en",
+       .description = "l4_dport_en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l3_prot.en",
-       .field_bit_size = 1,
+       .description = "metadata_data",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CF,
        .field_opr1 = {
-       1}
-       },
-       {
-       .description = "l3_fid.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
+       BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
        },
        {
-       .description = "l3_qos.en",
-       .field_bit_size = 1,
+       .description = "metadata_rsvd",
+       .field_bit_size = 10,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l3_ieh_nonext.en",
-       .field_bit_size = 1,
+       .description = "metadata_op",
+       .field_bit_size = 2,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "l3_ieh_esp.en",
-       .field_bit_size = 1,
+       .description = "metadata_prof",
+       .field_bit_size = 4,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+       .field_opr1 = {
+       (BNXT_ULP_GLB_RF_IDX_GLB_METADATA_PROF_0 >> 8) & 0xff,
+       BNXT_ULP_GLB_RF_IDX_GLB_METADATA_PROF_0 & 0xff}
        },
        {
-       .description = "l3_ieh_auth.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .description = "ivlan_tpid",
+       .field_bit_size = 16,
+       .field_opc = BNXT_ULP_FIELD_OPC_SKIP
        },
        {
-       .description = "l3_ieh_dest.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .description = "ivlan_pri",
+       .field_bit_size = 3,
+       .field_opc = BNXT_ULP_FIELD_OPC_SKIP
        },
        {
-       .description = "l3_ieh_frag.en",
+       .description = "ivlan_de",
        .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_opc = BNXT_ULP_FIELD_OPC_SKIP
        },
        {
-       .description = "l3_ieh_rthdr.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .description = "ivlan_vid",
+       .field_bit_size = 12,
+       .field_opc = BNXT_ULP_FIELD_OPC_SKIP
        },
        {
-       .description = "l3_ieh_hop.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .description = "ovlan_tpid",
+       .field_bit_size = 16,
+       .field_opc = BNXT_ULP_FIELD_OPC_SKIP
        },
        {
-       .description = "l3_ieh_1frag.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .description = "ovlan_pri",
+       .field_bit_size = 3,
+       .field_opc = BNXT_ULP_FIELD_OPC_SKIP
        },
        {
-       .description = "l3_df.en",
+       .description = "ovlan_de",
        .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_opc = BNXT_ULP_FIELD_OPC_SKIP
        },
        {
-       .description = "l3_l3err.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .description = "ovlan_vid",
+       .field_bit_size = 12,
+       .field_opc = BNXT_ULP_FIELD_OPC_SKIP
        },
        {
-       .description = "l4_l4type.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .description = "alt_pfid",
+       .field_bit_size = 4,
+       .field_opc = BNXT_ULP_FIELD_OPC_SKIP
        },
        {
-       .description = "l4_src.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .description = "alt_vid",
+       .field_bit_size = 12,
+       .field_opc = BNXT_ULP_FIELD_OPC_SKIP
        },
        {
-       .description = "l4_dst.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-       .field_opr1 = {
-       1}
+       .description = "ttl_rsvd",
+       .field_bit_size = 12,
+       .field_opc = BNXT_ULP_FIELD_OPC_SKIP
        },
        {
-       .description = "l4_flags.en",
+       .description = "ttl_tl3_dec",
        .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_opc = BNXT_ULP_FIELD_OPC_SKIP
        },
        {
-       .description = "l4_seq.en",
+       .description = "ttl_il3_dec",
        .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_opc = BNXT_ULP_FIELD_OPC_SKIP
        },
        {
-       .description = "l4_ack.en",
+       .description = "ttl_tl3_rdir",
        .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_opc = BNXT_ULP_FIELD_OPC_SKIP
        },
        {
-       .description = "l4_win.en",
+       .description = "ttl_il3_rdir",
        .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_opc = BNXT_ULP_FIELD_OPC_SKIP
        },
        {
-       .description = "l4_pa.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .description = "tun_new_prot",
+       .field_bit_size = 16,
+       .field_opc = BNXT_ULP_FIELD_OPC_SKIP
        },
        {
-       .description = "l4_opt.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .description = "tun_ex_prot",
+       .field_bit_size = 16,
+       .field_opc = BNXT_ULP_FIELD_OPC_SKIP
        },
        {
-       .description = "l4_tcpts.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .description = "tun_mv",
+       .field_bit_size = 16,
+       .field_opc = BNXT_ULP_FIELD_OPC_SKIP
        },
        {
-       .description = "l4_tsval.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .description = "reserved",
+       .field_bit_size = 0,
+       .field_opc = BNXT_ULP_FIELD_OPC_SKIP
        },
        {
-       .description = "l4_txecr.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .description = "l2_dmac",
+       .field_bit_size = 48,
+       .field_opc = BNXT_ULP_FIELD_OPC_SKIP
        },
        {
-       .description = "l4_err.en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .description = "l2_smac",
+       .field_bit_size = 48,
+       .field_opc = BNXT_ULP_FIELD_OPC_SKIP
        },
-       /* class_tid: 1, thor, table: profile_tcam.l3_l4 */
        {
-       .description = "wc_key_id",
-       .field_bit_size = 6,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
-       .field_opr1 = {
-       (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 >> 8) & 0xff,
-       BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 & 0xff}
+       .description = "l3_sip_ipv6",
+       .field_bit_size = 128,
+       .field_opc = BNXT_ULP_FIELD_OPC_SKIP
        },
        {
-       .description = "wc_profile_id",
-       .field_bit_size = 8,
-       .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_IPV4 >> 56) & 0xff,
-       ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
-       ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
-       ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
-       ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
-       ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
-       ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
-       (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
-       .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
-       .field_opr2 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff},
-       .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
-       .field_opr3 = {
-       (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1 >> 8) & 0xff,
-       BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1 & 0xff}
+       .description = "l3_dip_ipv6",
+       .field_bit_size = 128,
+       .field_opc = BNXT_ULP_FIELD_OPC_SKIP
        },
        {
-       .description = "wc_search_en",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-       .field_opr1 = {
-       1}
+       .description = "l3_sip_ipv4",
+       .field_bit_size = 32,
+       .field_opc = BNXT_ULP_FIELD_OPC_SKIP
        },
        {
-       .description = "em_key_type",
-       .field_bit_size = 2,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .description = "l3_dip_ipv4",
+       .field_bit_size = 32,
+       .field_opc = BNXT_ULP_FIELD_OPC_SKIP
        },
        {
-       .description = "em_key_id",
-       .field_bit_size = 6,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .description = "l4_sport",
+       .field_bit_size = 16,
+       .field_opc = BNXT_ULP_FIELD_OPC_SKIP
        },
        {
-       .description = "em_profile_id",
-       .field_bit_size = 8,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .description = "l4_dport",
+       .field_bit_size = 16,
+       .field_opc = BNXT_ULP_FIELD_OPC_SKIP
        },
+       /* class_tid: 5, , table: int_full_act_record.vfr_egr */
        {
-       .description = "em_search_en",
-       .field_bit_size = 1,
+       .description = "sp_rec_ptr",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "pl_byp_lkup_en",
-       .field_bit_size = 1,
+       .description = "encap_ptr",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
-       /* class_tid: 1, thor, table: profile_tcam_cache.wr */
        {
-       .description = "rid",
-       .field_bit_size = 32,
+       .description = "mod_rec_ptr",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_RF,
        .field_opr1 = {
-       (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
-       BNXT_ULP_RF_IDX_RID & 0xff}
+       (BNXT_ULP_RF_IDX_MODIFY_PTR >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_MODIFY_PTR & 0xff}
        },
        {
-       .description = "profile_tcam_index",
-       .field_bit_size = 10,
+       .description = "rsvd1",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "em_profile_id",
+       .description = "rsvd0",
        .field_bit_size = 8,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "em_key_id",
-       .field_bit_size = 8,
+       .description = "decap_func",
+       .field_bit_size = 5,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "wc_profile_id",
-       .field_bit_size = 8,
+       .description = "meter",
+       .field_bit_size = 10,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "wc_key_id",
-       .field_bit_size = 8,
+       .description = "stats_op",
+       .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
        },
        {
-       .description = "flow_sig_id",
-       .field_bit_size = 8,
+       .description = "stats_ptr",
+       .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
-       /* class_tid: 1, thor, table: wm.l4 */
        {
-       .description = "ctxt_data",
-       .field_bit_size = 14,
+       .description = "vnic_or_vport",
+       .field_bit_size = 11,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       (ULP_THOR_SYM_LOOPBACK_PORT >> 8) & 0xff,
+       ULP_THOR_SYM_LOOPBACK_PORT & 0xff}
        },
        {
-       .description = "meta_prof",
-       .field_bit_size = 3,
+       .description = "use_default",
+       .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "opcode",
-       .field_bit_size = 3,
+       .description = "mirror",
+       .field_bit_size = 4,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "data",
-       .field_bit_size = 16,
+       .description = "cond_copy",
+       .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
-       .field_opr1 = {
-       (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
-       BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "strength",
+       .description = "vlan_del_rpt",
        .field_bit_size = 2,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-       .field_opr1 = {
-       1}
-       },
-       /* class_tid: 1, thor, table: wm.l4_low */
-       {
-       .description = "ctxt_data",
-       .field_bit_size = 14,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "meta_prof",
-       .field_bit_size = 3,
+       .description = "drop",
+       .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "opcode",
-       .field_bit_size = 3,
+       .description = "hit",
+       .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "data",
-       .field_bit_size = 16,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
-       .field_opr1 = {
-       (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
-       BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
-       },
-       {
-       .description = "strength",
-       .field_bit_size = 2,
+       .description = "type",
+       .field_bit_size = 3,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
        .field_opr1 = {
        1}
        },
-       /* class_tid: 2, thor, table: l2_cntxt_tcam.0 */
+       /* class_tid: 5, , table: l2_cntxt_tcam.vfr_ing0 */
        {
        .description = "prof_func_id",
        .field_bit_size = 7,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
        .field_opr1 = {
-       (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,
-       BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}
+       (BNXT_ULP_GLB_RF_IDX_GLB_VFR_PROF_FUNC_0 >> 8) & 0xff,
+       BNXT_ULP_GLB_RF_IDX_GLB_VFR_PROF_FUNC_0 & 0xff}
        },
        {
        .description = "ctxt_meta_prof",
@@ -27920,10 +42374,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .description = "def_ctxt_data",
        .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
-       .field_opr1 = {
-       (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff,
-       BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff}
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
        .description = "ctxt_opcode",
@@ -27936,19 +42387,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        {
        .description = "l2_cntxt_id",
        .field_bit_size = 10,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
-       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
-       .field_opr1 = {
-       (BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,
-       BNXT_ULP_RF_IDX_PHY_PORT & 0xff},
-       .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
-       .field_opr2 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},
-       .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
-       .field_opr3 = {
-       (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,
-       BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}
+       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
        .description = "parif",
@@ -27956,45 +42396,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_CF,
        .field_opr1 = {
-       (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,
-       BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff}
-       },
-       /* class_tid: 2, thor, table: mac_addr_cache.wr */
-       {
-       .description = "rid",
-       .field_bit_size = 32,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
-       .field_opr1 = {
-       (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
-       BNXT_ULP_RF_IDX_RID & 0xff}
-       },
-       {
-       .description = "l2_cntxt_tcam_index",
-       .field_bit_size = 10,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "l2_cntxt_id",
-       .field_bit_size = 10,
-       .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_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       (BNXT_ULP_CF_IDX_DRV_FUNC_PARIF >> 8) & 0xff,
+       BNXT_ULP_CF_IDX_DRV_FUNC_PARIF & 0xff}
        },
-       /* class_tid: 2, thor, table: fkb_select.l3_l4_wm */
+       /* class_tid: 5, , table: fkb_select.vfr_em */
        {
        .description = "l2_cntxt_id.en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-       .field_opr1 = {
-       1}
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
        .description = "parif.en",
@@ -28024,7 +42434,9 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .description = "meta.en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
        },
        {
        .description = "rcyc_cnt.en",
@@ -28168,9 +42580,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .description = "tl3_prot.en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-       .field_opr1 = {
-       1}
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
        .description = "tl3_fid.en",
@@ -28476,9 +42886,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .description = "l3_prot.en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-       .field_opr1 = {
-       1}
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
        .description = "l3_fid.en",
@@ -28568,9 +42976,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .description = "l4_dst.en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-       .field_opr1 = {
-       1}
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
        .description = "l4_flags.en",
@@ -28632,46 +43038,24 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
-       /* class_tid: 2, thor, table: profile_tcam.l3_l4 */
+       /* class_tid: 5, , table: profile_tcam.vfr_ing0 */
        {
        .description = "wc_key_id",
        .field_bit_size = 6,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
-       .field_opr1 = {
-       (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 >> 8) & 0xff,
-       BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 & 0xff}
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
        .description = "wc_profile_id",
        .field_bit_size = 8,
-       .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_IPV4 >> 56) & 0xff,
-       ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
-       ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
-       ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
-       ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
-       ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
-       ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
-       (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
-       .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
-       .field_opr2 = {
-               (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,
-               BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff},
-       .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
-       .field_opr3 = {
-       (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1 >> 8) & 0xff,
-       BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1 & 0xff}
+       .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_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-       .field_opr1 = {
-       1}
+       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
        .description = "em_key_type",
@@ -28683,19 +43067,27 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .description = "em_key_id",
        .field_bit_size = 6,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+       .field_opr1 = {
+       (BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_KEY_ID_0 >> 8) & 0xff,
+       BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_KEY_ID_0 & 0xff}
        },
        {
        .description = "em_profile_id",
        .field_bit_size = 8,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+       .field_opr1 = {
+       (BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_PROF_ID_0 >> 8) & 0xff,
+       BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_PROF_ID_0 & 0xff}
        },
        {
        .description = "em_search_en",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
        },
        {
        .description = "pl_byp_lkup_en",
@@ -28703,7 +43095,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
-       /* class_tid: 2, thor, table: profile_tcam_cache.wr */
+       /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_wr_vfr */
        {
        .description = "rid",
        .field_bit_size = 32,
@@ -28714,78 +43106,24 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        BNXT_ULP_RF_IDX_RID & 0xff}
        },
        {
-       .description = "profile_tcam_index",
+       .description = "l2_cntxt_tcam_index",
        .field_bit_size = 10,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "em_profile_id",
-       .field_bit_size = 8,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "em_key_id",
-       .field_bit_size = 8,
-       .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_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "wc_key_id",
-       .field_bit_size = 8,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "flow_sig_id",
-       .field_bit_size = 8,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       /* class_tid: 2, thor, table: wm.l4 */
-       {
-       .description = "ctxt_data",
-       .field_bit_size = 14,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "meta_prof",
-       .field_bit_size = 3,
+       .description = "l2_cntxt_id",
+       .field_bit_size = 10,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "opcode",
-       .field_bit_size = 3,
+       .description = "src_property_ptr",
+       .field_bit_size = 10,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
-       {
-       .description = "data",
-       .field_bit_size = 16,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
-       .field_opr1 = {
-       (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
-       BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
-       },
-       {
-       .description = "strength",
-       .field_bit_size = 2,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-       .field_opr1 = {
-       1}
-       },
-       /* class_tid: 4, thor, table: int_full_act_record.0 */
+       /* class_tid: 5, , table: int_full_act_record.vfr_ing0 */
        {
        .description = "sp_rec_ptr",
        .field_bit_size = 16,
@@ -28832,7 +43170,9 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .description = "stats_op",
        .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+       .field_opr1 = {
+       1}
        },
        {
        .description = "stats_ptr",
@@ -28844,10 +43184,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .description = "vnic_or_vport",
        .field_bit_size = 11,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CF,
        .field_opr1 = {
-               (BNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_VNIC >> 8) & 0xff,
-               BNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_VNIC & 0xff}
+       (BNXT_ULP_CF_IDX_VF_FUNC_VNIC >> 8) & 0xff,
+       BNXT_ULP_CF_IDX_VF_FUNC_VNIC & 0xff}
        },
        {
        .description = "use_default",
@@ -28893,214 +43233,143 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
        .field_opr1 = {
        1}
        },
-       /* class_tid: 4, thor, table: port_table.wr_0 */
+       /* class_tid: 5, , table: em.vfr.0 */
        {
-       .description = "rid",
-       .field_bit_size = 32,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "drv_func.mac",
-       .field_bit_size = 48,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "drv_func.parent.mac",
-       .field_bit_size = 48,
+       .description = "valid",
+       .field_bit_size = 1,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
        .field_opr1 = {
-       (BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,
-       BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}
-       },
-       {
-       .description = "phy_port",
-       .field_bit_size = 8,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       1}
        },
        {
-       .description = "default_arec_ptr",
-       .field_bit_size = 16,
+       .description = "strength",
+       .field_bit_size = 2,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
        .field_opr1 = {
-       (BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_0 >> 8) & 0xff,
-       BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_0 & 0xff}
-       },
-       /* class_tid: 4, thor, table: int_full_act_record.1 */
-       {
-       .description = "sp_rec_ptr",
-       .field_bit_size = 16,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "encap_ptr",
-       .field_bit_size = 16,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "mod_rec_ptr",
-       .field_bit_size = 16,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       3}
        },
        {
-       .description = "rsvd1",
+       .description = "data",
        .field_bit_size = 16,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "rsvd0",
-       .field_bit_size = 8,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "decap_func",
-       .field_bit_size = 5,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+       .field_opr1 = {
+       (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
+       BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
        },
        {
-       .description = "meter",
-       .field_bit_size = 10,
+       .description = "opcode",
+       .field_bit_size = 3,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "stats_op",
-       .field_bit_size = 1,
+       .description = "meta_prof",
+       .field_bit_size = 3,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
        },
        {
-       .description = "stats_ptr",
-       .field_bit_size = 16,
+       .description = "ctxt_data",
+       .field_bit_size = 14,
        .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
        .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-       },
-       {
-       .description = "vnic_or_vport",
-       .field_bit_size = 11,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
-       .field_opr1 = {
-               (BNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_VNIC >> 8) & 0xff,
-               BNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_VNIC & 0xff}
-       },
+       }
+};
+
+struct bnxt_ulp_mapper_ident_info ulp_thor_class_ident_list[] = {
+       /* class_tid: 1, , table: port_table.rd */
        {
-       .description = "use_default",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .description = "default_arec_ptr",
+       .regfile_idx = BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR,
+       .ident_bit_size = 16,
+       .ident_bit_pos = 136
        },
        {
-       .description = "mirror",
-       .field_bit_size = 4,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .description = "drv_func.parent.mac",
+       .regfile_idx = BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC,
+       .ident_bit_size = 48,
+       .ident_bit_pos = 80
        },
        {
-       .description = "cond_copy",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .description = "phy_port",
+       .regfile_idx = BNXT_ULP_RF_IDX_PHY_PORT,
+       .ident_bit_size = 8,
+       .ident_bit_pos = 128
        },
+       /* class_tid: 1, , table: l2_cntxt_tcam_cache.rd */
        {
-       .description = "vlan_del_rpt",
-       .field_bit_size = 2,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .description = "l2_cntxt_id",
+       .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
+       .ident_bit_size = 10,
+       .ident_bit_pos = 42
        },
+       /* class_tid: 1, , table: mac_addr_cache.rd */
        {
-       .description = "drop",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .description = "l2_cntxt_id",
+       .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
+       .ident_bit_size = 10,
+       .ident_bit_pos = 42
        },
+       /* class_tid: 1, , table: l2_cntxt_tcam.0 */
        {
-       .description = "hit",
-       .field_bit_size = 1,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .description = "l2_cntxt_id",
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
+       .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
+       .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
+       .ident_bit_size = 10,
+       .ident_bit_pos = 29
        },
+       /* class_tid: 1, , table: profile_tcam_cache.ipv6_rd */
        {
-       .description = "type",
-       .field_bit_size = 3,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-       .field_opr1 = {
-       1}
+       .description = "em_key_id",
+       .regfile_idx = BNXT_ULP_RF_IDX_EM_KEY_ID_0,
+       .ident_bit_size = 8,
+       .ident_bit_pos = 50
        },
-       /* class_tid: 4, thor, table: port_table.wr_1 */
        {
-       .description = "rid",
-       .field_bit_size = 32,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .description = "em_profile_id",
+       .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
+       .ident_bit_size = 8,
+       .ident_bit_pos = 42
        },
        {
-       .description = "drv_func.mac",
-       .field_bit_size = 48,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+       .description = "flow_sig_id",
+       .regfile_idx = BNXT_ULP_RF_IDX_FLOW_SIG_ID,
+       .ident_bit_size = 64,
+       .ident_bit_pos = 74
        },
        {
-       .description = "drv_func.parent.mac",
-       .field_bit_size = 48,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
-       .field_opr1 = {
-       (BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,
-       BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}
+       .description = "profile_tcam_index",
+       .regfile_idx = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
+       .ident_bit_size = 10,
+       .ident_bit_pos = 32
        },
+       /* class_tid: 1, , table: profile_tcam.l2_l3_l4_v6_em */
        {
-       .description = "phy_port",
-       .field_bit_size = 8,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-       .field_opr1 = {
-       1}
+       .description = "em_profile_id",
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
+       .ident_type = TF_IDENT_TYPE_EM_PROF,
+       .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
+       .ident_bit_size = 8,
+       .ident_bit_pos = 23
        },
+       /* class_tid: 1, , table: profile_tcam_cache.rd */
        {
-       .description = "default_arec_ptr",
-       .field_bit_size = 16,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
-       .field_opr1 = {
-       (BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_1 >> 8) & 0xff,
-       BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_1 & 0xff}
+       .description = "flow_sig_id",
+       .regfile_idx = BNXT_ULP_RF_IDX_FLOW_SIG_ID,
+       .ident_bit_size = 64,
+       .ident_bit_pos = 74
        },
-       /* class_tid: 4, thor, table: parif_def_arec_ptr.ing_0 */
        {
-       .description = "act_rec_ptr",
-       .field_bit_size = 32,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
-       .field_opr1 = {
-       (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff,
-       BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff}
+       .description = "profile_tcam_index",
+       .regfile_idx = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
+       .ident_bit_size = 10,
+       .ident_bit_pos = 32
        },
-       /* class_tid: 4, thor, table: parif_def_err_arec_ptr.ing_0 */
-       {
-       .description = "act_rec_ptr",
-       .field_bit_size = 32,
-       .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-       .field_src1 = BNXT_ULP_FIELD_SRC_RF,
-       .field_opr1 = {
-       (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff,
-       BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff}
-       }
-};
-
-struct bnxt_ulp_mapper_ident_info ulp_thor_class_ident_list[] = {
-       /* class_tid: 1, thor, table: port_table.rd */
+       /* class_tid: 2, , table: port_table.rd */
        {
        .description = "default_arec_ptr",
        .regfile_idx = BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR,
@@ -29119,7 +43388,14 @@ struct bnxt_ulp_mapper_ident_info ulp_thor_class_ident_list[] = {
        .ident_bit_size = 8,
        .ident_bit_pos = 128
        },
-       /* class_tid: 1, thor, table: l2_cntxt_tcam.gre */
+       /* class_tid: 2, , table: tunnel_cache.rd */
+       {
+       .description = "l2_cntxt_id",
+       .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
+       .ident_bit_size = 10,
+       .ident_bit_pos = 42
+       },
+       /* class_tid: 2, , table: l2_cntxt_tcam.1 */
        {
        .description = "l2_cntxt_id",
        .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -29128,7 +43404,39 @@ struct bnxt_ulp_mapper_ident_info ulp_thor_class_ident_list[] = {
        .ident_bit_size = 10,
        .ident_bit_pos = 29
        },
-       /* class_tid: 1, thor, table: profile_tcam.icmpv4 */
+       /* class_tid: 2, , table: mac_addr_cache.rd */
+       {
+       .description = "l2_cntxt_id",
+       .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
+       .ident_bit_size = 10,
+       .ident_bit_pos = 42
+       },
+       /* class_tid: 2, , table: profile_tcam_cache.f2_ipv6_rd */
+       {
+       .description = "em_key_id",
+       .regfile_idx = BNXT_ULP_RF_IDX_EM_KEY_ID_0,
+       .ident_bit_size = 8,
+       .ident_bit_pos = 50
+       },
+       {
+       .description = "em_profile_id",
+       .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
+       .ident_bit_size = 8,
+       .ident_bit_pos = 42
+       },
+       {
+       .description = "flow_sig_id",
+       .regfile_idx = BNXT_ULP_RF_IDX_FLOW_SIG_ID,
+       .ident_bit_size = 64,
+       .ident_bit_pos = 74
+       },
+       {
+       .description = "profile_tcam_index",
+       .regfile_idx = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
+       .ident_bit_size = 10,
+       .ident_bit_pos = 32
+       },
+       /* class_tid: 2, , table: profile_tcam.f2_l2_l3_l4_v6_em */
        {
        .description = "em_profile_id",
        .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -29137,7 +43445,58 @@ struct bnxt_ulp_mapper_ident_info ulp_thor_class_ident_list[] = {
        .ident_bit_size = 8,
        .ident_bit_pos = 23
        },
-       /* class_tid: 1, thor, table: profile_tcam.icmpv6 */
+       /* class_tid: 2, , table: profile_tcam_cache.f2_rd */
+       {
+       .description = "em_profile_id",
+       .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
+       .ident_bit_size = 8,
+       .ident_bit_pos = 42
+       },
+       {
+       .description = "flow_sig_id",
+       .regfile_idx = BNXT_ULP_RF_IDX_FLOW_SIG_ID,
+       .ident_bit_size = 64,
+       .ident_bit_pos = 74
+       },
+       {
+       .description = "profile_tcam_index",
+       .regfile_idx = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
+       .ident_bit_size = 10,
+       .ident_bit_pos = 32
+       },
+       /* class_tid: 3, , table: l2_cntxt_tcam_cache.rd */
+       {
+       .description = "l2_cntxt_id",
+       .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
+       .ident_bit_size = 10,
+       .ident_bit_pos = 42
+       },
+       /* class_tid: 3, , table: profile_tcam_cache.ipv6_rd */
+       {
+       .description = "em_key_id",
+       .regfile_idx = BNXT_ULP_RF_IDX_EM_KEY_ID_0,
+       .ident_bit_size = 8,
+       .ident_bit_pos = 50
+       },
+       {
+       .description = "em_profile_id",
+       .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
+       .ident_bit_size = 8,
+       .ident_bit_pos = 42
+       },
+       {
+       .description = "flow_sig_id",
+       .regfile_idx = BNXT_ULP_RF_IDX_FLOW_SIG_ID,
+       .ident_bit_size = 64,
+       .ident_bit_pos = 74
+       },
+       {
+       .description = "profile_tcam_index",
+       .regfile_idx = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
+       .ident_bit_size = 10,
+       .ident_bit_pos = 32
+       },
+       /* class_tid: 3, , table: profile_tcam.l2_l3_l4_v6_em */
        {
        .description = "em_profile_id",
        .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -29146,40 +43505,44 @@ struct bnxt_ulp_mapper_ident_info ulp_thor_class_ident_list[] = {
        .ident_bit_size = 8,
        .ident_bit_pos = 23
        },
-       /* class_tid: 2, thor, table: port_table.rd */
+       /* class_tid: 3, , table: profile_tcam_cache.rd */
        {
-       .description = "default_arec_ptr",
-       .regfile_idx = BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR,
-       .ident_bit_size = 16,
-       .ident_bit_pos = 136
+       .description = "flow_sig_id",
+       .regfile_idx = BNXT_ULP_RF_IDX_FLOW_SIG_ID,
+       .ident_bit_size = 64,
+       .ident_bit_pos = 74
        },
        {
-       .description = "drv_func.parent.mac",
-       .regfile_idx = BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC,
-       .ident_bit_size = 48,
-       .ident_bit_pos = 80
+       .description = "profile_tcam_index",
+       .regfile_idx = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
+       .ident_bit_size = 10,
+       .ident_bit_pos = 32
        },
+       /* class_tid: 4, , table: l2_cntxt_tcam.ing_0 */
        {
-       .description = "phy_port",
-       .regfile_idx = BNXT_ULP_RF_IDX_PHY_PORT,
-       .ident_bit_size = 8,
-       .ident_bit_pos = 128
+       .description = "l2_cntxt_id_low",
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
+       .ident_type = TF_IDENT_TYPE_L2_CTXT_LOW,
+       .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
+       .ident_bit_size = 10,
+       .ident_bit_pos = 29
        },
-       /* class_tid: 2, thor, table: l2_cntxt_tcam.0 */
+       /* class_tid: 4, , table: l2_cntxt_tcam.egr_0 */
        {
-       .description = "l2_cntxt_id",
+       .description = "l2_cntxt_id_low",
        .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
-       .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
+       .ident_type = TF_IDENT_TYPE_L2_CTXT_LOW,
        .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
        .ident_bit_size = 10,
        .ident_bit_pos = 29
        },
-       /* class_tid: 4, thor, table: port_table.rd */
+       /* class_tid: 5, , table: l2_cntxt_tcam.vf_egr */
        {
-       .description = "default_arec_ptr",
-       .regfile_idx = BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR,
-       .ident_bit_size = 16,
-       .ident_bit_pos = 136
+       .description = "l2_cntxt_id_low",
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
+       .ident_type = TF_IDENT_TYPE_L2_CTXT_LOW,
+       .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
+       .ident_bit_size = 10,
+       .ident_bit_pos = 29
        }
 };
-