net/bnxt: fix VLAN/VXLAN encapsulation header size
[dpdk.git] / drivers / net / bnxt / tf_ulp / ulp_template_db_stingray_act.c
index 01d3b8d..7a4d492 100644 (file)
@@ -8,46 +8,40 @@
 #include "ulp_template_struct.h"
 #include "ulp_rte_parser.h"
 
-struct bnxt_ulp_mapper_tbl_list_info ulp_act_stingray_tmpl_list[] = {
+struct bnxt_ulp_mapper_tbl_list_info ulp_stingray_act_tmpl_list[] = {
        [1] = {
        .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
-       .num_tbls = 5,
-       .start_tbl_idx = 0,
-       .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
+       .num_tbls = 6,
+       .start_tbl_idx = 0
        },
        [2] = {
        .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
-       .num_tbls = 2,
-       .start_tbl_idx = 5,
-       .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
+       .num_tbls = 3,
+       .start_tbl_idx = 6
        },
        [3] = {
        .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
-       .num_tbls = 2,
-       .start_tbl_idx = 7,
-       .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
+       .num_tbls = 3,
+       .start_tbl_idx = 9
        },
        [4] = {
        .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
-       .num_tbls = 5,
-       .start_tbl_idx = 9,
-       .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
+       .num_tbls = 6,
+       .start_tbl_idx = 12
        },
        [5] = {
        .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
-       .num_tbls = 5,
-       .start_tbl_idx = 14,
-       .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
+       .num_tbls = 6,
+       .start_tbl_idx = 18
        },
        [6] = {
        .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
-       .num_tbls = 3,
-       .start_tbl_idx = 19,
-       .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
+       .num_tbls = 5,
+       .start_tbl_idx = 24
        }
 };
 
-struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {
+struct bnxt_ulp_mapper_tbl_info ulp_stingray_act_tbl_list[] = {
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
        .resource_type = TF_TBL_TYPE_ACT_STATS_64,
@@ -61,9 +55,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {
        .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,
-       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
+       .index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -78,9 +72,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {
        .result_bit_size = 32,
        .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_MODIFY_IPV4_SRC_PTR_0,
-       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
+       .index_operand = BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -95,39 +89,57 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {
        .result_bit_size = 32,
        .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_MODIFY_IPV4_DST_PTR_0,
-       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
+       .index_operand = BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
        .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
        .direction = TF_DIR_RX,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
        .result_start_idx = 3,
        .result_bit_size = 0,
        .result_num_fields = 0,
        .encap_num_fields = 12,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
        .index_opcode = BNXT_ULP_INDEX_OPCODE_GLOBAL,
-       .index_operand = BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR,
-       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
+       .index_operand = BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
-       .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
+       .resource_type = TF_TBL_TYPE_EXT,
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,
        .direction = TF_DIR_RX,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
        .result_start_idx = 15,
        .result_bit_size = 128,
        .result_num_fields = 26,
        .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_MAIN_ACTION_PTR
+       },
+       {
+       .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,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
+       .direction = TF_DIR_RX,
+       .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
+       .result_start_idx = 41,
+       .result_bit_size = 128,
+       .result_num_fields = 26,
+       .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_MAIN_ACTION_PTR,
-       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
+       .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -138,28 +150,45 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {
        .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
        .direction = TF_DIR_RX,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .result_start_idx = 41,
+       .result_start_idx = 67,
        .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_INDEX_TABLE,
+       .resource_type = TF_TBL_TYPE_EXT,
+       .resource_sub_type =
+               BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,
+       .direction = TF_DIR_RX,
+       .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
+       .result_start_idx = 68,
+       .result_bit_size = 128,
+       .result_num_fields = 26,
+       .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,
-       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
+       .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
        },
        {
        .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,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
        .direction = TF_DIR_RX,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .result_start_idx = 42,
+       .result_start_idx = 94,
        .result_bit_size = 128,
        .result_num_fields = 26,
        .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_MAIN_ACTION_PTR,
-       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
+       .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -170,28 +199,45 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {
        .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
        .direction = TF_DIR_RX,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .result_start_idx = 68,
+       .result_start_idx = 120,
        .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_INDEX_TABLE,
+       .resource_type = TF_TBL_TYPE_EXT,
+       .resource_sub_type =
+               BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,
+       .direction = TF_DIR_RX,
+       .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
+       .result_start_idx = 121,
+       .result_bit_size = 128,
+       .result_num_fields = 26,
+       .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,
-       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
+       .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
        },
        {
        .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,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
        .direction = TF_DIR_RX,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .result_start_idx = 69,
+       .result_start_idx = 147,
        .result_bit_size = 128,
        .result_num_fields = 26,
        .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_MAIN_ACTION_PTR,
-       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
+       .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -202,13 +248,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {
        .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
        .direction = TF_DIR_TX,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .result_start_idx = 95,
+       .result_start_idx = 173,
        .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,
-       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
+       .index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -219,13 +265,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {
        .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV4_FLAG,
        .direction = TF_DIR_TX,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,
-       .result_start_idx = 96,
+       .result_start_idx = 174,
        .result_bit_size = 0,
        .result_num_fields = 0,
        .encap_num_fields = 3,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
        .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
-       .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_SP_PTR,
-       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
+       .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_SP_PTR
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -236,13 +282,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {
        .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV6_FLAG,
        .direction = TF_DIR_TX,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,
-       .result_start_idx = 99,
+       .result_start_idx = 177,
        .result_bit_size = 0,
        .result_num_fields = 0,
        .encap_num_fields = 3,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
        .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
-       .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_SP_PTR,
-       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
+       .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_SP_PTR
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -251,28 +297,45 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {
                BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
        .direction = TF_DIR_TX,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,
-       .result_start_idx = 102,
+       .result_start_idx = 180,
        .result_bit_size = 0,
        .result_num_fields = 0,
        .encap_num_fields = 12,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
+       .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
+       .index_operand = BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0
+       },
+       {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
+       .resource_type = TF_TBL_TYPE_EXT,
+       .resource_sub_type =
+               BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,
+       .direction = TF_DIR_TX,
+       .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
+       .result_start_idx = 192,
+       .result_bit_size = 128,
+       .result_num_fields = 26,
+       .encap_num_fields = 12,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
        .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
-       .index_operand = BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0,
-       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
+       .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
        },
        {
        .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,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
        .direction = TF_DIR_TX,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .result_start_idx = 114,
+       .result_start_idx = 230,
        .result_bit_size = 128,
        .result_num_fields = 26,
        .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_MAIN_ACTION_PTR,
-       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
+       .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -283,13 +346,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {
        .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
        .direction = TF_DIR_TX,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .result_start_idx = 140,
+       .result_start_idx = 256,
        .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,
-       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
+       .index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -300,13 +363,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {
        .cond_operand = BNXT_ULP_ACTION_BIT_SET_IPV4_SRC,
        .direction = TF_DIR_TX,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .result_start_idx = 141,
+       .result_start_idx = 257,
        .result_bit_size = 32,
        .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_MODIFY_IPV4_SRC_PTR_0,
-       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
+       .index_operand = BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -317,43 +380,61 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {
        .cond_operand = BNXT_ULP_ACTION_BIT_SET_IPV4_DST,
        .direction = TF_DIR_TX,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .result_start_idx = 142,
+       .result_start_idx = 258,
        .result_bit_size = 32,
        .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_MODIFY_IPV4_DST_PTR_0,
-       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
+       .index_operand = BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
        .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
        .direction = TF_DIR_TX,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .result_start_idx = 143,
+       .result_start_idx = 259,
        .result_bit_size = 0,
        .result_num_fields = 0,
        .encap_num_fields = 12,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
        .index_opcode = BNXT_ULP_INDEX_OPCODE_GLOBAL,
-       .index_operand = BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR,
-       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
+       .index_operand = BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR
        },
        {
        .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,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
        .direction = TF_DIR_TX,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .result_start_idx = 155,
+       .result_start_idx = 271,
        .result_bit_size = 128,
        .result_num_fields = 26,
        .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_MAIN_ACTION_PTR
+       },
+       {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
+       .resource_type = TF_TBL_TYPE_EXT,
+       .resource_sub_type =
+               BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,
+       .direction = TF_DIR_TX,
+       .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
+       .result_start_idx = 297,
+       .result_bit_size = 128,
+       .result_num_fields = 26,
+       .encap_num_fields = 11,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
        .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
-       .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,
-       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
+       .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -364,49 +445,87 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {
        .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
        .direction = TF_DIR_TX,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .result_start_idx = 181,
+       .result_start_idx = 334,
        .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,
-       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
+       .index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
        .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
        .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
        .cond_operand = BNXT_ULP_ACTION_BIT_PUSH_VLAN,
        .direction = TF_DIR_TX,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .result_start_idx = 182,
+       .result_start_idx = 335,
        .result_bit_size = 0,
        .result_num_fields = 0,
        .encap_num_fields = 12,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
        .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
-       .index_operand = BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0,
-       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
+       .index_operand = BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
        .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
+       .direction = TF_DIR_TX,
+       .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
+       .result_start_idx = 347,
+       .result_bit_size = 128,
+       .result_num_fields = 26,
+       .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_MAIN_ACTION_PTR
+       },
+       {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
+       .resource_type = TF_TBL_TYPE_EXT,
+       .resource_sub_type =
+               BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,
+       .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_NOT_SET,
+       .cond_operand = BNXT_ULP_ACTION_BIT_PUSH_VLAN,
        .direction = TF_DIR_TX,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .result_start_idx = 194,
+       .result_start_idx = 373,
        .result_bit_size = 128,
        .result_num_fields = 26,
        .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_MAIN_ACTION_PTR
+       },
+       {
+       .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
+       .resource_type = TF_TBL_TYPE_EXT,
+       .resource_sub_type =
+               BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
+       .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,
+       .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
+       .cond_operand = BNXT_ULP_ACTION_BIT_PUSH_VLAN,
+       .direction = TF_DIR_TX,
+       .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
+       .result_start_idx = 399,
+       .result_bit_size = 128,
+       .result_num_fields = 26,
+       .encap_num_fields = 11,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
        .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
-       .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,
-       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
+       .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
        }
 };
 
-struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] = {
+struct bnxt_ulp_mapper_result_field_info ulp_stingray_act_result_field_list[] = {
        {
        .field_bit_size = 64,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
@@ -519,6 +638,10 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
+       .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
        },
@@ -540,6 +663,12 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =
                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 = 10,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
        .result_operand = {
@@ -669,18 +798,6 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_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 = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 64,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
        .field_bit_size = 14,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
        .result_operand = {
@@ -729,10 +846,10 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =
        },
        {
        .field_bit_size = 11,
-       .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_ENCAP_PTR_0 >> 8) & 0xff,
-               BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 & 0xff,
+               (BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR >> 8) & 0xff,
+               BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
@@ -824,18 +941,20 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =
        },
        {
        .field_bit_size = 4,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_CONST_ELSE_CONST,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_IF_HDR_BIT_THEN_CONST_ELSE_CONST,
        .result_operand = {
-               ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 56) & 0xff,
-               ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 48) & 0xff,
-               ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 40) & 0xff,
-               ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 32) & 0xff,
-               ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 24) & 0xff,
-               ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 16) & 0xff,
-               ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 8) & 0xff,
-               (uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
-       .result_operand_true = {0x0a, 0x00, 0x00, 0x00, 0x00, 0x00,
+       .result_operand_true = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .result_operand_false = {0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
@@ -849,17 +968,7 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =
        },
        {
        .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
-       .result_operand = {
-               ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,
-               ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,
-               ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,
-               ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,
-               ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,
-               ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,
-               ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,
-               (uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
@@ -871,17 +980,7 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =
        },
        {
        .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
-       .result_operand = {
-               ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,
-               ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,
-               ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,
-               ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,
-               ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,
-               ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,
-               ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,
-               (uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 1,
@@ -931,6 +1030,10 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
+       .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
        },
@@ -947,20 +1050,64 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =
        .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_ZERO
        },
        {
+       .field_bit_size = 10,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 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
+       .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
+       .result_operand = {
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .result_operand_true = {
+               (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 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
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 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
+       .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
+       .result_operand = {
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .result_operand_true = {
+               (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 10,
@@ -976,11 +1123,21 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_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_COMP_FIELD,
+       .result_operand = {
+               (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_ACT_DEC_TTL & 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_COMP_FIELD,
+       .result_operand = {
+               (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 4,
@@ -1031,7 +1188,220 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_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_ACT_BIT,
+       .result_operand = {
+               ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 14,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_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,
+       .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_ACT_BIT,
+       .result_operand = {
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .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_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}
+       },
+       {
+       .field_bit_size = 10,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 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_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
+       .result_operand = {
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .result_operand_true = {
+               (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 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_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 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_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
+       .result_operand = {
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .result_operand_true = {
+               (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 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_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_COMP_FIELD,
+       .result_operand = {
+               (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_ACT_DEC_TTL & 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_COMP_FIELD,
+       .result_operand = {
+               (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 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_IF_ACT_BIT_THEN_CONST_ELSE_CONST,
+       .result_operand = {
+               ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 56) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 48) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 40) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .result_operand_true = {0x0a, 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_ACT_PROP,
+       .result_operand = {
+               (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_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_ACT_BIT,
+       .result_operand = {
+               ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,
+               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_ACT_BIT,
+       .result_operand = {
+               ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 1,
@@ -1046,73 +1416,1284 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 48,
+       .field_bit_size = 14,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_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,
+       .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_ACT_BIT,
+       .result_operand = {
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .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 = 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 = 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_IF_ACT_BIT_THEN_CONST_ELSE_CONST,
+       .result_operand = {
+               ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 56) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 48) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 40) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .result_operand_true = {0x0a, 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_ACT_PROP,
+       .result_operand = {
+               (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_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_ACT_BIT,
+       .result_operand = {
+               ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,
+               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 = 14,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_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,
+       .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_ACT_BIT,
+       .result_operand = {
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .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_IF_ACT_BIT_THEN_CONST_ELSE_CONST,
+       .result_operand = {
+               ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 56) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 48) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 40) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .result_operand_true = {0x0a, 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_ACT_PROP,
+       .result_operand = {
+               (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_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_ACT_BIT,
+       .result_operand = {
+               ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,
+               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 = 64,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 48,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
+       .result_operand = {
+               (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC & 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_ACT_PROP,
+       .result_operand = {
+               (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 48,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 48,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
+       .result_operand = {
+               (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 128,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
+       .result_operand = {
+               (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC & 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 = 3,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {
+               BNXT_ULP_SYM_ECV_TUN_TYPE_VXLAN,
+               0x00, 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_CONSTANT,
+       .result_operand = {
+               BNXT_ULP_SYM_ECV_L4_TYPE_UDP_CSUM,
+               0x00, 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_ACT_PROP,
+       .result_operand = {
+               (BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE & 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 = 4,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
+       .result_operand = {
+               (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE & 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 = 48,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
+       .result_operand = {
+               (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 0,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
+       .result_operand = {
+               (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG & 0xff,
+               (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 0,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
+       .result_operand = {
+               (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_ENCAP_IP & 0xff,
+               (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 32,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
+       .result_operand = {
+               (BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 0,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
+       .result_operand = {
+               (BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN & 0xff,
+               (BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 14,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_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,
+       .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_ACT_BIT,
+       .result_operand = {
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .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 = 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 = 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_ACT_PROP,
+       .result_operand = {
+               (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_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 = 3,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
+       .result_operand = {
+               BNXT_ULP_SYM_ECV_TUN_TYPE_VXLAN,
+               0x00, 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_CONSTANT,
+       .result_operand = {
+               BNXT_ULP_SYM_ECV_L4_TYPE_UDP_CSUM,
+               0x00, 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_ACT_PROP,
+       .result_operand = {
+               (BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE & 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 = 4,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
+       .result_operand = {
+               (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE & 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 = 48,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
+       .result_operand = {
+               (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 0,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
+       .result_operand = {
+               (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG & 0xff,
+               (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 0,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
+       .result_operand = {
+               (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_ENCAP_IP & 0xff,
+               (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 32,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
+       .result_operand = {
+               (BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 0,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
+       .result_operand = {
+               (BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN & 0xff,
+               (BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .field_bit_size = 14,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_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,
+       .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_ACT_BIT,
+       .result_operand = {
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .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_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}
+       },
+       {
+       .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_ACT_PROP,
+       .result_operand = {
+               (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_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 = 64,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 32,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
+       .result_operand = {
+               (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC & 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_ACT_PROP,
+       .result_operand = {
+               (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 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_CONSTANT,
+       .result_operand = {
+               BNXT_ULP_SYM_ECV_L2_EN_YES,
+               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 = 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_ZERO
+       },
+       {
+       .field_bit_size = 12,
+       .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,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 80,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 14,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_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,
+       .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_ACT_BIT,
+       .result_operand = {
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .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_GLB_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR >> 8) & 0xff,
+               BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_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_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 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_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
+       .result_operand = {
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .result_operand_true = {
+               (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 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_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 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_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
+       .result_operand = {
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .result_operand_true = {
+               (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 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_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_COMP_FIELD,
+       .result_operand = {
+               (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_ACT_DEC_TTL & 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_COMP_FIELD,
+       .result_operand = {
+               (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 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_IF_HDR_BIT_THEN_CONST_ELSE_CONST,
+       .result_operand = {
+               ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .result_operand_true = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .result_operand_false = {0x0b, 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_ACT_PROP,
+       .result_operand = {
+               (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_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 = 14,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
+       .result_operand = {
+               (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_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,
+       .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_ACT_BIT,
+       .result_operand = {
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       },
+       {
+       .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 = 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_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 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_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
+       .result_operand = {
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .result_operand_true = {
+               (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 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_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
+               BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 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_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
+       .result_operand = {
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .result_operand_true = {
+               (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 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_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_COMP_FIELD,
+       .result_operand = {
+               (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_ACT_DEC_TTL & 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_COMP_FIELD,
+       .result_operand = {
+               (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 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_IF_HDR_BIT_THEN_CONST_ELSE_CONST,
+       .result_operand = {
+               ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .result_operand_true = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+       .result_operand_false = {0x0b, 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_ACT_PROP,
        .result_operand = {
-               (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff,
-               BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC & 0xff,
+               (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_VPORT & 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_ACT_PROP,
-       .result_operand = {
-               (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff,
-               BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC & 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 = 48,
+       .field_bit_size = 1,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 48,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
-       .result_operand = {
-               (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff,
-               BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC & 0xff,
-               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 = 128,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
-       .result_operand = {
-               (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff,
-               BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC & 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,
+       .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_CONSTANT,
-       .result_operand = {
-               BNXT_ULP_SYM_ECV_TUN_TYPE_VXLAN,
-               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 = 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 = {
-               BNXT_ULP_SYM_ECV_L4_TYPE_UDP_CSUM,
+               BNXT_ULP_SYM_ECV_L2_EN_YES,
                0x00, 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_ACT_PROP,
-       .result_operand = {
-               (BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff,
-               BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE & 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_ZERO
        },
        {
        .field_bit_size = 1,
@@ -1121,13 +2702,48 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =
                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 = 12,
+       .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,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 64,
+       .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 = 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_ACT_PROP,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .result_operand = {
-               (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff,
-               BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE & 0xff,
+               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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 1,
@@ -1140,55 +2756,39 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 48,
+       .field_bit_size = 16,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
        .result_operand = {
-               (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC >> 8) & 0xff,
-               BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC & 0xff,
+               (BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 0,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
+       .field_bit_size = 12,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
        .result_operand = {
-               (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG >> 8) & 0xff,
-               BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG & 0xff,
-               (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ >> 8) & 0xff,
-               BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00,
+               (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 0,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
-       .result_operand = {
-               (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP >> 8) & 0xff,
-               BNXT_ULP_ACT_PROP_IDX_ENCAP_IP & 0xff,
-               (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ >> 8) & 0xff,
-               BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ & 0xff,
-               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 = 32,
+       .field_bit_size = 3,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
        .result_operand = {
-               (BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP >> 8) & 0xff,
-               BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP & 0xff,
+               (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP & 0xff,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
-       .field_bit_size = 0,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
-       .result_operand = {
-               (BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN >> 8) & 0xff,
-               BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN & 0xff,
-               (BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ >> 8) & 0xff,
-               BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+       .field_bit_size = 80,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 14,
@@ -1276,11 +2876,21 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_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_COMP_FIELD,
+       .result_operand = {
+               (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_ACT_DEC_TTL & 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_COMP_FIELD,
+       .result_operand = {
+               (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
+               BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 4,
@@ -1309,90 +2919,24 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_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_ZERO
-       },
-       {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 64,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 32,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
-       .result_operand = {
-               (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff,
-               BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC & 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_ACT_PROP,
-       .result_operand = {
-               (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff,
-               BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 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_CONSTANT,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
        .result_operand = {
-               BNXT_ULP_SYM_ECV_L2_EN_YES,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,
                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_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 = 12,
-       .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,
+       .field_bit_size = 1,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 80,
+       .field_bit_size = 1,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
@@ -1431,6 +2975,10 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
+       .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
        },
@@ -1444,68 +2992,27 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =
        },
        {
        .field_bit_size = 11,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
-       .result_operand = {
-               (BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR >> 8) & 0xff,
-               BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR & 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,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
-       .result_operand = {
-               (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
-               BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_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 = 16,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
-       .result_operand = {
-               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,
-               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,
-               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,
-               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,
-               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,
-               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,
-               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,
-               (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
-       .result_operand_true = {
-               (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
-               BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 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,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
-       .result_operand = {
-               (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
-               BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_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 = 16,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
-       .result_operand = {
-               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,
-               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,
-               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,
-               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,
-               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,
-               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,
-               ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,
-               (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
-       .result_operand_true = {
-               (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
-               BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 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,
@@ -1539,21 +3046,7 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =
        },
        {
        .field_bit_size = 4,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_IF_HDR_BIT_THEN_CONST_ELSE_CONST,
-       .result_operand = {
-               ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
-               ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
-               (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
-       .result_operand_true = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
-       .result_operand_false = {0x0b, 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 = 12,
@@ -1578,90 +3071,19 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_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_ZERO
-       },
-       {
-       .field_bit_size = 1,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
-       .field_bit_size = 64,
-       .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 = 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_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
        .result_operand = {
-               BNXT_ULP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,
                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_ACT_PROP,
-       .result_operand = {
-               (BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN >> 8) & 0xff,
-               BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN & 0xff,
-               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_ACT_PROP,
-       .result_operand = {
-               (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff,
-               BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID & 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_ACT_PROP,
-       .result_operand = {
-               (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff,
-               BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP & 0xff,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-       },
-       {
-       .field_bit_size = 80,
-       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
-       },
-       {
        .field_bit_size = 14,
        .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
        .result_operand = {
@@ -1697,6 +3119,10 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
+       .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
        },
@@ -1710,12 +3136,11 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_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 = 1,
+       .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
        .field_bit_size = 10,
@@ -1778,7 +3203,17 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_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_ACT_BIT,
+       .result_operand = {
+               ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,
+               ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,
+               (uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        },
        {
        .field_bit_size = 1,
@@ -1803,11 +3238,68 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =
                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_ACT_PROP,
+       .result_operand = {
+               (BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN & 0xff,
+               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_ACT_PROP,
+       .result_operand = {
+               (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID & 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_ACT_PROP,
+       .result_operand = {
+               (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff,
+               BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP & 0xff,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
        }
 };