net/bnxt: add a failure log
[dpdk.git] / drivers / net / bnxt / tf_ulp / ulp_template_db_stingray_class.c
index f365c5c..346e155 100644 (file)
 #include "ulp_template_struct.h"
 #include "ulp_rte_parser.h"
 
-struct bnxt_ulp_mapper_tbl_list_info ulp_class_stingray_tmpl_list[] = {
+struct bnxt_ulp_mapper_tbl_list_info ulp_stingray_class_tmpl_list[] = {
        [1] = {
        .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
        .num_tbls = 6,
-       .start_tbl_idx = 0,
-       .flow_db_table_type = BNXT_ULP_FDB_TYPE_DEFAULT
+       .start_tbl_idx = 0
        },
        [2] = {
        .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
        .num_tbls = 7,
-       .start_tbl_idx = 6,
-       .flow_db_table_type = BNXT_ULP_FDB_TYPE_DEFAULT
+       .start_tbl_idx = 6
        },
        [3] = {
        .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
        .num_tbls = 7,
-       .start_tbl_idx = 13,
-       .flow_db_table_type = BNXT_ULP_FDB_TYPE_DEFAULT
+       .start_tbl_idx = 13
        },
        [4] = {
        .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
        .num_tbls = 7,
-       .start_tbl_idx = 20,
-       .flow_db_table_type = BNXT_ULP_FDB_TYPE_DEFAULT
+       .start_tbl_idx = 20
        },
        [5] = {
        .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
        .num_tbls = 1,
-       .start_tbl_idx = 27,
-       .flow_db_table_type = BNXT_ULP_FDB_TYPE_DEFAULT
+       .start_tbl_idx = 27
        },
        [6] = {
        .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
-       .num_tbls = 4,
-       .start_tbl_idx = 28,
-       .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
+       .num_tbls = 5,
+       .start_tbl_idx = 28
        },
        [7] = {
        .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
-       .num_tbls = 4,
-       .start_tbl_idx = 32,
-       .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
+       .num_tbls = 5,
+       .start_tbl_idx = 33
        },
        [8] = {
        .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
-       .num_tbls = 5,
-       .start_tbl_idx = 36,
-       .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
+       .num_tbls = 6,
+       .start_tbl_idx = 38
        },
        [9] = {
        .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
-       .num_tbls = 5,
-       .start_tbl_idx = 41,
-       .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
+       .num_tbls = 6,
+       .start_tbl_idx = 44
        },
        [10] = {
        .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
-       .num_tbls = 5,
-       .start_tbl_idx = 46,
-       .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
+       .num_tbls = 6,
+       .start_tbl_idx = 50
        },
        [11] = {
        .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
-       .num_tbls = 5,
-       .start_tbl_idx = 51,
-       .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
+       .num_tbls = 6,
+       .start_tbl_idx = 56
        },
        [12] = {
        .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
-       .num_tbls = 4,
-       .start_tbl_idx = 56,
-       .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
+       .num_tbls = 5,
+       .start_tbl_idx = 62
        },
        [13] = {
        .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
-       .num_tbls = 4,
-       .start_tbl_idx = 60,
-       .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
+       .num_tbls = 5,
+       .start_tbl_idx = 67
        },
        [14] = {
        .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
-       .num_tbls = 4,
-       .start_tbl_idx = 64,
-       .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
+       .num_tbls = 5,
+       .start_tbl_idx = 72
        },
        [15] = {
        .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
-       .num_tbls = 4,
-       .start_tbl_idx = 68,
-       .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
+       .num_tbls = 5,
+       .start_tbl_idx = 77
        },
        [16] = {
        .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
-       .num_tbls = 4,
-       .start_tbl_idx = 72,
-       .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
+       .num_tbls = 5,
+       .start_tbl_idx = 82
        },
        [17] = {
        .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
-       .num_tbls = 4,
-       .start_tbl_idx = 76,
-       .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
+       .num_tbls = 5,
+       .start_tbl_idx = 87
        },
        [18] = {
        .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
        .num_tbls = 5,
-       .start_tbl_idx = 80,
-       .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
+       .start_tbl_idx = 92
        },
        [19] = {
        .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
        .num_tbls = 5,
-       .start_tbl_idx = 85,
-       .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
+       .start_tbl_idx = 97
        },
        [20] = {
        .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
-       .num_tbls = 5,
-       .start_tbl_idx = 90,
-       .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
+       .num_tbls = 6,
+       .start_tbl_idx = 102
        },
        [21] = {
        .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
-       .num_tbls = 5,
-       .start_tbl_idx = 95,
-       .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
+       .num_tbls = 6,
+       .start_tbl_idx = 108
        },
        [22] = {
        .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
-       .num_tbls = 4,
-       .start_tbl_idx = 100,
-       .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
+       .num_tbls = 6,
+       .start_tbl_idx = 114
        },
        [23] = {
        .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
-       .num_tbls = 4,
-       .start_tbl_idx = 104,
-       .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
+       .num_tbls = 6,
+       .start_tbl_idx = 120
+       },
+       [24] = {
+       .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
+       .num_tbls = 5,
+       .start_tbl_idx = 126
+       },
+       [25] = {
+       .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
+       .num_tbls = 5,
+       .start_tbl_idx = 131
        }
 };
 
-struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
+struct bnxt_ulp_mapper_tbl_info ulp_stingray_class_tbl_list[] = {
        {
        .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_TYPE_NORMAL,
        .direction = TF_DIR_RX,
+       .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
        .result_start_idx = 0,
        .result_bit_size = 128,
        .result_num_fields = 26,
@@ -185,8 +173,8 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
        .direction = TF_DIR_RX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .key_start_idx = 1,
        .blob_key_bit_size = 171,
        .key_bit_size = 171,
@@ -239,6 +227,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_VFR_CFA_ACTION,
        .direction = TF_DIR_TX,
+       .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
        .result_start_idx = 43,
        .result_bit_size = 128,
        .result_num_fields = 26,
@@ -253,8 +242,8 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .cond_opcode = BNXT_ULP_COND_OPCODE_COMP_FIELD_IS_SET,
        .cond_operand = BNXT_ULP_CF_IDX_VFR_MODE,
        .direction = TF_DIR_TX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .key_start_idx = 14,
        .blob_key_bit_size = 171,
        .key_bit_size = 171,
@@ -293,8 +282,8 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .cond_opcode = BNXT_ULP_COND_OPCODE_COMP_FIELD_NOT_SET,
        .cond_operand = BNXT_ULP_CF_IDX_VFR_MODE,
        .direction = TF_DIR_TX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .key_start_idx = 28,
        .blob_key_bit_size = 171,
        .key_bit_size = 171,
@@ -347,6 +336,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
        .direction = TF_DIR_TX,
+       .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
        .result_start_idx = 99,
        .result_bit_size = 0,
        .result_num_fields = 0,
@@ -361,6 +351,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_VFR_CFA_ACTION,
        .direction = TF_DIR_TX,
+       .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
        .result_start_idx = 111,
        .result_bit_size = 128,
        .result_num_fields = 26,
@@ -390,8 +381,8 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
        .direction = TF_DIR_TX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .key_start_idx = 42,
        .blob_key_bit_size = 171,
        .key_bit_size = 171,
@@ -411,6 +402,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
        .direction = TF_DIR_RX,
+       .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
        .result_start_idx = 150,
        .result_bit_size = 128,
        .result_num_fields = 26,
@@ -423,8 +415,8 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
        .direction = TF_DIR_RX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .key_start_idx = 55,
        .blob_key_bit_size = 171,
        .key_bit_size = 171,
@@ -442,8 +434,8 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
        .direction = TF_DIR_RX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .key_start_idx = 68,
        .blob_key_bit_size = 171,
        .key_bit_size = 171,
@@ -478,8 +470,8 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
        .direction = TF_DIR_TX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .key_start_idx = 82,
        .blob_key_bit_size = 171,
        .key_bit_size = 171,
@@ -532,6 +524,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
        .direction = TF_DIR_RX,
+       .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
        .result_start_idx = 219,
        .result_bit_size = 128,
        .result_num_fields = 26,
@@ -544,8 +537,8 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
        .direction = TF_DIR_RX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .key_start_idx = 95,
        .blob_key_bit_size = 171,
        .key_bit_size = 171,
@@ -565,6 +558,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_VFR_CFA_ACTION,
        .direction = TF_DIR_TX,
+       .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
        .result_start_idx = 258,
        .result_bit_size = 128,
        .result_num_fields = 26,
@@ -577,8 +571,8 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
        .direction = TF_DIR_RX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .key_start_idx = 108,
        .blob_key_bit_size = 171,
        .key_bit_size = 171,
@@ -613,8 +607,8 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
        .direction = TF_DIR_RX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_1,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_1,
        .key_start_idx = 124,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
@@ -629,14 +623,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO
        },
        {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,
+       .resource_type = TF_MEM_EXTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,
+       .direction = TF_DIR_RX,
+       .key_start_idx = 167,
+       .blob_key_bit_size = 448,
+       .key_bit_size = 448,
+       .key_num_fields = 11,
+       .result_start_idx = 306,
+       .result_bit_size = 64,
+       .result_num_fields = 9,
+       .encap_num_fields = 0,
+       .ident_start_idx = 5,
+       .ident_nums = 0,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES
+       },
+       {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
        .resource_type = TF_MEM_INTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
        .direction = TF_DIR_RX,
-       .key_start_idx = 167,
+       .key_start_idx = 178,
        .blob_key_bit_size = 200,
        .key_bit_size = 200,
        .key_num_fields = 11,
-       .result_start_idx = 306,
+       .result_start_idx = 315,
        .result_bit_size = 64,
        .result_num_fields = 9,
        .encap_num_fields = 0,
@@ -649,13 +662,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
        .direction = TF_DIR_RX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,
-       .key_start_idx = 178,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 189,
        .blob_key_bit_size = 171,
        .key_bit_size = 171,
        .key_num_fields = 13,
-       .result_start_idx = 315,
+       .result_start_idx = 324,
        .result_bit_size = 64,
        .result_num_fields = 13,
        .encap_num_fields = 0,
@@ -670,11 +683,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
        .direction = TF_DIR_RX,
-       .key_start_idx = 191,
+       .key_start_idx = 202,
        .blob_key_bit_size = 16,
        .key_bit_size = 16,
        .key_num_fields = 3,
-       .result_start_idx = 328,
+       .result_start_idx = 337,
        .result_bit_size = 10,
        .result_num_fields = 1,
        .encap_num_fields = 0,
@@ -685,13 +698,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
        .direction = TF_DIR_RX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_1,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 194,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_1,
+       .key_start_idx = 205,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
        .key_num_fields = 43,
-       .result_start_idx = 329,
+       .result_start_idx = 338,
        .result_bit_size = 38,
        .result_num_fields = 8,
        .encap_num_fields = 0,
@@ -701,14 +714,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO
        },
        {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,
+       .resource_type = TF_MEM_EXTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,
+       .direction = TF_DIR_RX,
+       .key_start_idx = 248,
+       .blob_key_bit_size = 448,
+       .key_bit_size = 448,
+       .key_num_fields = 11,
+       .result_start_idx = 346,
+       .result_bit_size = 64,
+       .result_num_fields = 9,
+       .encap_num_fields = 0,
+       .ident_start_idx = 7,
+       .ident_nums = 0,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES
+       },
+       {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
        .resource_type = TF_MEM_INTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
        .direction = TF_DIR_RX,
-       .key_start_idx = 237,
+       .key_start_idx = 259,
        .blob_key_bit_size = 200,
        .key_bit_size = 200,
        .key_num_fields = 11,
-       .result_start_idx = 337,
+       .result_start_idx = 355,
        .result_bit_size = 64,
        .result_num_fields = 9,
        .encap_num_fields = 0,
@@ -723,11 +755,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,
        .direction = TF_DIR_RX,
-       .key_start_idx = 248,
+       .key_start_idx = 270,
        .blob_key_bit_size = 12,
        .key_bit_size = 12,
        .key_num_fields = 1,
-       .result_start_idx = 346,
+       .result_start_idx = 364,
        .result_bit_size = 10,
        .result_num_fields = 1,
        .encap_num_fields = 0,
@@ -738,13 +770,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
        .direction = TF_DIR_RX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 249,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 271,
        .blob_key_bit_size = 171,
        .key_bit_size = 171,
        .key_num_fields = 13,
-       .result_start_idx = 347,
+       .result_start_idx = 365,
        .result_bit_size = 64,
        .result_num_fields = 13,
        .encap_num_fields = 0,
@@ -759,11 +791,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
        .direction = TF_DIR_RX,
-       .key_start_idx = 262,
+       .key_start_idx = 284,
        .blob_key_bit_size = 16,
        .key_bit_size = 16,
        .key_num_fields = 3,
-       .result_start_idx = 360,
+       .result_start_idx = 378,
        .result_bit_size = 10,
        .result_num_fields = 1,
        .encap_num_fields = 0,
@@ -774,13 +806,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
        .direction = TF_DIR_RX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 265,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 287,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
        .key_num_fields = 43,
-       .result_start_idx = 361,
+       .result_start_idx = 379,
        .result_bit_size = 38,
        .result_num_fields = 8,
        .encap_num_fields = 0,
@@ -790,14 +822,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO
        },
        {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,
+       .resource_type = TF_MEM_EXTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,
+       .direction = TF_DIR_RX,
+       .key_start_idx = 330,
+       .blob_key_bit_size = 448,
+       .key_bit_size = 448,
+       .key_num_fields = 11,
+       .result_start_idx = 387,
+       .result_bit_size = 64,
+       .result_num_fields = 9,
+       .encap_num_fields = 0,
+       .ident_start_idx = 9,
+       .ident_nums = 0,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES
+       },
+       {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
        .resource_type = TF_MEM_INTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
        .direction = TF_DIR_RX,
-       .key_start_idx = 308,
+       .key_start_idx = 341,
        .blob_key_bit_size = 200,
        .key_bit_size = 200,
        .key_num_fields = 11,
-       .result_start_idx = 369,
+       .result_start_idx = 396,
        .result_bit_size = 64,
        .result_num_fields = 9,
        .encap_num_fields = 0,
@@ -812,11 +863,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,
        .direction = TF_DIR_RX,
-       .key_start_idx = 319,
+       .key_start_idx = 352,
        .blob_key_bit_size = 12,
        .key_bit_size = 12,
        .key_num_fields = 1,
-       .result_start_idx = 378,
+       .result_start_idx = 405,
        .result_bit_size = 10,
        .result_num_fields = 1,
        .encap_num_fields = 0,
@@ -827,13 +878,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
        .direction = TF_DIR_RX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 320,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 353,
        .blob_key_bit_size = 171,
        .key_bit_size = 171,
        .key_num_fields = 13,
-       .result_start_idx = 379,
+       .result_start_idx = 406,
        .result_bit_size = 64,
        .result_num_fields = 13,
        .encap_num_fields = 0,
@@ -848,11 +899,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
        .direction = TF_DIR_RX,
-       .key_start_idx = 333,
+       .key_start_idx = 366,
        .blob_key_bit_size = 16,
        .key_bit_size = 16,
        .key_num_fields = 3,
-       .result_start_idx = 392,
+       .result_start_idx = 419,
        .result_bit_size = 10,
        .result_num_fields = 1,
        .encap_num_fields = 0,
@@ -863,13 +914,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
        .direction = TF_DIR_RX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 336,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 369,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
        .key_num_fields = 43,
-       .result_start_idx = 393,
+       .result_start_idx = 420,
        .result_bit_size = 38,
        .result_num_fields = 8,
        .encap_num_fields = 0,
@@ -879,14 +930,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO
        },
        {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,
+       .resource_type = TF_MEM_EXTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,
+       .direction = TF_DIR_RX,
+       .key_start_idx = 412,
+       .blob_key_bit_size = 448,
+       .key_bit_size = 448,
+       .key_num_fields = 11,
+       .result_start_idx = 428,
+       .result_bit_size = 64,
+       .result_num_fields = 9,
+       .encap_num_fields = 0,
+       .ident_start_idx = 11,
+       .ident_nums = 0,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES
+       },
+       {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
        .resource_type = TF_MEM_INTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
        .direction = TF_DIR_RX,
-       .key_start_idx = 379,
+       .key_start_idx = 423,
        .blob_key_bit_size = 200,
        .key_bit_size = 200,
        .key_num_fields = 11,
-       .result_start_idx = 401,
+       .result_start_idx = 437,
        .result_bit_size = 64,
        .result_num_fields = 9,
        .encap_num_fields = 0,
@@ -901,11 +971,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,
        .direction = TF_DIR_RX,
-       .key_start_idx = 390,
+       .key_start_idx = 434,
        .blob_key_bit_size = 12,
        .key_bit_size = 12,
        .key_num_fields = 1,
-       .result_start_idx = 410,
+       .result_start_idx = 446,
        .result_bit_size = 10,
        .result_num_fields = 1,
        .encap_num_fields = 0,
@@ -916,13 +986,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
        .direction = TF_DIR_RX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 391,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 435,
        .blob_key_bit_size = 171,
        .key_bit_size = 171,
        .key_num_fields = 13,
-       .result_start_idx = 411,
+       .result_start_idx = 447,
        .result_bit_size = 64,
        .result_num_fields = 13,
        .encap_num_fields = 0,
@@ -937,11 +1007,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
        .direction = TF_DIR_RX,
-       .key_start_idx = 404,
+       .key_start_idx = 448,
        .blob_key_bit_size = 16,
        .key_bit_size = 16,
        .key_num_fields = 3,
-       .result_start_idx = 424,
+       .result_start_idx = 460,
        .result_bit_size = 10,
        .result_num_fields = 1,
        .encap_num_fields = 0,
@@ -952,13 +1022,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
        .direction = TF_DIR_RX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 407,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 451,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
        .key_num_fields = 43,
-       .result_start_idx = 425,
+       .result_start_idx = 461,
        .result_bit_size = 38,
        .result_num_fields = 8,
        .encap_num_fields = 0,
@@ -968,14 +1038,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO
        },
        {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,
+       .resource_type = TF_MEM_EXTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,
+       .direction = TF_DIR_RX,
+       .key_start_idx = 494,
+       .blob_key_bit_size = 448,
+       .key_bit_size = 448,
+       .key_num_fields = 11,
+       .result_start_idx = 469,
+       .result_bit_size = 64,
+       .result_num_fields = 9,
+       .encap_num_fields = 0,
+       .ident_start_idx = 13,
+       .ident_nums = 0,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES
+       },
+       {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
        .resource_type = TF_MEM_INTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
        .direction = TF_DIR_RX,
-       .key_start_idx = 450,
+       .key_start_idx = 505,
        .blob_key_bit_size = 392,
        .key_bit_size = 392,
        .key_num_fields = 11,
-       .result_start_idx = 433,
+       .result_start_idx = 478,
        .result_bit_size = 64,
        .result_num_fields = 9,
        .encap_num_fields = 0,
@@ -990,11 +1079,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,
        .direction = TF_DIR_RX,
-       .key_start_idx = 461,
+       .key_start_idx = 516,
        .blob_key_bit_size = 12,
        .key_bit_size = 12,
        .key_num_fields = 1,
-       .result_start_idx = 442,
+       .result_start_idx = 487,
        .result_bit_size = 10,
        .result_num_fields = 1,
        .encap_num_fields = 0,
@@ -1005,13 +1094,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
        .direction = TF_DIR_RX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 462,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 517,
        .blob_key_bit_size = 171,
        .key_bit_size = 171,
        .key_num_fields = 13,
-       .result_start_idx = 443,
+       .result_start_idx = 488,
        .result_bit_size = 64,
        .result_num_fields = 13,
        .encap_num_fields = 0,
@@ -1026,11 +1115,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
        .direction = TF_DIR_RX,
-       .key_start_idx = 475,
+       .key_start_idx = 530,
        .blob_key_bit_size = 16,
        .key_bit_size = 16,
        .key_num_fields = 3,
-       .result_start_idx = 456,
+       .result_start_idx = 501,
        .result_bit_size = 10,
        .result_num_fields = 1,
        .encap_num_fields = 0,
@@ -1041,13 +1130,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
        .direction = TF_DIR_RX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 478,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 533,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
        .key_num_fields = 43,
-       .result_start_idx = 457,
+       .result_start_idx = 502,
        .result_bit_size = 38,
        .result_num_fields = 8,
        .encap_num_fields = 0,
@@ -1057,14 +1146,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO
        },
        {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,
+       .resource_type = TF_MEM_EXTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,
+       .direction = TF_DIR_RX,
+       .key_start_idx = 576,
+       .blob_key_bit_size = 448,
+       .key_bit_size = 448,
+       .key_num_fields = 11,
+       .result_start_idx = 510,
+       .result_bit_size = 64,
+       .result_num_fields = 9,
+       .encap_num_fields = 0,
+       .ident_start_idx = 15,
+       .ident_nums = 0,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES
+       },
+       {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
        .resource_type = TF_MEM_INTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
        .direction = TF_DIR_RX,
-       .key_start_idx = 521,
+       .key_start_idx = 587,
        .blob_key_bit_size = 392,
        .key_bit_size = 392,
        .key_num_fields = 11,
-       .result_start_idx = 465,
+       .result_start_idx = 519,
        .result_bit_size = 64,
        .result_num_fields = 9,
        .encap_num_fields = 0,
@@ -1077,13 +1185,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
        .direction = TF_DIR_RX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,
-       .key_start_idx = 532,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 598,
        .blob_key_bit_size = 171,
        .key_bit_size = 171,
        .key_num_fields = 13,
-       .result_start_idx = 474,
+       .result_start_idx = 528,
        .result_bit_size = 64,
        .result_num_fields = 13,
        .encap_num_fields = 0,
@@ -1098,11 +1206,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
        .direction = TF_DIR_RX,
-       .key_start_idx = 545,
+       .key_start_idx = 611,
        .blob_key_bit_size = 16,
        .key_bit_size = 16,
        .key_num_fields = 3,
-       .result_start_idx = 487,
+       .result_start_idx = 541,
        .result_bit_size = 10,
        .result_num_fields = 1,
        .encap_num_fields = 0,
@@ -1113,13 +1221,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
        .direction = TF_DIR_RX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 548,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 614,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
        .key_num_fields = 43,
-       .result_start_idx = 488,
+       .result_start_idx = 542,
        .result_bit_size = 38,
        .result_num_fields = 8,
        .encap_num_fields = 0,
@@ -1129,14 +1237,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO
        },
        {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,
+       .resource_type = TF_MEM_EXTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,
+       .direction = TF_DIR_RX,
+       .key_start_idx = 657,
+       .blob_key_bit_size = 448,
+       .key_bit_size = 448,
+       .key_num_fields = 11,
+       .result_start_idx = 550,
+       .result_bit_size = 64,
+       .result_num_fields = 9,
+       .encap_num_fields = 0,
+       .ident_start_idx = 17,
+       .ident_nums = 0,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES
+       },
+       {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
        .resource_type = TF_MEM_INTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
        .direction = TF_DIR_RX,
-       .key_start_idx = 591,
+       .key_start_idx = 668,
        .blob_key_bit_size = 200,
        .key_bit_size = 200,
        .key_num_fields = 11,
-       .result_start_idx = 496,
+       .result_start_idx = 559,
        .result_bit_size = 64,
        .result_num_fields = 9,
        .encap_num_fields = 0,
@@ -1149,13 +1276,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
        .direction = TF_DIR_RX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,
-       .key_start_idx = 602,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 679,
        .blob_key_bit_size = 171,
        .key_bit_size = 171,
        .key_num_fields = 13,
-       .result_start_idx = 505,
+       .result_start_idx = 568,
        .result_bit_size = 64,
        .result_num_fields = 13,
        .encap_num_fields = 0,
@@ -1170,11 +1297,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
        .direction = TF_DIR_RX,
-       .key_start_idx = 615,
+       .key_start_idx = 692,
        .blob_key_bit_size = 16,
        .key_bit_size = 16,
        .key_num_fields = 3,
-       .result_start_idx = 518,
+       .result_start_idx = 581,
        .result_bit_size = 10,
        .result_num_fields = 1,
        .encap_num_fields = 0,
@@ -1185,13 +1312,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
        .direction = TF_DIR_RX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 618,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 695,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
        .key_num_fields = 43,
-       .result_start_idx = 519,
+       .result_start_idx = 582,
        .result_bit_size = 38,
        .result_num_fields = 8,
        .encap_num_fields = 0,
@@ -1201,14 +1328,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO
        },
        {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,
+       .resource_type = TF_MEM_EXTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,
+       .direction = TF_DIR_RX,
+       .key_start_idx = 738,
+       .blob_key_bit_size = 448,
+       .key_bit_size = 448,
+       .key_num_fields = 11,
+       .result_start_idx = 590,
+       .result_bit_size = 64,
+       .result_num_fields = 9,
+       .encap_num_fields = 0,
+       .ident_start_idx = 19,
+       .ident_nums = 0,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES
+       },
+       {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
        .resource_type = TF_MEM_INTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
        .direction = TF_DIR_RX,
-       .key_start_idx = 661,
+       .key_start_idx = 749,
        .blob_key_bit_size = 200,
        .key_bit_size = 200,
        .key_num_fields = 11,
-       .result_start_idx = 527,
+       .result_start_idx = 599,
        .result_bit_size = 64,
        .result_num_fields = 9,
        .encap_num_fields = 0,
@@ -1221,13 +1367,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
        .direction = TF_DIR_RX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,
-       .key_start_idx = 672,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 760,
        .blob_key_bit_size = 171,
        .key_bit_size = 171,
        .key_num_fields = 13,
-       .result_start_idx = 536,
+       .result_start_idx = 608,
        .result_bit_size = 64,
        .result_num_fields = 13,
        .encap_num_fields = 0,
@@ -1242,11 +1388,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
        .direction = TF_DIR_RX,
-       .key_start_idx = 685,
+       .key_start_idx = 773,
        .blob_key_bit_size = 16,
        .key_bit_size = 16,
        .key_num_fields = 3,
-       .result_start_idx = 549,
+       .result_start_idx = 621,
        .result_bit_size = 10,
        .result_num_fields = 1,
        .encap_num_fields = 0,
@@ -1257,13 +1403,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
        .direction = TF_DIR_RX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 688,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 776,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
        .key_num_fields = 43,
-       .result_start_idx = 550,
+       .result_start_idx = 622,
        .result_bit_size = 38,
        .result_num_fields = 8,
        .encap_num_fields = 0,
@@ -1273,14 +1419,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO
        },
        {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,
+       .resource_type = TF_MEM_EXTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,
+       .direction = TF_DIR_RX,
+       .key_start_idx = 819,
+       .blob_key_bit_size = 448,
+       .key_bit_size = 448,
+       .key_num_fields = 11,
+       .result_start_idx = 630,
+       .result_bit_size = 64,
+       .result_num_fields = 9,
+       .encap_num_fields = 0,
+       .ident_start_idx = 21,
+       .ident_nums = 0,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES
+       },
+       {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
        .resource_type = TF_MEM_INTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
        .direction = TF_DIR_RX,
-       .key_start_idx = 731,
+       .key_start_idx = 830,
        .blob_key_bit_size = 392,
        .key_bit_size = 392,
        .key_num_fields = 11,
-       .result_start_idx = 558,
+       .result_start_idx = 639,
        .result_bit_size = 64,
        .result_num_fields = 9,
        .encap_num_fields = 0,
@@ -1293,13 +1458,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
        .direction = TF_DIR_RX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,
-       .key_start_idx = 742,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 841,
        .blob_key_bit_size = 171,
        .key_bit_size = 171,
        .key_num_fields = 13,
-       .result_start_idx = 567,
+       .result_start_idx = 648,
        .result_bit_size = 64,
        .result_num_fields = 13,
        .encap_num_fields = 0,
@@ -1314,11 +1479,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
        .direction = TF_DIR_RX,
-       .key_start_idx = 755,
+       .key_start_idx = 854,
        .blob_key_bit_size = 16,
        .key_bit_size = 16,
        .key_num_fields = 3,
-       .result_start_idx = 580,
+       .result_start_idx = 661,
        .result_bit_size = 10,
        .result_num_fields = 1,
        .encap_num_fields = 0,
@@ -1329,13 +1494,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
        .direction = TF_DIR_RX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 758,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 857,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
        .key_num_fields = 43,
-       .result_start_idx = 581,
+       .result_start_idx = 662,
        .result_bit_size = 38,
        .result_num_fields = 8,
        .encap_num_fields = 0,
@@ -1345,14 +1510,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO
        },
        {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,
+       .resource_type = TF_MEM_EXTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,
+       .direction = TF_DIR_RX,
+       .key_start_idx = 900,
+       .blob_key_bit_size = 448,
+       .key_bit_size = 448,
+       .key_num_fields = 11,
+       .result_start_idx = 670,
+       .result_bit_size = 64,
+       .result_num_fields = 9,
+       .encap_num_fields = 0,
+       .ident_start_idx = 23,
+       .ident_nums = 0,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES
+       },
+       {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
        .resource_type = TF_MEM_INTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
        .direction = TF_DIR_RX,
-       .key_start_idx = 801,
+       .key_start_idx = 911,
        .blob_key_bit_size = 392,
        .key_bit_size = 392,
        .key_num_fields = 11,
-       .result_start_idx = 589,
+       .result_start_idx = 679,
        .result_bit_size = 64,
        .result_num_fields = 9,
        .encap_num_fields = 0,
@@ -1365,13 +1549,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
        .direction = TF_DIR_RX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,
-       .key_start_idx = 812,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 922,
        .blob_key_bit_size = 171,
        .key_bit_size = 171,
        .key_num_fields = 13,
-       .result_start_idx = 598,
+       .result_start_idx = 688,
        .result_bit_size = 64,
        .result_num_fields = 13,
        .encap_num_fields = 0,
@@ -1386,11 +1570,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
        .direction = TF_DIR_RX,
-       .key_start_idx = 825,
+       .key_start_idx = 935,
        .blob_key_bit_size = 16,
        .key_bit_size = 16,
        .key_num_fields = 3,
-       .result_start_idx = 611,
+       .result_start_idx = 701,
        .result_bit_size = 10,
        .result_num_fields = 1,
        .encap_num_fields = 0,
@@ -1401,13 +1585,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
        .direction = TF_DIR_RX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 828,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 938,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
        .key_num_fields = 43,
-       .result_start_idx = 612,
+       .result_start_idx = 702,
        .result_bit_size = 38,
        .result_num_fields = 8,
        .encap_num_fields = 0,
@@ -1417,14 +1601,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO
        },
        {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,
+       .resource_type = TF_MEM_EXTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,
+       .direction = TF_DIR_RX,
+       .key_start_idx = 981,
+       .blob_key_bit_size = 448,
+       .key_bit_size = 448,
+       .key_num_fields = 11,
+       .result_start_idx = 710,
+       .result_bit_size = 64,
+       .result_num_fields = 9,
+       .encap_num_fields = 0,
+       .ident_start_idx = 25,
+       .ident_nums = 0,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES
+       },
+       {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
        .resource_type = TF_MEM_INTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
        .direction = TF_DIR_RX,
-       .key_start_idx = 871,
+       .key_start_idx = 992,
        .blob_key_bit_size = 200,
        .key_bit_size = 200,
        .key_num_fields = 11,
-       .result_start_idx = 620,
+       .result_start_idx = 719,
        .result_bit_size = 64,
        .result_num_fields = 9,
        .encap_num_fields = 0,
@@ -1437,13 +1640,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
        .direction = TF_DIR_RX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,
-       .key_start_idx = 882,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 1003,
        .blob_key_bit_size = 171,
        .key_bit_size = 171,
        .key_num_fields = 13,
-       .result_start_idx = 629,
+       .result_start_idx = 728,
        .result_bit_size = 64,
        .result_num_fields = 13,
        .encap_num_fields = 0,
@@ -1458,11 +1661,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
        .direction = TF_DIR_RX,
-       .key_start_idx = 895,
+       .key_start_idx = 1016,
        .blob_key_bit_size = 16,
        .key_bit_size = 16,
        .key_num_fields = 3,
-       .result_start_idx = 642,
+       .result_start_idx = 741,
        .result_bit_size = 10,
        .result_num_fields = 1,
        .encap_num_fields = 0,
@@ -1473,13 +1676,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
        .direction = TF_DIR_RX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 898,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 1019,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
        .key_num_fields = 43,
-       .result_start_idx = 643,
+       .result_start_idx = 742,
        .result_bit_size = 38,
        .result_num_fields = 8,
        .encap_num_fields = 0,
@@ -1489,14 +1692,15 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO
        },
        {
-       .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
-       .resource_type = TF_MEM_INTERNAL,
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,
+       .resource_type = TF_MEM_EXTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,
        .direction = TF_DIR_RX,
-       .key_start_idx = 941,
-       .blob_key_bit_size = 392,
-       .key_bit_size = 392,
+       .key_start_idx = 1062,
+       .blob_key_bit_size = 448,
+       .key_bit_size = 448,
        .key_num_fields = 11,
-       .result_start_idx = 651,
+       .result_start_idx = 750,
        .result_bit_size = 64,
        .result_num_fields = 9,
        .encap_num_fields = 0,
@@ -1506,38 +1710,56 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES
        },
        {
-       .resource_func = BNXT_ULP_RESOURCE_FUNC_CACHE_TABLE,
-       .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
-       .resource_sub_type =
-               BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,
-       .direction = TF_DIR_TX,
-       .key_start_idx = 952,
-       .blob_key_bit_size = 12,
-       .key_bit_size = 12,
-       .key_num_fields = 1,
-       .result_start_idx = 660,
-       .result_bit_size = 10,
-       .result_num_fields = 1,
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
+       .resource_type = TF_MEM_INTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
+       .direction = TF_DIR_RX,
+       .key_start_idx = 1073,
+       .blob_key_bit_size = 392,
+       .key_bit_size = 392,
+       .key_num_fields = 11,
+       .result_start_idx = 759,
+       .result_bit_size = 64,
+       .result_num_fields = 9,
        .encap_num_fields = 0,
        .ident_start_idx = 27,
-       .ident_nums = 1
+       .ident_nums = 0,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES
+       },
+       {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
+       .resource_type = TF_TBL_TYPE_ACT_STATS_64,
+       .resource_sub_type =
+               BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT_ACC,
+       .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
+       .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
+       .direction = TF_DIR_RX,
+       .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
+       .result_start_idx = 768,
+       .result_bit_size = 64,
+       .result_num_fields = 1,
+       .encap_num_fields = 0,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
+       .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
+       .index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
-       .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
-       .direction = TF_DIR_TX,
+       .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
+       .direction = TF_DIR_RX,
+       .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
-       .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 953,
+       .key_start_idx = 1084,
        .blob_key_bit_size = 171,
        .key_bit_size = 171,
        .key_num_fields = 13,
-       .result_start_idx = 661,
+       .result_start_idx = 769,
        .result_bit_size = 64,
        .result_num_fields = 13,
        .encap_num_fields = 0,
-       .ident_start_idx = 28,
-       .ident_nums = 0,
+       .ident_start_idx = 27,
+       .ident_nums = 1,
        .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO
        },
@@ -1546,33 +1768,107 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
-       .direction = TF_DIR_TX,
-       .key_start_idx = 966,
+       .direction = TF_DIR_RX,
+       .key_start_idx = 1097,
        .blob_key_bit_size = 16,
        .key_bit_size = 16,
        .key_num_fields = 3,
-       .result_start_idx = 674,
-       .result_bit_size = 10,
-       .result_num_fields = 1,
+       .result_start_idx = 782,
+       .result_bit_size = 20,
+       .result_num_fields = 2,
        .encap_num_fields = 0,
        .ident_start_idx = 28,
-       .ident_nums = 1
+       .ident_nums = 2
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
-       .direction = TF_DIR_TX,
+       .direction = TF_DIR_RX,
+       .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 1100,
+       .blob_key_bit_size = 81,
+       .key_bit_size = 81,
+       .key_num_fields = 43,
+       .result_start_idx = 784,
+       .result_bit_size = 38,
+       .result_num_fields = 8,
+       .encap_num_fields = 0,
+       .ident_start_idx = 30,
+       .ident_nums = 0,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO
+       },
+       {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
+       .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
+       .direction = TF_DIR_RX,
+       .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 1143,
+       .blob_key_bit_size = 192,
+       .key_bit_size = 160,
+       .key_num_fields = 5,
+       .result_start_idx = 792,
+       .result_bit_size = 19,
+       .result_num_fields = 3,
+       .encap_num_fields = 0,
+       .ident_start_idx = 30,
+       .ident_nums = 0,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES
+       },
+       {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
+       .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
+       .direction = TF_DIR_RX,
+       .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 1148,
+       .blob_key_bit_size = 171,
+       .key_bit_size = 171,
+       .key_num_fields = 13,
+       .result_start_idx = 795,
+       .result_bit_size = 64,
+       .result_num_fields = 13,
+       .encap_num_fields = 0,
+       .ident_start_idx = 30,
+       .ident_nums = 1,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO
+       },
+       {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_CACHE_TABLE,
+       .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
+       .resource_sub_type =
+               BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
+       .direction = TF_DIR_RX,
+       .key_start_idx = 1161,
+       .blob_key_bit_size = 16,
+       .key_bit_size = 16,
+       .key_num_fields = 3,
+       .result_start_idx = 808,
+       .result_bit_size = 20,
+       .result_num_fields = 2,
+       .encap_num_fields = 0,
+       .ident_start_idx = 31,
+       .ident_nums = 2
+       },
+       {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
+       .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
+       .direction = TF_DIR_RX,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 969,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 1164,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
        .key_num_fields = 43,
-       .result_start_idx = 675,
+       .result_start_idx = 810,
        .result_bit_size = 38,
        .result_num_fields = 8,
        .encap_num_fields = 0,
-       .ident_start_idx = 29,
+       .ident_start_idx = 33,
        .ident_nums = 0,
        .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO
@@ -1580,18 +1876,37 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
        .resource_type = TF_MEM_INTERNAL,
-       .direction = TF_DIR_TX,
-       .key_start_idx = 1012,
-       .blob_key_bit_size = 200,
-       .key_bit_size = 200,
-       .key_num_fields = 11,
-       .result_start_idx = 683,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
+       .direction = TF_DIR_RX,
+       .key_start_idx = 1207,
+       .blob_key_bit_size = 112,
+       .key_bit_size = 112,
+       .key_num_fields = 8,
+       .result_start_idx = 818,
        .result_bit_size = 64,
        .result_num_fields = 9,
        .encap_num_fields = 0,
-       .ident_start_idx = 29,
+       .ident_start_idx = 33,
        .ident_nums = 0,
-       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES
+       },
+       {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,
+       .resource_type = TF_MEM_EXTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,
+       .direction = TF_DIR_RX,
+       .key_start_idx = 1215,
+       .blob_key_bit_size = 448,
+       .key_bit_size = 448,
+       .key_num_fields = 8,
+       .result_start_idx = 827,
+       .result_bit_size = 64,
+       .result_num_fields = 9,
+       .encap_num_fields = 0,
+       .ident_start_idx = 33,
+       .ident_nums = 0,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES
        },
        {
@@ -1600,32 +1915,32 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,
        .direction = TF_DIR_TX,
-       .key_start_idx = 1023,
+       .key_start_idx = 1223,
        .blob_key_bit_size = 12,
        .key_bit_size = 12,
        .key_num_fields = 1,
-       .result_start_idx = 692,
+       .result_start_idx = 836,
        .result_bit_size = 10,
        .result_num_fields = 1,
        .encap_num_fields = 0,
-       .ident_start_idx = 29,
+       .ident_start_idx = 33,
        .ident_nums = 1
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
        .direction = TF_DIR_TX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 1024,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 1224,
        .blob_key_bit_size = 171,
        .key_bit_size = 171,
        .key_num_fields = 13,
-       .result_start_idx = 693,
+       .result_start_idx = 837,
        .result_bit_size = 64,
        .result_num_fields = 13,
        .encap_num_fields = 0,
-       .ident_start_idx = 30,
+       .ident_start_idx = 34,
        .ident_nums = 0,
        .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO
@@ -1636,49 +1951,68 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
        .direction = TF_DIR_TX,
-       .key_start_idx = 1037,
+       .key_start_idx = 1237,
        .blob_key_bit_size = 16,
        .key_bit_size = 16,
        .key_num_fields = 3,
-       .result_start_idx = 706,
+       .result_start_idx = 850,
        .result_bit_size = 10,
        .result_num_fields = 1,
        .encap_num_fields = 0,
-       .ident_start_idx = 30,
+       .ident_start_idx = 34,
        .ident_nums = 1
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
        .direction = TF_DIR_TX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 1040,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 1240,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
        .key_num_fields = 43,
-       .result_start_idx = 707,
+       .result_start_idx = 851,
        .result_bit_size = 38,
        .result_num_fields = 8,
        .encap_num_fields = 0,
-       .ident_start_idx = 31,
+       .ident_start_idx = 35,
        .ident_nums = 0,
        .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO
        },
        {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,
+       .resource_type = TF_MEM_EXTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,
+       .direction = TF_DIR_TX,
+       .key_start_idx = 1283,
+       .blob_key_bit_size = 448,
+       .key_bit_size = 448,
+       .key_num_fields = 11,
+       .result_start_idx = 859,
+       .result_bit_size = 64,
+       .result_num_fields = 9,
+       .encap_num_fields = 0,
+       .ident_start_idx = 35,
+       .ident_nums = 0,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES
+       },
+       {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
        .resource_type = TF_MEM_INTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
        .direction = TF_DIR_TX,
-       .key_start_idx = 1083,
+       .key_start_idx = 1294,
        .blob_key_bit_size = 200,
        .key_bit_size = 200,
        .key_num_fields = 11,
-       .result_start_idx = 715,
+       .result_start_idx = 868,
        .result_bit_size = 64,
        .result_num_fields = 9,
        .encap_num_fields = 0,
-       .ident_start_idx = 31,
+       .ident_start_idx = 35,
        .ident_nums = 0,
        .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES
@@ -1689,32 +2023,32 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,
        .direction = TF_DIR_TX,
-       .key_start_idx = 1094,
+       .key_start_idx = 1305,
        .blob_key_bit_size = 12,
        .key_bit_size = 12,
        .key_num_fields = 1,
-       .result_start_idx = 724,
+       .result_start_idx = 877,
        .result_bit_size = 10,
        .result_num_fields = 1,
        .encap_num_fields = 0,
-       .ident_start_idx = 31,
+       .ident_start_idx = 35,
        .ident_nums = 1
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
        .direction = TF_DIR_TX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 1095,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 1306,
        .blob_key_bit_size = 171,
        .key_bit_size = 171,
        .key_num_fields = 13,
-       .result_start_idx = 725,
+       .result_start_idx = 878,
        .result_bit_size = 64,
        .result_num_fields = 13,
        .encap_num_fields = 0,
-       .ident_start_idx = 32,
+       .ident_start_idx = 36,
        .ident_nums = 0,
        .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO
@@ -1725,49 +2059,68 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
        .direction = TF_DIR_TX,
-       .key_start_idx = 1108,
+       .key_start_idx = 1319,
        .blob_key_bit_size = 16,
        .key_bit_size = 16,
        .key_num_fields = 3,
-       .result_start_idx = 738,
+       .result_start_idx = 891,
        .result_bit_size = 10,
        .result_num_fields = 1,
        .encap_num_fields = 0,
-       .ident_start_idx = 32,
+       .ident_start_idx = 36,
        .ident_nums = 1
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
        .direction = TF_DIR_TX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 1111,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 1322,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
        .key_num_fields = 43,
-       .result_start_idx = 739,
+       .result_start_idx = 892,
        .result_bit_size = 38,
        .result_num_fields = 8,
        .encap_num_fields = 0,
-       .ident_start_idx = 33,
+       .ident_start_idx = 37,
        .ident_nums = 0,
        .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO
        },
        {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,
+       .resource_type = TF_MEM_EXTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,
+       .direction = TF_DIR_TX,
+       .key_start_idx = 1365,
+       .blob_key_bit_size = 448,
+       .key_bit_size = 448,
+       .key_num_fields = 11,
+       .result_start_idx = 900,
+       .result_bit_size = 64,
+       .result_num_fields = 9,
+       .encap_num_fields = 0,
+       .ident_start_idx = 37,
+       .ident_nums = 0,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES
+       },
+       {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
        .resource_type = TF_MEM_INTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
        .direction = TF_DIR_TX,
-       .key_start_idx = 1154,
-       .blob_key_bit_size = 392,
-       .key_bit_size = 392,
+       .key_start_idx = 1376,
+       .blob_key_bit_size = 200,
+       .key_bit_size = 200,
        .key_num_fields = 11,
-       .result_start_idx = 747,
+       .result_start_idx = 909,
        .result_bit_size = 64,
        .result_num_fields = 9,
        .encap_num_fields = 0,
-       .ident_start_idx = 33,
+       .ident_start_idx = 37,
        .ident_nums = 0,
        .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES
@@ -1778,32 +2131,32 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,
        .direction = TF_DIR_TX,
-       .key_start_idx = 1165,
+       .key_start_idx = 1387,
        .blob_key_bit_size = 12,
        .key_bit_size = 12,
        .key_num_fields = 1,
-       .result_start_idx = 756,
+       .result_start_idx = 918,
        .result_bit_size = 10,
        .result_num_fields = 1,
        .encap_num_fields = 0,
-       .ident_start_idx = 33,
+       .ident_start_idx = 37,
        .ident_nums = 1
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
        .direction = TF_DIR_TX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 1166,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 1388,
        .blob_key_bit_size = 171,
        .key_bit_size = 171,
        .key_num_fields = 13,
-       .result_start_idx = 757,
+       .result_start_idx = 919,
        .result_bit_size = 64,
        .result_num_fields = 13,
        .encap_num_fields = 0,
-       .ident_start_idx = 34,
+       .ident_start_idx = 38,
        .ident_nums = 0,
        .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO
@@ -1814,69 +2167,105 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
        .direction = TF_DIR_TX,
-       .key_start_idx = 1179,
+       .key_start_idx = 1401,
        .blob_key_bit_size = 16,
        .key_bit_size = 16,
        .key_num_fields = 3,
-       .result_start_idx = 770,
+       .result_start_idx = 932,
        .result_bit_size = 10,
        .result_num_fields = 1,
        .encap_num_fields = 0,
-       .ident_start_idx = 34,
+       .ident_start_idx = 38,
        .ident_nums = 1
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
        .direction = TF_DIR_TX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 1182,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 1404,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
        .key_num_fields = 43,
-       .result_start_idx = 771,
+       .result_start_idx = 933,
        .result_bit_size = 38,
        .result_num_fields = 8,
        .encap_num_fields = 0,
-       .ident_start_idx = 35,
+       .ident_start_idx = 39,
        .ident_nums = 0,
        .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO
        },
        {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,
+       .resource_type = TF_MEM_EXTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,
+       .direction = TF_DIR_TX,
+       .key_start_idx = 1447,
+       .blob_key_bit_size = 448,
+       .key_bit_size = 448,
+       .key_num_fields = 11,
+       .result_start_idx = 941,
+       .result_bit_size = 64,
+       .result_num_fields = 9,
+       .encap_num_fields = 0,
+       .ident_start_idx = 39,
+       .ident_nums = 0,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES
+       },
+       {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
        .resource_type = TF_MEM_INTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
        .direction = TF_DIR_TX,
-       .key_start_idx = 1225,
+       .key_start_idx = 1458,
        .blob_key_bit_size = 392,
        .key_bit_size = 392,
        .key_num_fields = 11,
-       .result_start_idx = 779,
+       .result_start_idx = 950,
        .result_bit_size = 64,
        .result_num_fields = 9,
        .encap_num_fields = 0,
-       .ident_start_idx = 35,
+       .ident_start_idx = 39,
        .ident_nums = 0,
        .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES
        },
        {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_CACHE_TABLE,
+       .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
+       .resource_sub_type =
+               BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,
+       .direction = TF_DIR_TX,
+       .key_start_idx = 1469,
+       .blob_key_bit_size = 12,
+       .key_bit_size = 12,
+       .key_num_fields = 1,
+       .result_start_idx = 959,
+       .result_bit_size = 10,
+       .result_num_fields = 1,
+       .encap_num_fields = 0,
+       .ident_start_idx = 39,
+       .ident_nums = 1
+       },
+       {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
-       .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
+       .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
        .direction = TF_DIR_TX,
+       .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
-       .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_UPDATE,
-       .key_start_idx = 1236,
+       .key_start_idx = 1470,
        .blob_key_bit_size = 171,
        .key_bit_size = 171,
        .key_num_fields = 13,
-       .result_start_idx = 788,
+       .result_start_idx = 960,
        .result_bit_size = 64,
        .result_num_fields = 13,
        .encap_num_fields = 0,
-       .ident_start_idx = 35,
-       .ident_nums = 1,
+       .ident_start_idx = 40,
+       .ident_nums = 0,
        .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO
        },
@@ -1886,68 +2275,87 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
        .direction = TF_DIR_TX,
-       .key_start_idx = 1249,
+       .key_start_idx = 1483,
        .blob_key_bit_size = 16,
        .key_bit_size = 16,
        .key_num_fields = 3,
-       .result_start_idx = 801,
+       .result_start_idx = 973,
        .result_bit_size = 10,
        .result_num_fields = 1,
        .encap_num_fields = 0,
-       .ident_start_idx = 36,
+       .ident_start_idx = 40,
        .ident_nums = 1
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
        .direction = TF_DIR_TX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 1252,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 1486,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
        .key_num_fields = 43,
-       .result_start_idx = 802,
+       .result_start_idx = 974,
        .result_bit_size = 38,
        .result_num_fields = 8,
        .encap_num_fields = 0,
-       .ident_start_idx = 37,
+       .ident_start_idx = 41,
        .ident_nums = 0,
        .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO
        },
        {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,
+       .resource_type = TF_MEM_EXTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,
+       .direction = TF_DIR_TX,
+       .key_start_idx = 1529,
+       .blob_key_bit_size = 448,
+       .key_bit_size = 448,
+       .key_num_fields = 11,
+       .result_start_idx = 982,
+       .result_bit_size = 64,
+       .result_num_fields = 9,
+       .encap_num_fields = 0,
+       .ident_start_idx = 41,
+       .ident_nums = 0,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES
+       },
+       {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
        .resource_type = TF_MEM_INTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
        .direction = TF_DIR_TX,
-       .key_start_idx = 1295,
-       .blob_key_bit_size = 104,
-       .key_bit_size = 104,
-       .key_num_fields = 7,
-       .result_start_idx = 810,
+       .key_start_idx = 1540,
+       .blob_key_bit_size = 392,
+       .key_bit_size = 392,
+       .key_num_fields = 11,
+       .result_start_idx = 991,
        .result_bit_size = 64,
        .result_num_fields = 9,
        .encap_num_fields = 0,
-       .ident_start_idx = 37,
+       .ident_start_idx = 41,
        .ident_nums = 0,
-       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
        .direction = TF_DIR_TX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_UPDATE,
-       .key_start_idx = 1302,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 1551,
        .blob_key_bit_size = 171,
        .key_bit_size = 171,
        .key_num_fields = 13,
-       .result_start_idx = 819,
+       .result_start_idx = 1000,
        .result_bit_size = 64,
        .result_num_fields = 13,
        .encap_num_fields = 0,
-       .ident_start_idx = 37,
+       .ident_start_idx = 41,
        .ident_nums = 1,
        .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO
@@ -1958,56 +2366,166 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
        .direction = TF_DIR_TX,
-       .key_start_idx = 1315,
+       .key_start_idx = 1564,
        .blob_key_bit_size = 16,
        .key_bit_size = 16,
        .key_num_fields = 3,
-       .result_start_idx = 832,
+       .result_start_idx = 1013,
        .result_bit_size = 10,
        .result_num_fields = 1,
        .encap_num_fields = 0,
-       .ident_start_idx = 38,
+       .ident_start_idx = 42,
        .ident_nums = 1
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
        .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
        .direction = TF_DIR_TX,
-       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 1318,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 1567,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
        .key_num_fields = 43,
-       .result_start_idx = 833,
+       .result_start_idx = 1014,
        .result_bit_size = 38,
        .result_num_fields = 8,
        .encap_num_fields = 0,
-       .ident_start_idx = 39,
+       .ident_start_idx = 43,
        .ident_nums = 0,
        .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO
        },
        {
-       .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
-       .resource_type = TF_MEM_INTERNAL,
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,
+       .resource_type = TF_MEM_EXTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,
        .direction = TF_DIR_TX,
-       .key_start_idx = 1361,
+       .key_start_idx = 1610,
+       .blob_key_bit_size = 448,
+       .key_bit_size = 448,
+       .key_num_fields = 7,
+       .result_start_idx = 1022,
+       .result_bit_size = 64,
+       .result_num_fields = 9,
+       .encap_num_fields = 0,
+       .ident_start_idx = 43,
+       .ident_nums = 0,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES
+       },
+       {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
+       .resource_type = TF_MEM_INTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
+       .direction = TF_DIR_TX,
+       .key_start_idx = 1617,
        .blob_key_bit_size = 104,
        .key_bit_size = 104,
        .key_num_fields = 7,
-       .result_start_idx = 841,
+       .result_start_idx = 1031,
        .result_bit_size = 64,
        .result_num_fields = 9,
        .encap_num_fields = 0,
-       .ident_start_idx = 39,
+       .ident_start_idx = 43,
+       .ident_nums = 0,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES
+       },
+       {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
+       .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
+       .direction = TF_DIR_TX,
+       .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_UPDATE,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 1624,
+       .blob_key_bit_size = 171,
+       .key_bit_size = 171,
+       .key_num_fields = 13,
+       .result_start_idx = 1040,
+       .result_bit_size = 64,
+       .result_num_fields = 13,
+       .encap_num_fields = 0,
+       .ident_start_idx = 43,
+       .ident_nums = 1,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO
+       },
+       {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_CACHE_TABLE,
+       .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
+       .resource_sub_type =
+               BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
+       .direction = TF_DIR_TX,
+       .key_start_idx = 1637,
+       .blob_key_bit_size = 16,
+       .key_bit_size = 16,
+       .key_num_fields = 3,
+       .result_start_idx = 1053,
+       .result_bit_size = 10,
+       .result_num_fields = 1,
+       .encap_num_fields = 0,
+       .ident_start_idx = 44,
+       .ident_nums = 1
+       },
+       {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
+       .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
+       .direction = TF_DIR_TX,
+       .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
+       .priority = BNXT_ULP_PRIORITY_LEVEL_0,
+       .key_start_idx = 1640,
+       .blob_key_bit_size = 81,
+       .key_bit_size = 81,
+       .key_num_fields = 43,
+       .result_start_idx = 1054,
+       .result_bit_size = 38,
+       .result_num_fields = 8,
+       .encap_num_fields = 0,
+       .ident_start_idx = 45,
+       .ident_nums = 0,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO
+       },
+       {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,
+       .resource_type = TF_MEM_EXTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,
+       .direction = TF_DIR_TX,
+       .key_start_idx = 1683,
+       .blob_key_bit_size = 448,
+       .key_bit_size = 448,
+       .key_num_fields = 7,
+       .result_start_idx = 1062,
+       .result_bit_size = 64,
+       .result_num_fields = 9,
+       .encap_num_fields = 0,
+       .ident_start_idx = 45,
+       .ident_nums = 0,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
+       .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES
+       },
+       {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
+       .resource_type = TF_MEM_INTERNAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
+       .direction = TF_DIR_TX,
+       .key_start_idx = 1690,
+       .blob_key_bit_size = 104,
+       .key_bit_size = 104,
+       .key_num_fields = 7,
+       .result_start_idx = 1071,
+       .result_bit_size = 64,
+       .result_num_fields = 9,
+       .encap_num_fields = 0,
+       .ident_start_idx = 45,
        .ident_nums = 0,
        .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES
        }
 };
 
-struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[] = {
+struct bnxt_ulp_mapper_key_field_info ulp_stingray_class_key_field_list[] = {
        {
        .field_bit_size = 12,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
@@ -3084,6 +3602,76 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
+       .field_bit_size = 251,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 3,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 16,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 16,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 32,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 32,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 48,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF6_IDX_O_ETH_SMAC >> 8) & 0xff,
+               BNXT_ULP_HF6_IDX_O_ETH_SMAC & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 24,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 10,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
        .field_bit_size = 3,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
@@ -3551,6 +4139,76 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
+       .field_bit_size = 251,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 3,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 16,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 16,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 32,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 32,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 48,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF7_IDX_O_ETH_SMAC >> 8) & 0xff,
+               BNXT_ULP_HF7_IDX_O_ETH_SMAC & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 24,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 10,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
        .field_bit_size = 3,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
@@ -4009,7 +4667,7 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 3,
+       .field_bit_size = 251,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
@@ -4098,50 +4756,139 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 12,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
-       .spec_operand = {
-               (BNXT_ULP_HF9_IDX_SVIF_INDEX >> 8) & 0xff,
-               BNXT_ULP_HF9_IDX_SVIF_INDEX & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-       },
-       {
-       .field_bit_size = 12,
+       .field_bit_size = 3,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 12,
+       .field_bit_size = 3,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 48,
+       .field_bit_size = 16,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 12,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
-       .mask_operand = {
-               (BNXT_ULP_HF9_IDX_SVIF_INDEX >> 8) & 0xff,
-               BNXT_ULP_HF9_IDX_SVIF_INDEX & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
        .spec_operand = {
-               (BNXT_ULP_HF9_IDX_SVIF_INDEX >> 8) & 0xff,
-               BNXT_ULP_HF9_IDX_SVIF_INDEX & 0xff,
+               (BNXT_ULP_HF8_IDX_O_UDP_DST_PORT >> 8) & 0xff,
+               BNXT_ULP_HF8_IDX_O_UDP_DST_PORT & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 12,
+       .field_bit_size = 16,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF8_IDX_O_UDP_SRC_PORT >> 8) & 0xff,
+               BNXT_ULP_HF8_IDX_O_UDP_SRC_PORT & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {
+               BNXT_ULP_SYM_IP_PROTO_UDP,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 32,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF8_IDX_O_IPV4_DST_ADDR >> 8) & 0xff,
+               BNXT_ULP_HF8_IDX_O_IPV4_DST_ADDR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 32,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF8_IDX_O_IPV4_SRC_ADDR >> 8) & 0xff,
+               BNXT_ULP_HF8_IDX_O_IPV4_SRC_ADDR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 48,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 24,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 10,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF9_IDX_SVIF_INDEX >> 8) & 0xff,
+               BNXT_ULP_HF9_IDX_SVIF_INDEX & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 48,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .mask_operand = {
+               (BNXT_ULP_HF9_IDX_SVIF_INDEX >> 8) & 0xff,
+               BNXT_ULP_HF9_IDX_SVIF_INDEX & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF9_IDX_SVIF_INDEX >> 8) & 0xff,
+               BNXT_ULP_HF9_IDX_SVIF_INDEX & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
        {
        .field_bit_size = 12,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
@@ -4482,6 +5229,95 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
+       .field_bit_size = 251,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 3,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 16,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF9_IDX_O_TCP_DST_PORT >> 8) & 0xff,
+               BNXT_ULP_HF9_IDX_O_TCP_DST_PORT & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 16,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF9_IDX_O_TCP_SRC_PORT >> 8) & 0xff,
+               BNXT_ULP_HF9_IDX_O_TCP_SRC_PORT & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {
+               BNXT_ULP_SYM_IP_PROTO_TCP,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 32,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF9_IDX_O_IPV4_DST_ADDR >> 8) & 0xff,
+               BNXT_ULP_HF9_IDX_O_IPV4_DST_ADDR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 32,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF9_IDX_O_IPV4_SRC_ADDR >> 8) & 0xff,
+               BNXT_ULP_HF9_IDX_O_IPV4_SRC_ADDR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 48,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 24,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 10,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
        .field_bit_size = 3,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
@@ -4963,7 +5799,7 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 3,
+       .field_bit_size = 59,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
@@ -5052,59 +5888,148 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 12,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
-       .spec_operand = {
-               (BNXT_ULP_HF11_IDX_SVIF_INDEX >> 8) & 0xff,
-               BNXT_ULP_HF11_IDX_SVIF_INDEX & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-       },
-       {
-       .field_bit_size = 12,
+       .field_bit_size = 3,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 12,
+       .field_bit_size = 3,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 48,
+       .field_bit_size = 16,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 12,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
-       .mask_operand = {
-               (BNXT_ULP_HF11_IDX_SVIF_INDEX >> 8) & 0xff,
-               BNXT_ULP_HF11_IDX_SVIF_INDEX & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
        .spec_operand = {
-               (BNXT_ULP_HF11_IDX_SVIF_INDEX >> 8) & 0xff,
-               BNXT_ULP_HF11_IDX_SVIF_INDEX & 0xff,
+               (BNXT_ULP_HF10_IDX_O_UDP_DST_PORT >> 8) & 0xff,
+               BNXT_ULP_HF10_IDX_O_UDP_DST_PORT & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 12,
+       .field_bit_size = 16,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF10_IDX_O_UDP_SRC_PORT >> 8) & 0xff,
+               BNXT_ULP_HF10_IDX_O_UDP_SRC_PORT & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 12,
+       .field_bit_size = 8,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {
+               BNXT_ULP_SYM_IP_PROTO_UDP,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 48,
+       .field_bit_size = 128,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF10_IDX_O_IPV6_DST_ADDR >> 8) & 0xff,
+               BNXT_ULP_HF10_IDX_O_IPV6_DST_ADDR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 128,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF10_IDX_O_IPV6_SRC_ADDR >> 8) & 0xff,
+               BNXT_ULP_HF10_IDX_O_IPV6_SRC_ADDR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 48,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 24,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 10,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF11_IDX_SVIF_INDEX >> 8) & 0xff,
+               BNXT_ULP_HF11_IDX_SVIF_INDEX & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 48,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .mask_operand = {
+               (BNXT_ULP_HF11_IDX_SVIF_INDEX >> 8) & 0xff,
+               BNXT_ULP_HF11_IDX_SVIF_INDEX & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF11_IDX_SVIF_INDEX >> 8) & 0xff,
+               BNXT_ULP_HF11_IDX_SVIF_INDEX & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 48,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 2,
@@ -5440,6 +6365,95 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
+       .field_bit_size = 59,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 3,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 16,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF11_IDX_O_TCP_DST_PORT >> 8) & 0xff,
+               BNXT_ULP_HF11_IDX_O_TCP_DST_PORT & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 16,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF11_IDX_O_TCP_SRC_PORT >> 8) & 0xff,
+               BNXT_ULP_HF11_IDX_O_TCP_SRC_PORT & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {
+               BNXT_ULP_SYM_IP_PROTO_TCP,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 128,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF11_IDX_O_IPV6_DST_ADDR >> 8) & 0xff,
+               BNXT_ULP_HF11_IDX_O_IPV6_DST_ADDR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 128,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF11_IDX_O_IPV6_SRC_ADDR >> 8) & 0xff,
+               BNXT_ULP_HF11_IDX_O_IPV6_SRC_ADDR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 48,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 24,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 10,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
        .field_bit_size = 3,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
@@ -5936,7 +6950,7 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 3,
+       .field_bit_size = 251,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
@@ -6025,67 +7039,156 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 12,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
-       .mask_operand = {
-               (BNXT_ULP_HF13_IDX_OO_VLAN_VID >> 8) & 0xff,
-               BNXT_ULP_HF13_IDX_OO_VLAN_VID & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
-       .spec_operand = {
-               (BNXT_ULP_HF13_IDX_OO_VLAN_VID >> 8) & 0xff,
-               BNXT_ULP_HF13_IDX_OO_VLAN_VID & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .field_bit_size = 3,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 12,
+       .field_bit_size = 3,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 48,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
-       .mask_operand = {
-               (BNXT_ULP_HF13_IDX_O_ETH_DMAC >> 8) & 0xff,
-               BNXT_ULP_HF13_IDX_O_ETH_DMAC & 0xff,
+       .field_bit_size = 16,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF12_IDX_O_UDP_DST_PORT >> 8) & 0xff,
+               BNXT_ULP_HF12_IDX_O_UDP_DST_PORT & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 16,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
        .spec_operand = {
-               (BNXT_ULP_HF13_IDX_O_ETH_DMAC >> 8) & 0xff,
-               BNXT_ULP_HF13_IDX_O_ETH_DMAC & 0xff,
+               (BNXT_ULP_HF12_IDX_O_UDP_SRC_PORT >> 8) & 0xff,
+               BNXT_ULP_HF12_IDX_O_UDP_SRC_PORT & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 12,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
-       .mask_operand = {
-               (BNXT_ULP_HF13_IDX_SVIF_INDEX >> 8) & 0xff,
-               BNXT_ULP_HF13_IDX_SVIF_INDEX & 0xff,
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {
+               BNXT_ULP_SYM_IP_PROTO_UDP,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 32,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
        .spec_operand = {
-               (BNXT_ULP_HF13_IDX_SVIF_INDEX >> 8) & 0xff,
-               BNXT_ULP_HF13_IDX_SVIF_INDEX & 0xff,
+               (BNXT_ULP_HF12_IDX_O_IPV4_DST_ADDR >> 8) & 0xff,
+               BNXT_ULP_HF12_IDX_O_IPV4_DST_ADDR & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 12,
+       .field_bit_size = 32,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF12_IDX_O_IPV4_SRC_ADDR >> 8) & 0xff,
+               BNXT_ULP_HF12_IDX_O_IPV4_SRC_ADDR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 12,
+       .field_bit_size = 48,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 48,
+       .field_bit_size = 24,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 10,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .mask_operand = {
+               (BNXT_ULP_HF13_IDX_OO_VLAN_VID >> 8) & 0xff,
+               BNXT_ULP_HF13_IDX_OO_VLAN_VID & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF13_IDX_OO_VLAN_VID >> 8) & 0xff,
+               BNXT_ULP_HF13_IDX_OO_VLAN_VID & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 48,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .mask_operand = {
+               (BNXT_ULP_HF13_IDX_O_ETH_DMAC >> 8) & 0xff,
+               BNXT_ULP_HF13_IDX_O_ETH_DMAC & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF13_IDX_O_ETH_DMAC >> 8) & 0xff,
+               BNXT_ULP_HF13_IDX_O_ETH_DMAC & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .mask_operand = {
+               (BNXT_ULP_HF13_IDX_SVIF_INDEX >> 8) & 0xff,
+               BNXT_ULP_HF13_IDX_SVIF_INDEX & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF13_IDX_SVIF_INDEX >> 8) & 0xff,
+               BNXT_ULP_HF13_IDX_SVIF_INDEX & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 48,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
@@ -6428,6 +7531,95 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
+       .field_bit_size = 251,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 3,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 16,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF13_IDX_O_TCP_DST_PORT >> 8) & 0xff,
+               BNXT_ULP_HF13_IDX_O_TCP_DST_PORT & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 16,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF13_IDX_O_TCP_SRC_PORT >> 8) & 0xff,
+               BNXT_ULP_HF13_IDX_O_TCP_SRC_PORT & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {
+               BNXT_ULP_SYM_IP_PROTO_TCP,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 32,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF13_IDX_O_IPV4_DST_ADDR >> 8) & 0xff,
+               BNXT_ULP_HF13_IDX_O_IPV4_DST_ADDR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 32,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF13_IDX_O_IPV4_SRC_ADDR >> 8) & 0xff,
+               BNXT_ULP_HF13_IDX_O_IPV4_SRC_ADDR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 48,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 24,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 10,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
        .field_bit_size = 3,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
@@ -6928,7 +8120,7 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 3,
+       .field_bit_size = 59,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
@@ -7017,95 +8209,184 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 12,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
-       .mask_operand = {
-               (BNXT_ULP_HF15_IDX_OO_VLAN_VID >> 8) & 0xff,
-               BNXT_ULP_HF15_IDX_OO_VLAN_VID & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
-       .spec_operand = {
-               (BNXT_ULP_HF15_IDX_OO_VLAN_VID >> 8) & 0xff,
-               BNXT_ULP_HF15_IDX_OO_VLAN_VID & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .field_bit_size = 3,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 12,
+       .field_bit_size = 3,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 48,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
-       .mask_operand = {
-               (BNXT_ULP_HF15_IDX_O_ETH_DMAC >> 8) & 0xff,
-               BNXT_ULP_HF15_IDX_O_ETH_DMAC & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .field_bit_size = 16,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
        .spec_operand = {
-               (BNXT_ULP_HF15_IDX_O_ETH_DMAC >> 8) & 0xff,
-               BNXT_ULP_HF15_IDX_O_ETH_DMAC & 0xff,
+               (BNXT_ULP_HF14_IDX_O_UDP_DST_PORT >> 8) & 0xff,
+               BNXT_ULP_HF14_IDX_O_UDP_DST_PORT & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 12,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
-       .mask_operand = {
-               (BNXT_ULP_HF15_IDX_SVIF_INDEX >> 8) & 0xff,
-               BNXT_ULP_HF15_IDX_SVIF_INDEX & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .field_bit_size = 16,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
        .spec_operand = {
-               (BNXT_ULP_HF15_IDX_SVIF_INDEX >> 8) & 0xff,
-               BNXT_ULP_HF15_IDX_SVIF_INDEX & 0xff,
+               (BNXT_ULP_HF14_IDX_O_UDP_SRC_PORT >> 8) & 0xff,
+               BNXT_ULP_HF14_IDX_O_UDP_SRC_PORT & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 12,
+       .field_bit_size = 8,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {
+               BNXT_ULP_SYM_IP_PROTO_UDP,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 12,
+       .field_bit_size = 128,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF14_IDX_O_IPV6_DST_ADDR >> 8) & 0xff,
+               BNXT_ULP_HF14_IDX_O_IPV6_DST_ADDR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 48,
+       .field_bit_size = 128,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 2,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
        .spec_operand = {
-               (BNXT_ULP_CF_IDX_O_VTAG_NUM >> 8) & 0xff,
-               BNXT_ULP_CF_IDX_O_VTAG_NUM & 0xff,
+               (BNXT_ULP_HF14_IDX_O_IPV6_SRC_ADDR >> 8) & 0xff,
+               BNXT_ULP_HF14_IDX_O_IPV6_SRC_ADDR & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 2,
+       .field_bit_size = 48,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 4,
+       .field_bit_size = 24,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 2,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .field_bit_size = 10,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .mask_operand = {
+               (BNXT_ULP_HF15_IDX_OO_VLAN_VID >> 8) & 0xff,
+               BNXT_ULP_HF15_IDX_OO_VLAN_VID & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF15_IDX_OO_VLAN_VID >> 8) & 0xff,
+               BNXT_ULP_HF15_IDX_OO_VLAN_VID & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 48,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .mask_operand = {
+               (BNXT_ULP_HF15_IDX_O_ETH_DMAC >> 8) & 0xff,
+               BNXT_ULP_HF15_IDX_O_ETH_DMAC & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF15_IDX_O_ETH_DMAC >> 8) & 0xff,
+               BNXT_ULP_HF15_IDX_O_ETH_DMAC & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .mask_operand = {
+               (BNXT_ULP_HF15_IDX_SVIF_INDEX >> 8) & 0xff,
+               BNXT_ULP_HF15_IDX_SVIF_INDEX & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF15_IDX_SVIF_INDEX >> 8) & 0xff,
+               BNXT_ULP_HF15_IDX_SVIF_INDEX & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 48,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_CF_IDX_O_VTAG_NUM >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_VTAG_NUM & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 4,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
                0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
@@ -7424,6 +8705,95 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
+       .field_bit_size = 59,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 3,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 16,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF15_IDX_O_TCP_DST_PORT >> 8) & 0xff,
+               BNXT_ULP_HF15_IDX_O_TCP_DST_PORT & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 16,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF15_IDX_O_TCP_SRC_PORT >> 8) & 0xff,
+               BNXT_ULP_HF15_IDX_O_TCP_SRC_PORT & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {
+               BNXT_ULP_SYM_IP_PROTO_TCP,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 128,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF15_IDX_O_IPV6_DST_ADDR >> 8) & 0xff,
+               BNXT_ULP_HF15_IDX_O_IPV6_DST_ADDR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 128,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF15_IDX_O_IPV6_SRC_ADDR >> 8) & 0xff,
+               BNXT_ULP_HF15_IDX_O_IPV6_SRC_ADDR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 48,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 24,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 10,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
        .field_bit_size = 3,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
@@ -7917,7 +9287,7 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 3,
+       .field_bit_size = 251,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
@@ -7991,59 +9361,46 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 12,
+       .field_bit_size = 3,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 12,
+       .field_bit_size = 3,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 48,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
-       .spec_operand = {
-               (BNXT_ULP_HF17_IDX_O_ETH_DMAC >> 8) & 0xff,
-               BNXT_ULP_HF17_IDX_O_ETH_DMAC & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .field_bit_size = 16,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 12,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
-       .mask_operand = {
-               (BNXT_ULP_HF17_IDX_SVIF_INDEX >> 8) & 0xff,
-               BNXT_ULP_HF17_IDX_SVIF_INDEX & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .field_bit_size = 16,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .spec_operand = {
-               (BNXT_ULP_HF17_IDX_SVIF_INDEX >> 8) & 0xff,
-               BNXT_ULP_HF17_IDX_SVIF_INDEX & 0xff,
+               BNXT_ULP_SYM_IP_PROTO_UDP,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 12,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
-       .mask_operand = {
-               (BNXT_ULP_HF17_IDX_OO_VLAN_VID >> 8) & 0xff,
-               BNXT_ULP_HF17_IDX_OO_VLAN_VID & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .field_bit_size = 32,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
        .spec_operand = {
-               (BNXT_ULP_HF17_IDX_OO_VLAN_VID >> 8) & 0xff,
-               BNXT_ULP_HF17_IDX_OO_VLAN_VID & 0xff,
+               (BNXT_ULP_HF16_IDX_O_IPV4_DST_ADDR >> 8) & 0xff,
+               BNXT_ULP_HF16_IDX_O_IPV4_DST_ADDR & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 12,
+       .field_bit_size = 32,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
@@ -8053,14 +9410,101 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 2,
+       .field_bit_size = 24,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 2,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+       .field_bit_size = 10,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 48,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF17_IDX_O_ETH_DMAC >> 8) & 0xff,
+               BNXT_ULP_HF17_IDX_O_ETH_DMAC & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .mask_operand = {
+               (BNXT_ULP_HF17_IDX_SVIF_INDEX >> 8) & 0xff,
+               BNXT_ULP_HF17_IDX_SVIF_INDEX & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF17_IDX_SVIF_INDEX >> 8) & 0xff,
+               BNXT_ULP_HF17_IDX_SVIF_INDEX & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .mask_operand = {
+               (BNXT_ULP_HF17_IDX_OO_VLAN_VID >> 8) & 0xff,
+               BNXT_ULP_HF17_IDX_OO_VLAN_VID & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF17_IDX_OO_VLAN_VID >> 8) & 0xff,
+               BNXT_ULP_HF17_IDX_OO_VLAN_VID & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 48,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
                0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
        .spec_operand = {
@@ -8399,7 +9843,7 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 3,
+       .field_bit_size = 59,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
@@ -8473,31 +9917,102 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 12,
+       .field_bit_size = 3,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 3,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 16,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 16,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {
+               BNXT_ULP_SYM_IP_PROTO_UDP,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 128,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
        .spec_operand = {
-               (BNXT_ULP_HF18_IDX_SVIF_INDEX >> 8) & 0xff,
-               BNXT_ULP_HF18_IDX_SVIF_INDEX & 0xff,
+               (BNXT_ULP_HF17_IDX_O_IPV6_DST_ADDR >> 8) & 0xff,
+               BNXT_ULP_HF17_IDX_O_IPV6_DST_ADDR & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 12,
+       .field_bit_size = 128,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
+       .field_bit_size = 48,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 24,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 10,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
        .field_bit_size = 12,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 48,
+       .field_bit_size = 12,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
+       .field_bit_size = 48,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF18_IDX_O_ETH_DMAC >> 8) & 0xff,
+               BNXT_ULP_HF18_IDX_O_ETH_DMAC & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
        .field_bit_size = 12,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
        .mask_operand = {
@@ -8534,7 +10049,9 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        },
        {
        .field_bit_size = 2,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
@@ -8542,11 +10059,7 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
                0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .spec_operand = {
-               BNXT_ULP_SYM_TUN_HDR_TYPE_NONE,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 2,
@@ -8577,20 +10090,15 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
        .spec_operand = {
-               (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
-               BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
+               (BNXT_ULP_GLB_REGFILE_INDEX_VXLAN_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_REGFILE_INDEX_VXLAN_PROF_FUNC_ID & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 8,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
-       .spec_operand = {
-               (BNXT_ULP_REGFILE_INDEX_CLASS_TID >> 8) & 0xff,
-               BNXT_ULP_REGFILE_INDEX_CLASS_TID & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
@@ -8599,32 +10107,18 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        },
        {
        .field_bit_size = 4,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .spec_operand = {
-               BNXT_ULP_SYM_L4_HDR_TYPE_UDP,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .spec_operand = {
-               BNXT_ULP_SYM_L4_HDR_VALID_YES,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
@@ -8643,28 +10137,18 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        },
        {
        .field_bit_size = 4,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .spec_operand = {
-               BNXT_ULP_SYM_L3_HDR_VALID_YES,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
@@ -8683,6 +10167,26 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        },
        {
        .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 3,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 4,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
                0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
@@ -8702,49 +10206,43 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
                0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .spec_operand = {
-               BNXT_ULP_SYM_L2_HDR_VALID_YES,
+               BNXT_ULP_SYM_TUN_HDR_VALID_YES,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 3,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 4,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
        .field_bit_size = 1,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 4,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {
+               BNXT_ULP_SYM_TL4_HDR_TYPE_UDP,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {
+               BNXT_ULP_SYM_TL4_HDR_VALID_YES,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 1,
@@ -8763,18 +10261,28 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        },
        {
        .field_bit_size = 4,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {
+               BNXT_ULP_SYM_TL3_HDR_VALID_YES,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 1,
@@ -8788,18 +10296,28 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        },
        {
        .field_bit_size = 2,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 2,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {
+               BNXT_ULP_SYM_TL2_HDR_VALID_YES,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 1,
@@ -8818,8 +10336,8 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
                0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
        .spec_operand = {
-               (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
-               BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
+               (BNXT_ULP_GLB_REGFILE_INDEX_VXLAN_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_REGFILE_INDEX_VXLAN_PROF_FUNC_ID & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
@@ -8857,77 +10375,27 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 3,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 3,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 16,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
-       .spec_operand = {
-               (BNXT_ULP_HF18_IDX_O_UDP_DST_PORT >> 8) & 0xff,
-               BNXT_ULP_HF18_IDX_O_UDP_DST_PORT & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-       },
-       {
-       .field_bit_size = 16,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
-       .spec_operand = {
-               (BNXT_ULP_HF18_IDX_O_UDP_SRC_PORT >> 8) & 0xff,
-               BNXT_ULP_HF18_IDX_O_UDP_SRC_PORT & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-       },
-       {
        .field_bit_size = 8,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .spec_operand = {
-               BNXT_ULP_SYM_IP_PROTO_UDP,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-       },
-       {
-       .field_bit_size = 32,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
-       .spec_operand = {
-               (BNXT_ULP_HF18_IDX_O_IPV4_DST_ADDR >> 8) & 0xff,
-               BNXT_ULP_HF18_IDX_O_IPV4_DST_ADDR & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-       },
-       {
-       .field_bit_size = 32,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
        .spec_operand = {
-               (BNXT_ULP_HF18_IDX_O_IPV4_SRC_ADDR >> 8) & 0xff,
-               BNXT_ULP_HF18_IDX_O_IPV4_SRC_ADDR & 0xff,
+               (BNXT_ULP_REGFILE_INDEX_WC_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_WC_PROFILE_ID_0 & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 48,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 24,
+       .field_bit_size = 10,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 10,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
        .spec_operand = {
                (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
@@ -8936,24 +10404,16 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 8,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
-       .spec_operand = {
-               (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
-               BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .field_bit_size = 4,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 12,
+       .field_bit_size = 128,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
-       .spec_operand = {
-               (BNXT_ULP_HF19_IDX_SVIF_INDEX >> 8) & 0xff,
-               BNXT_ULP_HF19_IDX_SVIF_INDEX & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 12,
@@ -8967,8 +10427,15 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        },
        {
        .field_bit_size = 48,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF19_IDX_O_ETH_DMAC >> 8) & 0xff,
+               BNXT_ULP_HF19_IDX_O_ETH_DMAC & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 12,
@@ -8986,6 +10453,11 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
+       .field_bit_size = 4,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
        .field_bit_size = 12,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
@@ -9007,7 +10479,9 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        },
        {
        .field_bit_size = 2,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
@@ -9015,19 +10489,10 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
                0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .spec_operand = {
-               BNXT_ULP_SYM_TUN_HDR_TYPE_NONE,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-       },
-       {
-       .field_bit_size = 2,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 4,
+       .field_bit_size = 2,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
@@ -9050,20 +10515,15 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
        .spec_operand = {
-               (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
-               BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
+               (BNXT_ULP_GLB_REGFILE_INDEX_VXLAN_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_REGFILE_INDEX_VXLAN_PROF_FUNC_ID & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 8,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
-       .spec_operand = {
-               (BNXT_ULP_REGFILE_INDEX_CLASS_TID >> 8) & 0xff,
-               BNXT_ULP_REGFILE_INDEX_CLASS_TID & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
@@ -9072,28 +10532,18 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        },
        {
        .field_bit_size = 4,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .spec_operand = {
-               BNXT_ULP_SYM_L4_HDR_VALID_YES,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
@@ -9112,28 +10562,18 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        },
        {
        .field_bit_size = 4,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .spec_operand = {
-               BNXT_ULP_SYM_L3_HDR_VALID_YES,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
@@ -9152,28 +10592,18 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        },
        {
        .field_bit_size = 2,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .spec_operand = {
-               BNXT_ULP_SYM_L2_HDR_VALID_YES,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 3,
@@ -9182,18 +10612,28 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        },
        {
        .field_bit_size = 4,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {
+               BNXT_ULP_SYM_TUN_HDR_VALID_YES,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 1,
@@ -9202,18 +10642,32 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        },
        {
        .field_bit_size = 4,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {
+               BNXT_ULP_SYM_TL4_HDR_TYPE_UDP,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {
+               BNXT_ULP_SYM_TL4_HDR_VALID_YES,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 1,
@@ -9232,18 +10686,28 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        },
        {
        .field_bit_size = 4,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {
+               BNXT_ULP_SYM_TL3_HDR_VALID_YES,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 1,
@@ -9257,18 +10721,28 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        },
        {
        .field_bit_size = 2,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 2,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {
+               BNXT_ULP_SYM_TL2_HDR_VALID_YES,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 1,
@@ -9287,8 +10761,8 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
                0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
        .spec_operand = {
-               (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
-               BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
+               (BNXT_ULP_GLB_REGFILE_INDEX_VXLAN_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_REGFILE_INDEX_VXLAN_PROF_FUNC_ID & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
@@ -9331,66 +10805,97 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 3,
+       .field_bit_size = 12,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 16,
+       .field_bit_size = 48,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
        .spec_operand = {
-               (BNXT_ULP_HF19_IDX_O_TCP_DST_PORT >> 8) & 0xff,
-               BNXT_ULP_HF19_IDX_O_TCP_DST_PORT & 0xff,
+               (BNXT_ULP_HF19_IDX_I_ETH_DMAC >> 8) & 0xff,
+               BNXT_ULP_HF19_IDX_I_ETH_DMAC & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 16,
+       .field_bit_size = 24,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
        .spec_operand = {
-               (BNXT_ULP_HF19_IDX_O_TCP_SRC_PORT >> 8) & 0xff,
-               BNXT_ULP_HF19_IDX_O_TCP_SRC_PORT & 0xff,
+               (BNXT_ULP_HF19_IDX_T_VXLAN_VNI >> 8) & 0xff,
+               BNXT_ULP_HF19_IDX_T_VXLAN_VNI & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 3,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 4,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 10,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 8,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
        .spec_operand = {
-               BNXT_ULP_SYM_IP_PROTO_TCP,
+               (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 32,
+       .field_bit_size = 339,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 48,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
        .spec_operand = {
-               (BNXT_ULP_HF19_IDX_O_IPV4_DST_ADDR >> 8) & 0xff,
-               BNXT_ULP_HF19_IDX_O_IPV4_DST_ADDR & 0xff,
+               (BNXT_ULP_HF19_IDX_I_ETH_DMAC >> 8) & 0xff,
+               BNXT_ULP_HF19_IDX_I_ETH_DMAC & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 32,
+       .field_bit_size = 24,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
        .spec_operand = {
-               (BNXT_ULP_HF19_IDX_O_IPV4_SRC_ADDR >> 8) & 0xff,
-               BNXT_ULP_HF19_IDX_O_IPV4_SRC_ADDR & 0xff,
+               (BNXT_ULP_HF19_IDX_T_VXLAN_VNI >> 8) & 0xff,
+               BNXT_ULP_HF19_IDX_T_VXLAN_VNI & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 48,
+       .field_bit_size = 3,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 24,
+       .field_bit_size = 4,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
@@ -9588,11 +11093,7 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
                0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .spec_operand = {
-               BNXT_ULP_SYM_L3_HDR_TYPE_IPV6,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
@@ -9803,6 +11304,95 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
+       .field_bit_size = 251,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 3,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 16,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF20_IDX_O_UDP_DST_PORT >> 8) & 0xff,
+               BNXT_ULP_HF20_IDX_O_UDP_DST_PORT & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 16,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF20_IDX_O_UDP_SRC_PORT >> 8) & 0xff,
+               BNXT_ULP_HF20_IDX_O_UDP_SRC_PORT & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {
+               BNXT_ULP_SYM_IP_PROTO_UDP,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 32,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF20_IDX_O_IPV4_DST_ADDR >> 8) & 0xff,
+               BNXT_ULP_HF20_IDX_O_IPV4_DST_ADDR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 32,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF20_IDX_O_IPV4_SRC_ADDR >> 8) & 0xff,
+               BNXT_ULP_HF20_IDX_O_IPV4_SRC_ADDR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 48,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 24,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 10,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
        .field_bit_size = 3,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
@@ -9842,22 +11432,22 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 128,
+       .field_bit_size = 32,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
        .spec_operand = {
-               (BNXT_ULP_HF20_IDX_O_IPV6_DST_ADDR >> 8) & 0xff,
-               BNXT_ULP_HF20_IDX_O_IPV6_DST_ADDR & 0xff,
+               (BNXT_ULP_HF20_IDX_O_IPV4_DST_ADDR >> 8) & 0xff,
+               BNXT_ULP_HF20_IDX_O_IPV4_DST_ADDR & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 128,
+       .field_bit_size = 32,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
        .spec_operand = {
-               (BNXT_ULP_HF20_IDX_O_IPV6_SRC_ADDR >> 8) & 0xff,
-               BNXT_ULP_HF20_IDX_O_IPV6_SRC_ADDR & 0xff,
+               (BNXT_ULP_HF20_IDX_O_IPV4_SRC_ADDR >> 8) & 0xff,
+               BNXT_ULP_HF20_IDX_O_IPV4_SRC_ADDR & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
@@ -10061,11 +11651,7 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
                0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .spec_operand = {
-               BNXT_ULP_SYM_L3_HDR_TYPE_IPV6,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
@@ -10276,7 +11862,7 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 3,
+       .field_bit_size = 251,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
@@ -10315,22 +11901,22 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 128,
+       .field_bit_size = 32,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
        .spec_operand = {
-               (BNXT_ULP_HF21_IDX_O_IPV6_DST_ADDR >> 8) & 0xff,
-               BNXT_ULP_HF21_IDX_O_IPV6_DST_ADDR & 0xff,
+               (BNXT_ULP_HF21_IDX_O_IPV4_DST_ADDR >> 8) & 0xff,
+               BNXT_ULP_HF21_IDX_O_IPV4_DST_ADDR & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 128,
+       .field_bit_size = 32,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
        .spec_operand = {
-               (BNXT_ULP_HF21_IDX_O_IPV6_SRC_ADDR >> 8) & 0xff,
-               BNXT_ULP_HF21_IDX_O_IPV6_SRC_ADDR & 0xff,
+               (BNXT_ULP_HF21_IDX_O_IPV4_SRC_ADDR >> 8) & 0xff,
+               BNXT_ULP_HF21_IDX_O_IPV4_SRC_ADDR & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
@@ -10365,42 +11951,121 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 12,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
-       .mask_operand = {
-               (BNXT_ULP_HF22_IDX_OO_VLAN_VID >> 8) & 0xff,
-               BNXT_ULP_HF22_IDX_OO_VLAN_VID & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
-       .spec_operand = {
-               (BNXT_ULP_HF22_IDX_OO_VLAN_VID >> 8) & 0xff,
-               BNXT_ULP_HF22_IDX_OO_VLAN_VID & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .field_bit_size = 3,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 12,
+       .field_bit_size = 3,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 48,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
-       .mask_operand = {
-               (BNXT_ULP_HF22_IDX_O_ETH_SMAC >> 8) & 0xff,
-               BNXT_ULP_HF22_IDX_O_ETH_SMAC & 0xff,
+       .field_bit_size = 16,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF21_IDX_O_TCP_DST_PORT >> 8) & 0xff,
+               BNXT_ULP_HF21_IDX_O_TCP_DST_PORT & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 16,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF21_IDX_O_TCP_SRC_PORT >> 8) & 0xff,
+               BNXT_ULP_HF21_IDX_O_TCP_SRC_PORT & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {
+               BNXT_ULP_SYM_IP_PROTO_TCP,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 32,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF21_IDX_O_IPV4_DST_ADDR >> 8) & 0xff,
+               BNXT_ULP_HF21_IDX_O_IPV4_DST_ADDR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 32,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF21_IDX_O_IPV4_SRC_ADDR >> 8) & 0xff,
+               BNXT_ULP_HF21_IDX_O_IPV4_SRC_ADDR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 48,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 24,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 10,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
        .spec_operand = {
-               (BNXT_ULP_HF22_IDX_O_ETH_SMAC >> 8) & 0xff,
-               BNXT_ULP_HF22_IDX_O_ETH_SMAC & 0xff,
+               (BNXT_ULP_HF22_IDX_SVIF_INDEX >> 8) & 0xff,
+               BNXT_ULP_HF22_IDX_SVIF_INDEX & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 48,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 12,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
        .mask_operand = {
                (BNXT_ULP_HF22_IDX_SVIF_INDEX >> 8) & 0xff,
@@ -10431,15 +12096,8 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        },
        {
        .field_bit_size = 2,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
-       .spec_operand = {
-               (BNXT_ULP_CF_IDX_O_VTAG_NUM >> 8) & 0xff,
-               BNXT_ULP_CF_IDX_O_VTAG_NUM & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 2,
@@ -10459,12 +12117,8 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        },
        {
        .field_bit_size = 2,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .spec_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 4,
@@ -10490,8 +12144,8 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
        .spec_operand = {
-               (BNXT_ULP_GLB_REGFILE_INDEX_L2_PROF_FUNC_ID >> 8) & 0xff,
-               BNXT_ULP_GLB_REGFILE_INDEX_L2_PROF_FUNC_ID & 0xff,
+               (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
@@ -10512,18 +12166,32 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        },
        {
        .field_bit_size = 4,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {
+               BNXT_ULP_SYM_L4_HDR_TYPE_UDP,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {
+               BNXT_ULP_SYM_L4_HDR_VALID_YES,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 1,
@@ -10545,7 +12213,11 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
                0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {
+               BNXT_ULP_SYM_L3_HDR_TYPE_IPV6,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 1,
@@ -10577,9 +12249,7 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        },
        {
        .field_bit_size = 2,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
@@ -10624,9 +12294,7 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        },
        {
        .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
@@ -10646,9 +12314,7 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        },
        {
        .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
@@ -10678,9 +12344,7 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        },
        {
        .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
@@ -10705,9 +12369,7 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        },
        {
        .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
@@ -10727,8 +12389,8 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
                0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
        .spec_operand = {
-               (BNXT_ULP_GLB_REGFILE_INDEX_L2_PROF_FUNC_ID >> 8) & 0xff,
-               BNXT_ULP_GLB_REGFILE_INDEX_L2_PROF_FUNC_ID & 0xff,
+               (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
@@ -10766,7 +12428,7 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 7,
+       .field_bit_size = 59,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
@@ -10778,24 +12440,63 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        {
        .field_bit_size = 16,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF22_IDX_O_UDP_DST_PORT >> 8) & 0xff,
+               BNXT_ULP_HF22_IDX_O_UDP_DST_PORT & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 12,
+       .field_bit_size = 16,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF22_IDX_O_UDP_SRC_PORT >> 8) & 0xff,
+               BNXT_ULP_HF22_IDX_O_UDP_SRC_PORT & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 48,
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {
+               BNXT_ULP_SYM_IP_PROTO_UDP,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 128,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF22_IDX_O_IPV6_DST_ADDR >> 8) & 0xff,
+               BNXT_ULP_HF22_IDX_O_IPV6_DST_ADDR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 128,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
        .spec_operand = {
-               (BNXT_ULP_HF22_IDX_O_ETH_DMAC >> 8) & 0xff,
-               BNXT_ULP_HF22_IDX_O_ETH_DMAC & 0xff,
+               (BNXT_ULP_HF22_IDX_O_IPV6_SRC_ADDR >> 8) & 0xff,
+               BNXT_ULP_HF22_IDX_O_IPV6_SRC_ADDR & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
+       .field_bit_size = 48,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 24,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
        .field_bit_size = 10,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
@@ -10816,62 +12517,111 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 12,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
-       .mask_operand = {
-               (BNXT_ULP_HF23_IDX_OO_VLAN_VID >> 8) & 0xff,
-               BNXT_ULP_HF23_IDX_OO_VLAN_VID & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
-       .spec_operand = {
-               (BNXT_ULP_HF23_IDX_OO_VLAN_VID >> 8) & 0xff,
-               BNXT_ULP_HF23_IDX_OO_VLAN_VID & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .field_bit_size = 3,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 12,
+       .field_bit_size = 3,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 48,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
-       .mask_operand = {
-               (BNXT_ULP_HF23_IDX_O_ETH_SMAC >> 8) & 0xff,
-               BNXT_ULP_HF23_IDX_O_ETH_SMAC & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .field_bit_size = 16,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
        .spec_operand = {
-               (BNXT_ULP_HF23_IDX_O_ETH_SMAC >> 8) & 0xff,
-               BNXT_ULP_HF23_IDX_O_ETH_SMAC & 0xff,
+               (BNXT_ULP_HF22_IDX_O_UDP_DST_PORT >> 8) & 0xff,
+               BNXT_ULP_HF22_IDX_O_UDP_DST_PORT & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 12,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
-       .mask_operand = {
-               (BNXT_ULP_HF23_IDX_SVIF_INDEX >> 8) & 0xff,
-               BNXT_ULP_HF23_IDX_SVIF_INDEX & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .field_bit_size = 16,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
        .spec_operand = {
-               (BNXT_ULP_HF23_IDX_SVIF_INDEX >> 8) & 0xff,
-               BNXT_ULP_HF23_IDX_SVIF_INDEX & 0xff,
+               (BNXT_ULP_HF22_IDX_O_UDP_SRC_PORT >> 8) & 0xff,
+               BNXT_ULP_HF22_IDX_O_UDP_SRC_PORT & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 12,
+       .field_bit_size = 8,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {
+               BNXT_ULP_SYM_IP_PROTO_UDP,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 12,
+       .field_bit_size = 128,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF22_IDX_O_IPV6_DST_ADDR >> 8) & 0xff,
+               BNXT_ULP_HF22_IDX_O_IPV6_DST_ADDR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 128,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF22_IDX_O_IPV6_SRC_ADDR >> 8) & 0xff,
+               BNXT_ULP_HF22_IDX_O_IPV6_SRC_ADDR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 48,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 24,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 10,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF23_IDX_SVIF_INDEX >> 8) & 0xff,
+               BNXT_ULP_HF23_IDX_SVIF_INDEX & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 12,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
@@ -10881,18 +12631,41 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 2,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .mask_operand = {
+               (BNXT_ULP_HF23_IDX_SVIF_INDEX >> 8) & 0xff,
+               BNXT_ULP_HF23_IDX_SVIF_INDEX & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
        .spec_operand = {
-               (BNXT_ULP_CF_IDX_O_VTAG_NUM >> 8) & 0xff,
-               BNXT_ULP_CF_IDX_O_VTAG_NUM & 0xff,
+               (BNXT_ULP_HF23_IDX_SVIF_INDEX >> 8) & 0xff,
+               BNXT_ULP_HF23_IDX_SVIF_INDEX & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 48,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
        .field_bit_size = 2,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
@@ -10910,12 +12683,8 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        },
        {
        .field_bit_size = 2,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .spec_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 4,
@@ -10941,8 +12710,8 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
        .spec_operand = {
-               (BNXT_ULP_GLB_REGFILE_INDEX_L2_PROF_FUNC_ID >> 8) & 0xff,
-               BNXT_ULP_GLB_REGFILE_INDEX_L2_PROF_FUNC_ID & 0xff,
+               (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
@@ -10963,18 +12732,28 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        },
        {
        .field_bit_size = 4,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {
+               BNXT_ULP_SYM_L4_HDR_VALID_YES,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 1,
@@ -11032,9 +12811,7 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        },
        {
        .field_bit_size = 2,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
@@ -11079,9 +12856,7 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        },
        {
        .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
@@ -11101,9 +12876,7 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        },
        {
        .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
@@ -11133,9 +12906,7 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        },
        {
        .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
@@ -11160,9 +12931,7 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        },
        {
        .field_bit_size = 1,
-       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
@@ -11182,8 +12951,8 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
                0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
        .spec_operand = {
-               (BNXT_ULP_GLB_REGFILE_INDEX_L2_PROF_FUNC_ID >> 8) & 0xff,
-               BNXT_ULP_GLB_REGFILE_INDEX_L2_PROF_FUNC_ID & 0xff,
+               (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
@@ -11221,7 +12990,7 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 7,
+       .field_bit_size = 59,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
@@ -11233,24 +13002,63 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
        {
        .field_bit_size = 16,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF23_IDX_O_TCP_DST_PORT >> 8) & 0xff,
+               BNXT_ULP_HF23_IDX_O_TCP_DST_PORT & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 12,
+       .field_bit_size = 16,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
-       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF23_IDX_O_TCP_SRC_PORT >> 8) & 0xff,
+               BNXT_ULP_HF23_IDX_O_TCP_SRC_PORT & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 48,
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {
+               BNXT_ULP_SYM_IP_PROTO_TCP,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 128,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
        .spec_operand = {
-               (BNXT_ULP_HF23_IDX_O_ETH_DMAC >> 8) & 0xff,
-               BNXT_ULP_HF23_IDX_O_ETH_DMAC & 0xff,
+               (BNXT_ULP_HF23_IDX_O_IPV6_DST_ADDR >> 8) & 0xff,
+               BNXT_ULP_HF23_IDX_O_IPV6_DST_ADDR & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
+       .field_bit_size = 128,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF23_IDX_O_IPV6_SRC_ADDR >> 8) & 0xff,
+               BNXT_ULP_HF23_IDX_O_IPV6_SRC_ADDR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 48,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 24,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
        .field_bit_size = 10,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
@@ -11269,64 +13077,1606 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]
                BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-       }
-};
-
-struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[] = {
-       {
-       .field_bit_size = 14,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .field_bit_size = 3,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .field_bit_size = 3,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .field_bit_size = 16,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF23_IDX_O_TCP_DST_PORT >> 8) & 0xff,
+               BNXT_ULP_HF23_IDX_O_TCP_DST_PORT & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .field_bit_size = 16,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF23_IDX_O_TCP_SRC_PORT >> 8) & 0xff,
+               BNXT_ULP_HF23_IDX_O_TCP_SRC_PORT & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 8,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {
+               BNXT_ULP_SYM_IP_PROTO_TCP,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .field_bit_size = 128,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF23_IDX_O_IPV6_DST_ADDR >> 8) & 0xff,
+               BNXT_ULP_HF23_IDX_O_IPV6_DST_ADDR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .field_bit_size = 128,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF23_IDX_O_IPV6_SRC_ADDR >> 8) & 0xff,
+               BNXT_ULP_HF23_IDX_O_IPV6_SRC_ADDR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 11,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .field_bit_size = 48,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 10,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .field_bit_size = 24,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 10,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .mask_operand = {
+               (BNXT_ULP_HF24_IDX_OO_VLAN_VID >> 8) & 0xff,
+               BNXT_ULP_HF24_IDX_OO_VLAN_VID & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF24_IDX_OO_VLAN_VID >> 8) & 0xff,
+               BNXT_ULP_HF24_IDX_OO_VLAN_VID & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 48,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .mask_operand = {
+               (BNXT_ULP_HF24_IDX_O_ETH_SMAC >> 8) & 0xff,
+               BNXT_ULP_HF24_IDX_O_ETH_SMAC & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF24_IDX_O_ETH_SMAC >> 8) & 0xff,
+               BNXT_ULP_HF24_IDX_O_ETH_SMAC & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .mask_operand = {
+               (BNXT_ULP_HF24_IDX_SVIF_INDEX >> 8) & 0xff,
+               BNXT_ULP_HF24_IDX_SVIF_INDEX & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF24_IDX_SVIF_INDEX >> 8) & 0xff,
+               BNXT_ULP_HF24_IDX_SVIF_INDEX & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 48,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_CF_IDX_O_VTAG_NUM >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_VTAG_NUM & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 4,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {
+               BNXT_ULP_SYM_TUN_HDR_TYPE_NONE,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 4,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 7,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_GLB_REGFILE_INDEX_L2_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_REGFILE_INDEX_L2_PROF_FUNC_ID & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_CLASS_TID >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_CLASS_TID & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 4,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 4,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {
+               BNXT_ULP_SYM_L3_HDR_VALID_YES,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {
+               BNXT_ULP_SYM_L2_HDR_VALID_YES,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 3,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 4,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 4,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 4,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 9,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 7,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_GLB_REGFILE_INDEX_L2_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_REGFILE_INDEX_L2_PROF_FUNC_ID & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 351,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 3,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 16,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 48,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF24_IDX_O_ETH_DMAC >> 8) & 0xff,
+               BNXT_ULP_HF24_IDX_O_ETH_DMAC & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 10,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 7,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 3,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 16,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 48,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF24_IDX_O_ETH_DMAC >> 8) & 0xff,
+               BNXT_ULP_HF24_IDX_O_ETH_DMAC & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 10,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .mask_operand = {
+               (BNXT_ULP_HF25_IDX_OO_VLAN_VID >> 8) & 0xff,
+               BNXT_ULP_HF25_IDX_OO_VLAN_VID & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF25_IDX_OO_VLAN_VID >> 8) & 0xff,
+               BNXT_ULP_HF25_IDX_OO_VLAN_VID & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 48,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .mask_operand = {
+               (BNXT_ULP_HF25_IDX_O_ETH_SMAC >> 8) & 0xff,
+               BNXT_ULP_HF25_IDX_O_ETH_SMAC & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF25_IDX_O_ETH_SMAC >> 8) & 0xff,
+               BNXT_ULP_HF25_IDX_O_ETH_SMAC & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .mask_operand = {
+               (BNXT_ULP_HF25_IDX_SVIF_INDEX >> 8) & 0xff,
+               BNXT_ULP_HF25_IDX_SVIF_INDEX & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF25_IDX_SVIF_INDEX >> 8) & 0xff,
+               BNXT_ULP_HF25_IDX_SVIF_INDEX & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 48,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_CF_IDX_O_VTAG_NUM >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_O_VTAG_NUM & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 4,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {
+               BNXT_ULP_SYM_TUN_HDR_TYPE_NONE,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 4,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 7,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_GLB_REGFILE_INDEX_L2_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_REGFILE_INDEX_L2_PROF_FUNC_ID & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_CLASS_TID >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_CLASS_TID & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 4,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 4,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {
+               BNXT_ULP_SYM_L3_HDR_TYPE_IPV6,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {
+               BNXT_ULP_SYM_L3_HDR_VALID_YES,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {
+               BNXT_ULP_SYM_L2_HDR_VALID_YES,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 3,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 4,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 4,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 4,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 9,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 7,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_GLB_REGFILE_INDEX_L2_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_REGFILE_INDEX_L2_PROF_FUNC_ID & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+               0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .spec_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 351,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 3,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 16,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 48,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF25_IDX_O_ETH_DMAC >> 8) & 0xff,
+               BNXT_ULP_HF25_IDX_O_ETH_DMAC & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 10,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 7,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 3,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 16,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 12,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 48,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
+       .spec_operand = {
+               (BNXT_ULP_HF25_IDX_O_ETH_DMAC >> 8) & 0xff,
+               BNXT_ULP_HF25_IDX_O_ETH_DMAC & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 10,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 8,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .spec_operand = {
+               (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       }
+};
+
+struct bnxt_ulp_mapper_result_field_info ulp_stingray_class_result_field_list[] = {
+       {
+       .field_bit_size = 14,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 8,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 11,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 10,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 16,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 10,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 16,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 10,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 4,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 12,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
+       .result_operand = {
+               (BNXT_ULP_CF_IDX_DRV_FUNC_VNIC >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_DRV_FUNC_VNIC & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 10,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 10,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 7,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 4,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
+       .result_operand = {
+               (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 8,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 3,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 6,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 3,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 16,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 2,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 32,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 32,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 32,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 14,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 8,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 11,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 10,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 16,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 10,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 16,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 10,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 4,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 12,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
+       .result_operand = {
+               (BNXT_ULP_CF_IDX_PHY_PORT_VPORT >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_PHY_PORT_VPORT & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 16,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 4,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
+       .result_operand = {
+               (BNXT_ULP_CF_IDX_DRV_FUNC_PARIF >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_DRV_FUNC_PARIF & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 8,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 3,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 6,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 3,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 16,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 2,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 10,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 10,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 7,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 4,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
+       .result_operand = {
+               (BNXT_ULP_CF_IDX_DRV_FUNC_PARIF >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_DRV_FUNC_PARIF & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 8,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 3,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 6,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 3,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 16,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 10,
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 2,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 32,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 32,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 32,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 3,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 16,
+       .field_bit_size = 3,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 10,
+       .field_bit_size = 3,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
@@ -11334,8 +14684,12 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .field_bit_size = 4,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {
+               BNXT_ULP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 1,
@@ -11343,18 +14697,21 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        },
        {
        .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 4,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .field_bit_size = 16,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x81, 0x00}
        },
        {
        .field_bit_size = 12,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
        .result_operand = {
-               (BNXT_ULP_CF_IDX_DRV_FUNC_VNIC >> 8) & 0xff,
-               BNXT_ULP_CF_IDX_DRV_FUNC_VNIC & 0xff,
+               (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
@@ -11363,11 +14720,27 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
+       .field_bit_size = 3,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 16,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 14,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
        .field_bit_size = 1,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 2,
+       .field_bit_size = 1,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
@@ -11375,6 +14748,10 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
+       .field_bit_size = 8,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
        .field_bit_size = 1,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
@@ -11383,31 +14760,45 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 10,
+       .field_bit_size = 11,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
        .result_operand = {
-               (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
-               BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
+               (BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 10,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
-       .result_operand = {
-               (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
-               BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 7,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
-       .result_operand = {
-               (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
-               BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .field_bit_size = 16,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 10,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 16,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 10,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
@@ -11415,27 +14806,35 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        },
        {
        .field_bit_size = 4,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 12,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .result_operand = {
-               (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,
-               BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff,
+               (BNXT_ULP_SYM_STINGRAY_LOOPBACK_PORT >> 8) & 0xff,
+               BNXT_ULP_SYM_STINGRAY_LOOPBACK_PORT & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 8,
+       .field_bit_size = 1,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 3,
+       .field_bit_size = 1,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 6,
+       .field_bit_size = 2,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 3,
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
@@ -11448,44 +14847,57 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        },
        {
        .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 2,
+       .field_bit_size = 4,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 2,
+       .field_bit_size = 8,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 32,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
-       .result_operand = {
-               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
-               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .field_bit_size = 3,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 32,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
-       .result_operand = {
-               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
-               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .field_bit_size = 6,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 32,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
-       .result_operand = {
-               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
-               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .field_bit_size = 3,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 16,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 2,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 14,
@@ -11567,14 +14979,16 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        .field_bit_size = 12,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
        .result_operand = {
-               (BNXT_ULP_CF_IDX_PHY_PORT_VPORT >> 8) & 0xff,
-               BNXT_ULP_CF_IDX_PHY_PORT_VPORT & 0xff,
+               (BNXT_ULP_CF_IDX_VF_FUNC_VNIC >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_VF_FUNC_VNIC & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 1,
@@ -11598,7 +15012,12 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        },
        {
        .field_bit_size = 16,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 1,
@@ -11612,14 +15031,70 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        },
        {
        .field_bit_size = 4,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 8,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 3,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 6,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 3,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 16,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 2,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 16,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
        .result_operand = {
-               (BNXT_ULP_CF_IDX_DRV_FUNC_PARIF >> 8) & 0xff,
-               BNXT_ULP_CF_IDX_DRV_FUNC_PARIF & 0xff,
+               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 4,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
        .field_bit_size = 8,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
@@ -11637,9 +15112,7 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        },
        {
        .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 16,
@@ -11692,12 +15165,11 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        },
        {
        .field_bit_size = 4,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .result_operand = {
-               (BNXT_ULP_CF_IDX_DRV_FUNC_PARIF >> 8) & 0xff,
-               BNXT_ULP_CF_IDX_DRV_FUNC_PARIF & 0xff,
+               BNXT_ULP_SYM_VF_FUNC_PARIF,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 8,
@@ -11739,92 +15211,32 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        },
        {
        .field_bit_size = 32,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
        .result_operand = {
-               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
-               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
+               (BNXT_ULP_GLB_REGFILE_INDEX_GLB_LB_AREC_PTR >> 8) & 0xff,
+               BNXT_ULP_GLB_REGFILE_INDEX_GLB_LB_AREC_PTR & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 32,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
        .result_operand = {
-               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
-               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
+               (BNXT_ULP_GLB_REGFILE_INDEX_GLB_LB_AREC_PTR >> 8) & 0xff,
+               BNXT_ULP_GLB_REGFILE_INDEX_GLB_LB_AREC_PTR & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 32,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
-       .result_operand = {
-               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
-               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-       },
-       {
-       .field_bit_size = 3,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 3,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 3,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 4,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .result_operand = {
-               BNXT_ULP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-       },
-       {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-       },
-       {
-       .field_bit_size = 16,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .result_operand = {0x81, 0x00}
-       },
-       {
-       .field_bit_size = 12,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
        .result_operand = {
-               (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
-               BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff,
+               (BNXT_ULP_GLB_REGFILE_INDEX_GLB_LB_AREC_PTR >> 8) & 0xff,
+               BNXT_ULP_GLB_REGFILE_INDEX_GLB_LB_AREC_PTR & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 3,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 16,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
        .field_bit_size = 14,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
@@ -11858,12 +15270,7 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        },
        {
        .field_bit_size = 11,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
-       .result_operand = {
-               (BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 >> 8) & 0xff,
-               BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 10,
@@ -11907,10 +15314,10 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        },
        {
        .field_bit_size = 12,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
        .result_operand = {
-               (BNXT_ULP_SYM_STINGRAY_LOOPBACK_PORT >> 8) & 0xff,
-               BNXT_ULP_SYM_STINGRAY_LOOPBACK_PORT & 0xff,
+               (BNXT_ULP_CF_IDX_DRV_FUNC_VNIC >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_DRV_FUNC_VNIC & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
@@ -11940,7 +15347,12 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        },
        {
        .field_bit_size = 16,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 1,
@@ -11974,9 +15386,7 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        },
        {
        .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 16,
@@ -12074,45 +15484,10 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        },
        {
        .field_bit_size = 12,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
-       .result_operand = {
-               (BNXT_ULP_CF_IDX_VF_FUNC_VNIC >> 8) & 0xff,
-               BNXT_ULP_CF_IDX_VF_FUNC_VNIC & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-       },
-       {
-       .field_bit_size = 1,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-       },
-       {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 2,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 16,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
        .result_operand = {
-               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
-               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
+               (BNXT_ULP_SYM_STINGRAY_LOOPBACK_PORT >> 8) & 0xff,
+               BNXT_ULP_SYM_STINGRAY_LOOPBACK_PORT & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
@@ -12122,46 +15497,6 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        },
        {
        .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-       },
-       {
-       .field_bit_size = 4,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 8,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 3,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 6,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 3,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 16,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-       },
-       {
-       .field_bit_size = 2,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
@@ -12169,74 +15504,16 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 16,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
-       .result_operand = {
-               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
-               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-       },
-       {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-       },
-       {
-       .field_bit_size = 4,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 8,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 3,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 6,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 3,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
        .field_bit_size = 1,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 16,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
        .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-       },
-       {
-       .field_bit_size = 2,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 2,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 10,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
-       .result_operand = {
-               (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
-               BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 10,
@@ -12251,8 +15528,8 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        .field_bit_size = 7,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
        .result_operand = {
-               (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
-               BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
+               (BNXT_ULP_GLB_REGFILE_INDEX_L2_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_REGFILE_INDEX_L2_PROF_FUNC_ID & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
@@ -12262,11 +15539,12 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        },
        {
        .field_bit_size = 4,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
        .result_operand = {
-               BNXT_ULP_SYM_VF_FUNC_PARIF,
+               (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 8,
@@ -12307,38 +15585,20 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 32,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
-       .result_operand = {
-               (BNXT_ULP_GLB_REGFILE_INDEX_GLB_LB_AREC_PTR >> 8) & 0xff,
-               BNXT_ULP_GLB_REGFILE_INDEX_GLB_LB_AREC_PTR & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-       },
-       {
-       .field_bit_size = 32,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
-       .result_operand = {
-               (BNXT_ULP_GLB_REGFILE_INDEX_GLB_LB_AREC_PTR >> 8) & 0xff,
-               BNXT_ULP_GLB_REGFILE_INDEX_GLB_LB_AREC_PTR & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-       },
-       {
-       .field_bit_size = 32,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
+       .field_bit_size = 10,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
        .result_operand = {
-               (BNXT_ULP_GLB_REGFILE_INDEX_GLB_LB_AREC_PTR >> 8) & 0xff,
-               BNXT_ULP_GLB_REGFILE_INDEX_GLB_LB_AREC_PTR & 0xff,
+               (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 14,
+       .field_bit_size = 4,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 1,
+       .field_bit_size = 8,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
@@ -12346,93 +15606,136 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .field_bit_size = 10,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {
+               (0x0005 >> 8) & 0xff,
+               0x0005 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .field_bit_size = 5,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x15, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 8,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 1,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 11,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .field_bit_size = 33,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 10,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 16,
+       .field_bit_size = 1,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 10,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .field_bit_size = 5,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 16,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .field_bit_size = 9,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {
+               (0x00c5 >> 8) & 0xff,
+               0x00c5 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 10,
+       .field_bit_size = 11,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
+       .field_bit_size = 2,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
        .field_bit_size = 1,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 33,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 1,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 4,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .field_bit_size = 5,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 12,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
+       .field_bit_size = 9,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .result_operand = {
-               (BNXT_ULP_CF_IDX_DRV_FUNC_VNIC >> 8) & 0xff,
-               BNXT_ULP_CF_IDX_DRV_FUNC_VNIC & 0xff,
+               (0x00c5 >> 8) & 0xff,
+               0x00c5 & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 1,
+       .field_bit_size = 11,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 2,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 1,
@@ -12440,30 +15743,40 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        },
        {
        .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 16,
+       .field_bit_size = 10,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
        .result_operand = {
-               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
-               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
+               (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .field_bit_size = 7,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_GLB_REGFILE_INDEX_L2_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_REGFILE_INDEX_L2_PROF_FUNC_ID & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 4,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
+       .result_operand = {
+               (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 8,
@@ -12504,15 +15817,20 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 14,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .field_bit_size = 10,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 1,
+       .field_bit_size = 4,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 1,
+       .field_bit_size = 8,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
@@ -12520,85 +15838,136 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .field_bit_size = 10,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {
+               (0x0005 >> 8) & 0xff,
+               0x0005 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 5,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x15, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 8,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 1,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 11,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .field_bit_size = 33,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 10,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 16,
+       .field_bit_size = 1,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 10,
+       .field_bit_size = 5,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 9,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {
+               (0x00c5 >> 8) & 0xff,
+               0x00c5 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 11,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 16,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .field_bit_size = 2,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 10,
+       .field_bit_size = 1,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .field_bit_size = 33,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 1,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 4,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .field_bit_size = 5,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 12,
+       .field_bit_size = 9,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .result_operand = {
-               (BNXT_ULP_SYM_STINGRAY_LOOPBACK_PORT >> 8) & 0xff,
-               BNXT_ULP_SYM_STINGRAY_LOOPBACK_PORT & 0xff,
+               (0x00c5 >> 8) & 0xff,
+               0x00c5 & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 1,
+       .field_bit_size = 11,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 2,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 1,
@@ -12606,11 +15975,18 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        },
        {
        .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .field_bit_size = 10,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 10,
@@ -12625,8 +16001,8 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        .field_bit_size = 7,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
        .result_operand = {
-               (BNXT_ULP_GLB_REGFILE_INDEX_L2_PROF_FUNC_ID >> 8) & 0xff,
-               BNXT_ULP_GLB_REGFILE_INDEX_L2_PROF_FUNC_ID & 0xff,
+               (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
@@ -12706,8 +16082,8 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        .field_bit_size = 10,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .result_operand = {
-               (0x0005 >> 8) & 0xff,
-               0x0005 & 0xff,
+               (0x00f9 >> 8) & 0xff,
+               0x00f9 & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
@@ -12791,6 +16167,69 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
+       .field_bit_size = 33,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 5,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 9,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {
+               (0x00c5 >> 8) & 0xff,
+               0x00c5 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 11,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 10,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
        .field_bit_size = 10,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
        .result_operand = {
@@ -12803,8 +16242,8 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        .field_bit_size = 7,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
        .result_operand = {
-               (BNXT_ULP_GLB_REGFILE_INDEX_L2_PROF_FUNC_ID >> 8) & 0xff,
-               BNXT_ULP_GLB_REGFILE_INDEX_L2_PROF_FUNC_ID & 0xff,
+               (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
@@ -12884,8 +16323,8 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        .field_bit_size = 10,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .result_operand = {
-               (0x0005 >> 8) & 0xff,
-               0x0005 & 0xff,
+               (0x00f9 >> 8) & 0xff,
+               0x00f9 & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
@@ -12969,6 +16408,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
+       .field_bit_size = 33,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 5,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 9,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {
+               (0x00c5 >> 8) & 0xff,
+               0x00c5 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 11,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
        .field_bit_size = 10,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
        .result_operand = {
@@ -13077,19 +16570,77 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 5,
+       .field_bit_size = 5,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x19, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 8,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 33,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 5,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 9,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {
+               (0x0185 >> 8) & 0xff,
+               0x0185 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 11,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .result_operand = {0x15, 0x00, 0x00, 0x00, 0x00, 0x00,
+       .result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 8,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
-       .result_operand = {
-               (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
-               BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
@@ -13098,10 +16649,6 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
        .field_bit_size = 33,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
        .result_operand = {
@@ -13130,8 +16677,8 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        .field_bit_size = 9,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .result_operand = {
-               (0x00c5 >> 8) & 0xff,
-               0x00c5 & 0xff,
+               (0x0185 >> 8) & 0xff,
+               0x0185 & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
@@ -13266,7 +16813,7 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        {
        .field_bit_size = 5,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .result_operand = {0x15, 0x00, 0x00, 0x00, 0x00, 0x00,
+       .result_operand = {0x19, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
@@ -13317,8 +16864,8 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        .field_bit_size = 9,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .result_operand = {
-               (0x00c5 >> 8) & 0xff,
-               0x00c5 & 0xff,
+               (0x0185 >> 8) & 0xff,
+               0x0185 & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
@@ -13343,15 +16890,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 10,
+       .field_bit_size = 33,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
        .result_operand = {
-               (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
-               BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
+               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 5,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 9,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {
+               (0x0185 >> 8) & 0xff,
+               0x0185 & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
+       .field_bit_size = 11,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
        .field_bit_size = 10,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
        .result_operand = {
@@ -13364,8 +16956,8 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        .field_bit_size = 7,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
        .result_operand = {
-               (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
-               BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
+               (BNXT_ULP_GLB_REGFILE_INDEX_L2_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_REGFILE_INDEX_L2_PROF_FUNC_ID & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
@@ -13453,7 +17045,7 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        {
        .field_bit_size = 5,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .result_operand = {0x19, 0x00, 0x00, 0x00, 0x00, 0x00,
+       .result_operand = {0x15, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
@@ -13504,8 +17096,8 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        .field_bit_size = 9,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .result_operand = {
-               (0x0185 >> 8) & 0xff,
-               0x0185 & 0xff,
+               (0x00c5 >> 8) & 0xff,
+               0x00c5 & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
@@ -13530,15 +17122,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 10,
+       .field_bit_size = 33,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
        .result_operand = {
-               (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
-               BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
+               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 5,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 9,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {
+               (0x00c5 >> 8) & 0xff,
+               0x00c5 & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
+       .field_bit_size = 11,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
        .field_bit_size = 10,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
        .result_operand = {
@@ -13551,8 +17188,8 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        .field_bit_size = 7,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
        .result_operand = {
-               (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
-               BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
+               (BNXT_ULP_GLB_REGFILE_INDEX_L2_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_REGFILE_INDEX_L2_PROF_FUNC_ID & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
@@ -13640,7 +17277,7 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        {
        .field_bit_size = 5,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .result_operand = {0x19, 0x00, 0x00, 0x00, 0x00, 0x00,
+       .result_operand = {0x15, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
@@ -13691,8 +17328,62 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        .field_bit_size = 9,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .result_operand = {
-               (0x0185 >> 8) & 0xff,
-               0x0185 & 0xff,
+               (0x00c5 >> 8) & 0xff,
+               0x00c5 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 11,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 33,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 5,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 9,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {
+               (0x00c5 >> 8) & 0xff,
+               0x00c5 & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
@@ -13818,7 +17509,7 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        {
        .field_bit_size = 5,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .result_operand = {0x15, 0x00, 0x00, 0x00, 0x00, 0x00,
+       .result_operand = {0x19, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
@@ -13833,7 +17524,55 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        {
        .field_bit_size = 1,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 33,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 5,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 9,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {
+               (0x0185 >> 8) & 0xff,
+               0x0185 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 11,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
@@ -13841,6 +17580,12 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
        .field_bit_size = 33,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
        .result_operand = {
@@ -13869,8 +17614,8 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        .field_bit_size = 9,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .result_operand = {
-               (0x00c5 >> 8) & 0xff,
-               0x00c5 & 0xff,
+               (0x0185 >> 8) & 0xff,
+               0x0185 & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
@@ -13996,7 +17741,7 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        {
        .field_bit_size = 5,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .result_operand = {0x15, 0x00, 0x00, 0x00, 0x00, 0x00,
+       .result_operand = {0x19, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
@@ -14047,8 +17792,62 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        .field_bit_size = 9,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .result_operand = {
-               (0x00c5 >> 8) & 0xff,
-               0x00c5 & 0xff,
+               (0x0185 >> 8) & 0xff,
+               0x0185 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 11,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 33,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 5,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 9,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {
+               (0x0185 >> 8) & 0xff,
+               0x0185 & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
@@ -14085,8 +17884,8 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        .field_bit_size = 7,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
        .result_operand = {
-               (BNXT_ULP_GLB_REGFILE_INDEX_L2_PROF_FUNC_ID >> 8) & 0xff,
-               BNXT_ULP_GLB_REGFILE_INDEX_L2_PROF_FUNC_ID & 0xff,
+               (BNXT_ULP_GLB_REGFILE_INDEX_VXLAN_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_REGFILE_INDEX_VXLAN_PROF_FUNC_ID & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
@@ -14166,15 +17965,15 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        .field_bit_size = 10,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .result_operand = {
-               (0x00f9 >> 8) & 0xff,
-               0x00f9 & 0xff,
+               (0x0031 >> 8) & 0xff,
+               0x0031 & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 5,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .result_operand = {0x19, 0x00, 0x00, 0x00, 0x00, 0x00,
+       .result_operand = {0x14, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
@@ -14225,8 +18024,62 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        .field_bit_size = 9,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .result_operand = {
-               (0x0185 >> 8) & 0xff,
-               0x0185 & 0xff,
+               (0x00c5 >> 8) & 0xff,
+               0x00c5 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 11,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 33,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 5,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 9,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {
+               (0x00c5 >> 8) & 0xff,
+               0x00c5 & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
@@ -14263,8 +18116,8 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        .field_bit_size = 7,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
        .result_operand = {
-               (BNXT_ULP_GLB_REGFILE_INDEX_L2_PROF_FUNC_ID >> 8) & 0xff,
-               BNXT_ULP_GLB_REGFILE_INDEX_L2_PROF_FUNC_ID & 0xff,
+               (BNXT_ULP_GLB_REGFILE_INDEX_VXLAN_PROF_FUNC_ID >> 8) & 0xff,
+               BNXT_ULP_GLB_REGFILE_INDEX_VXLAN_PROF_FUNC_ID & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
@@ -14344,15 +18197,15 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        .field_bit_size = 10,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .result_operand = {
-               (0x00f9 >> 8) & 0xff,
-               0x00f9 & 0xff,
+               (0x0031 >> 8) & 0xff,
+               0x0031 & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 5,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .result_operand = {0x19, 0x00, 0x00, 0x00, 0x00, 0x00,
+       .result_operand = {0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
@@ -14429,6 +18282,64 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
+       .field_bit_size = 33,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 5,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 9,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {
+               (0x0185 >> 8) & 0xff,
+               0x0185 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 11,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 64,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
        .field_bit_size = 10,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
        .result_operand = {
@@ -14507,38 +18418,24 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 4,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 8,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
        .field_bit_size = 10,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
        .result_operand = {
-               (0x0031 >> 8) & 0xff,
-               0x0031 & 0xff,
+               (BNXT_ULP_REGFILE_INDEX_WC_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_WC_PROFILE_ID_0 & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 5,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .result_operand = {0x14, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .field_bit_size = 4,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 8,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
        .result_operand = {
-               (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
-               BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
+               (BNXT_ULP_REGFILE_INDEX_WC_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_WC_PROFILE_ID_0 & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
@@ -14549,45 +18446,37 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 33,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .field_bit_size = 10,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .result_operand = {
-               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
-               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
+               (0x001b >> 8) & 0xff,
+               0x001b & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-       },
-       {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
        .field_bit_size = 5,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+       .result_operand = {0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 9,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .field_bit_size = 8,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
        .result_operand = {
-               (0x00c5 >> 8) & 0xff,
-               0x00c5 & 0xff,
+               (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 11,
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
@@ -14597,8 +18486,13 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .field_bit_size = 16,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 1,
@@ -14685,6 +18579,15 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
+       .field_bit_size = 10,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_WC_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_WC_PROFILE_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
        .field_bit_size = 4,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
@@ -14698,32 +18601,66 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        },
        {
        .field_bit_size = 10,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 5,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 8,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 33,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
        .result_operand = {
-               (0x0031 >> 8) & 0xff,
-               0x0031 & 0xff,
+               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
        .field_bit_size = 5,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .result_operand = {0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
+       .result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 8,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .field_bit_size = 9,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .result_operand = {
-               (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
-               BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
+               (0x006d >> 8) & 0xff,
+               0x006d & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 1,
+       .field_bit_size = 11,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+       .result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
@@ -14731,6 +18668,12 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
        .field_bit_size = 33,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
        .result_operand = {
@@ -14759,8 +18702,8 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        .field_bit_size = 9,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .result_operand = {
-               (0x0185 >> 8) & 0xff,
-               0x0185 & 0xff,
+               (0x006d >> 8) & 0xff,
+               0x006d & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
@@ -14987,6 +18930,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
+       .field_bit_size = 33,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 5,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 9,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {
+               (0x00c5 >> 8) & 0xff,
+               0x00c5 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 11,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
        .field_bit_size = 10,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
        .result_operand = {
@@ -15189,6 +19186,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
+       .field_bit_size = 33,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 5,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 9,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {
+               (0x00c5 >> 8) & 0xff,
+               0x00c5 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 11,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
        .field_bit_size = 10,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
        .result_operand = {
@@ -15274,57 +19325,115 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 2,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 2,
+       .field_bit_size = 2,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 10,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 4,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 8,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 10,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {
+               (0x00f9 >> 8) & 0xff,
+               0x00f9 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 5,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x19, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 8,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 10,
+       .field_bit_size = 33,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
        .result_operand = {
-               (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
-               BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
+               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 4,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 8,
+       .field_bit_size = 1,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       .field_bit_size = 5,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 10,
+       .field_bit_size = 9,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .result_operand = {
-               (0x00f9 >> 8) & 0xff,
-               0x00f9 & 0xff,
+               (0x0185 >> 8) & 0xff,
+               0x0185 & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 5,
+       .field_bit_size = 11,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
-       .result_operand = {0x19, 0x00, 0x00, 0x00, 0x00, 0x00,
+       .result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 8,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
-       .result_operand = {
-               (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
-               BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
@@ -15333,10 +19442,6 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
        .field_bit_size = 33,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
        .result_operand = {
@@ -15593,6 +19698,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
+       .field_bit_size = 33,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 5,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 9,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {
+               (0x0185 >> 8) & 0xff,
+               0x0185 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 11,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
        .field_bit_size = 10,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
        .result_operand = {
@@ -15786,6 +19945,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
+       .field_bit_size = 33,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 5,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 9,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {
+               (0x0061 >> 8) & 0xff,
+               0x0061 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 11,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
        .field_bit_size = 10,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
        .result_operand = {
@@ -15975,12 +20188,80 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]
        {
        .field_bit_size = 1,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 33,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 5,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 9,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {
+               (0x0061 >> 8) & 0xff,
+               0x0061 & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 11,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        }
 };
 
-struct bnxt_ulp_mapper_ident_info ulp_class_stingray_ident_list[] = {
+struct bnxt_ulp_mapper_ident_info ulp_stingray_class_ident_list[] = {
+       {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
+       .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
+       .regfile_idx = BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0,
+       .ident_bit_size = 10,
+       .ident_bit_pos = 0
+       },
+       {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
+       .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
+       .regfile_idx = BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0,
+       .ident_bit_size = 10,
+       .ident_bit_pos = 0
+       },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
        .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
@@ -15997,6 +20278,13 @@ struct bnxt_ulp_mapper_ident_info ulp_class_stingray_ident_list[] = {
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
+       .ident_type = TF_IDENT_TYPE_EM_PROF,
+       .regfile_idx = BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0,
+       .ident_bit_size = 10,
+       .ident_bit_pos = 0
+       },
+       {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
        .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
        .regfile_idx = BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0,
        .ident_bit_size = 10,
@@ -16004,6 +20292,13 @@ struct bnxt_ulp_mapper_ident_info ulp_class_stingray_ident_list[] = {
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
+       .ident_type = TF_IDENT_TYPE_EM_PROF,
+       .regfile_idx = BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0,
+       .ident_bit_size = 10,
+       .ident_bit_pos = 0
+       },
+       {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
        .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
        .regfile_idx = BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0,
        .ident_bit_size = 10,
@@ -16158,6 +20453,13 @@ struct bnxt_ulp_mapper_ident_info ulp_class_stingray_ident_list[] = {
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
+       .ident_type = TF_IDENT_TYPE_EM_PROF,
+       .regfile_idx = BNXT_ULP_REGFILE_INDEX_WC_PROFILE_ID_0,
+       .ident_bit_size = 10,
+       .ident_bit_pos = 0
+       },
+       {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
        .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
        .regfile_idx = BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0,
        .ident_bit_size = 10,
@@ -16172,6 +20474,13 @@ struct bnxt_ulp_mapper_ident_info ulp_class_stingray_ident_list[] = {
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
+       .ident_type = TF_IDENT_TYPE_EM_PROF,
+       .regfile_idx = BNXT_ULP_REGFILE_INDEX_WC_PROFILE_ID_0,
+       .ident_bit_size = 10,
+       .ident_bit_pos = 0
+       },
+       {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
        .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
        .regfile_idx = BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0,
        .ident_bit_size = 10,
@@ -16255,4 +20564,3 @@ struct bnxt_ulp_mapper_ident_info ulp_class_stingray_ident_list[] = {
        .ident_bit_pos = 0
        }
 };
-