net/bnxt: fix flow match to ignore packet type
authorKishore Padmanabha <kishore.padmanabha@broadcom.com>
Tue, 22 Sep 2020 07:06:31 +0000 (12:36 +0530)
committerFerruh Yigit <ferruh.yigit@intel.com>
Wed, 30 Sep 2020 17:19:10 +0000 (19:19 +0200)
The pkt_type field in the profile TCAM table needs to be ignored and
should not be set to normal packet type. The pkt_type for the packets
that are segmented due to transmit segment offload feature in the driver
are not marked as normal pkt_type and this shall result in profile TCAM
table miss and flow not being offloaded hence resulting in the reduction
of the throughput.

Fixes: fe82f3e02701 ("net/bnxt: support exact match templates")
Cc: stable@dpdk.org
Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com>
Reviewed-by: Mike Baucom <michael.baucom@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
drivers/net/bnxt/tf_ulp/ulp_template_db_class.c

index 7f9ba96..3ca2801 100644 (file)
@@ -4283,7 +4283,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .key_start_idx = 124,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
-       .key_num_fields = 42,
+       .key_num_fields = 43,
        .result_start_idx = 298,
        .result_bit_size = 38,
        .result_num_fields = 8,
@@ -4297,7 +4297,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
        .resource_type = TF_MEM_INTERNAL,
        .direction = TF_DIR_RX,
-       .key_start_idx = 166,
+       .key_start_idx = 167,
        .blob_key_bit_size = 200,
        .key_bit_size = 200,
        .key_num_fields = 11,
@@ -4316,7 +4316,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .direction = TF_DIR_RX,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,
-       .key_start_idx = 177,
+       .key_start_idx = 178,
        .blob_key_bit_size = 167,
        .key_bit_size = 167,
        .key_num_fields = 13,
@@ -4335,7 +4335,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
        .direction = TF_DIR_RX,
-       .key_start_idx = 190,
+       .key_start_idx = 191,
        .blob_key_bit_size = 16,
        .key_bit_size = 16,
        .key_num_fields = 3,
@@ -4352,10 +4352,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .direction = TF_DIR_RX,
        .priority = BNXT_ULP_PRIORITY_LEVEL_1,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 193,
+       .key_start_idx = 194,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
-       .key_num_fields = 42,
+       .key_num_fields = 43,
        .result_start_idx = 329,
        .result_bit_size = 38,
        .result_num_fields = 8,
@@ -4369,7 +4369,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
        .resource_type = TF_MEM_INTERNAL,
        .direction = TF_DIR_RX,
-       .key_start_idx = 235,
+       .key_start_idx = 237,
        .blob_key_bit_size = 200,
        .key_bit_size = 200,
        .key_num_fields = 11,
@@ -4388,7 +4388,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,
        .direction = TF_DIR_RX,
-       .key_start_idx = 246,
+       .key_start_idx = 248,
        .blob_key_bit_size = 8,
        .key_bit_size = 8,
        .key_num_fields = 1,
@@ -4405,7 +4405,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .direction = TF_DIR_RX,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 247,
+       .key_start_idx = 249,
        .blob_key_bit_size = 167,
        .key_bit_size = 167,
        .key_num_fields = 13,
@@ -4424,7 +4424,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
        .direction = TF_DIR_RX,
-       .key_start_idx = 260,
+       .key_start_idx = 262,
        .blob_key_bit_size = 16,
        .key_bit_size = 16,
        .key_num_fields = 3,
@@ -4441,10 +4441,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .direction = TF_DIR_RX,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 263,
+       .key_start_idx = 265,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
-       .key_num_fields = 42,
+       .key_num_fields = 43,
        .result_start_idx = 361,
        .result_bit_size = 38,
        .result_num_fields = 8,
@@ -4458,7 +4458,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
        .resource_type = TF_MEM_INTERNAL,
        .direction = TF_DIR_RX,
-       .key_start_idx = 305,
+       .key_start_idx = 308,
        .blob_key_bit_size = 200,
        .key_bit_size = 200,
        .key_num_fields = 11,
@@ -4477,7 +4477,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,
        .direction = TF_DIR_RX,
-       .key_start_idx = 316,
+       .key_start_idx = 319,
        .blob_key_bit_size = 8,
        .key_bit_size = 8,
        .key_num_fields = 1,
@@ -4494,7 +4494,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .direction = TF_DIR_RX,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 317,
+       .key_start_idx = 320,
        .blob_key_bit_size = 167,
        .key_bit_size = 167,
        .key_num_fields = 13,
@@ -4513,7 +4513,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
        .direction = TF_DIR_RX,
-       .key_start_idx = 330,
+       .key_start_idx = 333,
        .blob_key_bit_size = 16,
        .key_bit_size = 16,
        .key_num_fields = 3,
@@ -4530,10 +4530,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .direction = TF_DIR_RX,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 333,
+       .key_start_idx = 336,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
-       .key_num_fields = 42,
+       .key_num_fields = 43,
        .result_start_idx = 393,
        .result_bit_size = 38,
        .result_num_fields = 8,
@@ -4547,7 +4547,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
        .resource_type = TF_MEM_INTERNAL,
        .direction = TF_DIR_RX,
-       .key_start_idx = 375,
+       .key_start_idx = 379,
        .blob_key_bit_size = 200,
        .key_bit_size = 200,
        .key_num_fields = 11,
@@ -4566,7 +4566,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,
        .direction = TF_DIR_RX,
-       .key_start_idx = 386,
+       .key_start_idx = 390,
        .blob_key_bit_size = 8,
        .key_bit_size = 8,
        .key_num_fields = 1,
@@ -4583,7 +4583,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .direction = TF_DIR_RX,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 387,
+       .key_start_idx = 391,
        .blob_key_bit_size = 167,
        .key_bit_size = 167,
        .key_num_fields = 13,
@@ -4602,7 +4602,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
        .direction = TF_DIR_RX,
-       .key_start_idx = 400,
+       .key_start_idx = 404,
        .blob_key_bit_size = 16,
        .key_bit_size = 16,
        .key_num_fields = 3,
@@ -4619,10 +4619,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .direction = TF_DIR_RX,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 403,
+       .key_start_idx = 407,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
-       .key_num_fields = 42,
+       .key_num_fields = 43,
        .result_start_idx = 425,
        .result_bit_size = 38,
        .result_num_fields = 8,
@@ -4636,7 +4636,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
        .resource_type = TF_MEM_INTERNAL,
        .direction = TF_DIR_RX,
-       .key_start_idx = 445,
+       .key_start_idx = 450,
        .blob_key_bit_size = 392,
        .key_bit_size = 392,
        .key_num_fields = 11,
@@ -4655,7 +4655,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,
        .direction = TF_DIR_RX,
-       .key_start_idx = 456,
+       .key_start_idx = 461,
        .blob_key_bit_size = 8,
        .key_bit_size = 8,
        .key_num_fields = 1,
@@ -4672,7 +4672,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .direction = TF_DIR_RX,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 457,
+       .key_start_idx = 462,
        .blob_key_bit_size = 167,
        .key_bit_size = 167,
        .key_num_fields = 13,
@@ -4691,7 +4691,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
        .direction = TF_DIR_RX,
-       .key_start_idx = 470,
+       .key_start_idx = 475,
        .blob_key_bit_size = 16,
        .key_bit_size = 16,
        .key_num_fields = 3,
@@ -4708,10 +4708,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .direction = TF_DIR_RX,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 473,
+       .key_start_idx = 478,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
-       .key_num_fields = 42,
+       .key_num_fields = 43,
        .result_start_idx = 457,
        .result_bit_size = 38,
        .result_num_fields = 8,
@@ -4725,7 +4725,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
        .resource_type = TF_MEM_INTERNAL,
        .direction = TF_DIR_RX,
-       .key_start_idx = 515,
+       .key_start_idx = 521,
        .blob_key_bit_size = 392,
        .key_bit_size = 392,
        .key_num_fields = 11,
@@ -4744,7 +4744,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .direction = TF_DIR_RX,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,
-       .key_start_idx = 526,
+       .key_start_idx = 532,
        .blob_key_bit_size = 167,
        .key_bit_size = 167,
        .key_num_fields = 13,
@@ -4763,7 +4763,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
        .direction = TF_DIR_RX,
-       .key_start_idx = 539,
+       .key_start_idx = 545,
        .blob_key_bit_size = 16,
        .key_bit_size = 16,
        .key_num_fields = 3,
@@ -4780,10 +4780,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .direction = TF_DIR_RX,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 542,
+       .key_start_idx = 548,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
-       .key_num_fields = 42,
+       .key_num_fields = 43,
        .result_start_idx = 488,
        .result_bit_size = 38,
        .result_num_fields = 8,
@@ -4797,7 +4797,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
        .resource_type = TF_MEM_INTERNAL,
        .direction = TF_DIR_RX,
-       .key_start_idx = 584,
+       .key_start_idx = 591,
        .blob_key_bit_size = 200,
        .key_bit_size = 200,
        .key_num_fields = 11,
@@ -4816,7 +4816,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .direction = TF_DIR_RX,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,
-       .key_start_idx = 595,
+       .key_start_idx = 602,
        .blob_key_bit_size = 167,
        .key_bit_size = 167,
        .key_num_fields = 13,
@@ -4835,7 +4835,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
        .direction = TF_DIR_RX,
-       .key_start_idx = 608,
+       .key_start_idx = 615,
        .blob_key_bit_size = 16,
        .key_bit_size = 16,
        .key_num_fields = 3,
@@ -4852,10 +4852,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .direction = TF_DIR_RX,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 611,
+       .key_start_idx = 618,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
-       .key_num_fields = 42,
+       .key_num_fields = 43,
        .result_start_idx = 519,
        .result_bit_size = 38,
        .result_num_fields = 8,
@@ -4869,7 +4869,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
        .resource_type = TF_MEM_INTERNAL,
        .direction = TF_DIR_RX,
-       .key_start_idx = 653,
+       .key_start_idx = 661,
        .blob_key_bit_size = 200,
        .key_bit_size = 200,
        .key_num_fields = 11,
@@ -4888,7 +4888,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .direction = TF_DIR_RX,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,
-       .key_start_idx = 664,
+       .key_start_idx = 672,
        .blob_key_bit_size = 167,
        .key_bit_size = 167,
        .key_num_fields = 13,
@@ -4907,7 +4907,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
        .direction = TF_DIR_RX,
-       .key_start_idx = 677,
+       .key_start_idx = 685,
        .blob_key_bit_size = 16,
        .key_bit_size = 16,
        .key_num_fields = 3,
@@ -4924,10 +4924,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .direction = TF_DIR_RX,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 680,
+       .key_start_idx = 688,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
-       .key_num_fields = 42,
+       .key_num_fields = 43,
        .result_start_idx = 550,
        .result_bit_size = 38,
        .result_num_fields = 8,
@@ -4941,7 +4941,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
        .resource_type = TF_MEM_INTERNAL,
        .direction = TF_DIR_RX,
-       .key_start_idx = 722,
+       .key_start_idx = 731,
        .blob_key_bit_size = 392,
        .key_bit_size = 392,
        .key_num_fields = 11,
@@ -4960,7 +4960,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .direction = TF_DIR_RX,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,
-       .key_start_idx = 733,
+       .key_start_idx = 742,
        .blob_key_bit_size = 167,
        .key_bit_size = 167,
        .key_num_fields = 13,
@@ -4979,7 +4979,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
        .direction = TF_DIR_RX,
-       .key_start_idx = 746,
+       .key_start_idx = 755,
        .blob_key_bit_size = 16,
        .key_bit_size = 16,
        .key_num_fields = 3,
@@ -4996,10 +4996,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .direction = TF_DIR_RX,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 749,
+       .key_start_idx = 758,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
-       .key_num_fields = 42,
+       .key_num_fields = 43,
        .result_start_idx = 581,
        .result_bit_size = 38,
        .result_num_fields = 8,
@@ -5013,7 +5013,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
        .resource_type = TF_MEM_INTERNAL,
        .direction = TF_DIR_RX,
-       .key_start_idx = 791,
+       .key_start_idx = 801,
        .blob_key_bit_size = 392,
        .key_bit_size = 392,
        .key_num_fields = 11,
@@ -5032,7 +5032,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .direction = TF_DIR_RX,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,
-       .key_start_idx = 802,
+       .key_start_idx = 812,
        .blob_key_bit_size = 167,
        .key_bit_size = 167,
        .key_num_fields = 13,
@@ -5051,7 +5051,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
        .direction = TF_DIR_RX,
-       .key_start_idx = 815,
+       .key_start_idx = 825,
        .blob_key_bit_size = 16,
        .key_bit_size = 16,
        .key_num_fields = 3,
@@ -5068,10 +5068,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .direction = TF_DIR_RX,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 818,
+       .key_start_idx = 828,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
-       .key_num_fields = 42,
+       .key_num_fields = 43,
        .result_start_idx = 612,
        .result_bit_size = 38,
        .result_num_fields = 8,
@@ -5085,7 +5085,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
        .resource_type = TF_MEM_INTERNAL,
        .direction = TF_DIR_RX,
-       .key_start_idx = 860,
+       .key_start_idx = 871,
        .blob_key_bit_size = 200,
        .key_bit_size = 200,
        .key_num_fields = 11,
@@ -5104,7 +5104,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .direction = TF_DIR_RX,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,
-       .key_start_idx = 871,
+       .key_start_idx = 882,
        .blob_key_bit_size = 167,
        .key_bit_size = 167,
        .key_num_fields = 13,
@@ -5123,7 +5123,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
        .direction = TF_DIR_RX,
-       .key_start_idx = 884,
+       .key_start_idx = 895,
        .blob_key_bit_size = 16,
        .key_bit_size = 16,
        .key_num_fields = 3,
@@ -5140,10 +5140,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .direction = TF_DIR_RX,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 887,
+       .key_start_idx = 898,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
-       .key_num_fields = 42,
+       .key_num_fields = 43,
        .result_start_idx = 643,
        .result_bit_size = 38,
        .result_num_fields = 8,
@@ -5157,7 +5157,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
        .resource_type = TF_MEM_INTERNAL,
        .direction = TF_DIR_RX,
-       .key_start_idx = 929,
+       .key_start_idx = 941,
        .blob_key_bit_size = 392,
        .key_bit_size = 392,
        .key_num_fields = 11,
@@ -5176,7 +5176,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,
        .direction = TF_DIR_TX,
-       .key_start_idx = 940,
+       .key_start_idx = 952,
        .blob_key_bit_size = 8,
        .key_bit_size = 8,
        .key_num_fields = 1,
@@ -5193,7 +5193,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .direction = TF_DIR_TX,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 941,
+       .key_start_idx = 953,
        .blob_key_bit_size = 167,
        .key_bit_size = 167,
        .key_num_fields = 13,
@@ -5212,7 +5212,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
        .direction = TF_DIR_TX,
-       .key_start_idx = 954,
+       .key_start_idx = 966,
        .blob_key_bit_size = 16,
        .key_bit_size = 16,
        .key_num_fields = 3,
@@ -5229,10 +5229,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .direction = TF_DIR_TX,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 957,
+       .key_start_idx = 969,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
-       .key_num_fields = 42,
+       .key_num_fields = 43,
        .result_start_idx = 675,
        .result_bit_size = 38,
        .result_num_fields = 8,
@@ -5246,7 +5246,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
        .resource_type = TF_MEM_INTERNAL,
        .direction = TF_DIR_TX,
-       .key_start_idx = 999,
+       .key_start_idx = 1012,
        .blob_key_bit_size = 200,
        .key_bit_size = 200,
        .key_num_fields = 11,
@@ -5265,7 +5265,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,
        .direction = TF_DIR_TX,
-       .key_start_idx = 1010,
+       .key_start_idx = 1023,
        .blob_key_bit_size = 8,
        .key_bit_size = 8,
        .key_num_fields = 1,
@@ -5282,7 +5282,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .direction = TF_DIR_TX,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 1011,
+       .key_start_idx = 1024,
        .blob_key_bit_size = 167,
        .key_bit_size = 167,
        .key_num_fields = 13,
@@ -5301,7 +5301,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
        .direction = TF_DIR_TX,
-       .key_start_idx = 1024,
+       .key_start_idx = 1037,
        .blob_key_bit_size = 16,
        .key_bit_size = 16,
        .key_num_fields = 3,
@@ -5318,10 +5318,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .direction = TF_DIR_TX,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 1027,
+       .key_start_idx = 1040,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
-       .key_num_fields = 42,
+       .key_num_fields = 43,
        .result_start_idx = 707,
        .result_bit_size = 38,
        .result_num_fields = 8,
@@ -5335,7 +5335,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
        .resource_type = TF_MEM_INTERNAL,
        .direction = TF_DIR_TX,
-       .key_start_idx = 1069,
+       .key_start_idx = 1083,
        .blob_key_bit_size = 200,
        .key_bit_size = 200,
        .key_num_fields = 11,
@@ -5354,7 +5354,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,
        .direction = TF_DIR_TX,
-       .key_start_idx = 1080,
+       .key_start_idx = 1094,
        .blob_key_bit_size = 8,
        .key_bit_size = 8,
        .key_num_fields = 1,
@@ -5371,7 +5371,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .direction = TF_DIR_TX,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 1081,
+       .key_start_idx = 1095,
        .blob_key_bit_size = 167,
        .key_bit_size = 167,
        .key_num_fields = 13,
@@ -5390,7 +5390,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
        .direction = TF_DIR_TX,
-       .key_start_idx = 1094,
+       .key_start_idx = 1108,
        .blob_key_bit_size = 16,
        .key_bit_size = 16,
        .key_num_fields = 3,
@@ -5407,10 +5407,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .direction = TF_DIR_TX,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 1097,
+       .key_start_idx = 1111,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
-       .key_num_fields = 42,
+       .key_num_fields = 43,
        .result_start_idx = 739,
        .result_bit_size = 38,
        .result_num_fields = 8,
@@ -5424,7 +5424,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
        .resource_type = TF_MEM_INTERNAL,
        .direction = TF_DIR_TX,
-       .key_start_idx = 1139,
+       .key_start_idx = 1154,
        .blob_key_bit_size = 392,
        .key_bit_size = 392,
        .key_num_fields = 11,
@@ -5443,7 +5443,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,
        .direction = TF_DIR_TX,
-       .key_start_idx = 1150,
+       .key_start_idx = 1165,
        .blob_key_bit_size = 8,
        .key_bit_size = 8,
        .key_num_fields = 1,
@@ -5460,7 +5460,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .direction = TF_DIR_TX,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 1151,
+       .key_start_idx = 1166,
        .blob_key_bit_size = 167,
        .key_bit_size = 167,
        .key_num_fields = 13,
@@ -5479,7 +5479,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
        .direction = TF_DIR_TX,
-       .key_start_idx = 1164,
+       .key_start_idx = 1179,
        .blob_key_bit_size = 16,
        .key_bit_size = 16,
        .key_num_fields = 3,
@@ -5496,10 +5496,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .direction = TF_DIR_TX,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 1167,
+       .key_start_idx = 1182,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
-       .key_num_fields = 42,
+       .key_num_fields = 43,
        .result_start_idx = 771,
        .result_bit_size = 38,
        .result_num_fields = 8,
@@ -5513,7 +5513,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
        .resource_type = TF_MEM_INTERNAL,
        .direction = TF_DIR_TX,
-       .key_start_idx = 1209,
+       .key_start_idx = 1225,
        .blob_key_bit_size = 392,
        .key_bit_size = 392,
        .key_num_fields = 11,
@@ -5532,7 +5532,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .direction = TF_DIR_TX,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_UPDATE,
-       .key_start_idx = 1220,
+       .key_start_idx = 1236,
        .blob_key_bit_size = 167,
        .key_bit_size = 167,
        .key_num_fields = 13,
@@ -5551,7 +5551,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
        .direction = TF_DIR_TX,
-       .key_start_idx = 1233,
+       .key_start_idx = 1249,
        .blob_key_bit_size = 16,
        .key_bit_size = 16,
        .key_num_fields = 3,
@@ -5568,10 +5568,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .direction = TF_DIR_TX,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 1236,
+       .key_start_idx = 1252,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
-       .key_num_fields = 42,
+       .key_num_fields = 43,
        .result_start_idx = 802,
        .result_bit_size = 38,
        .result_num_fields = 8,
@@ -5585,7 +5585,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
        .resource_type = TF_MEM_INTERNAL,
        .direction = TF_DIR_TX,
-       .key_start_idx = 1278,
+       .key_start_idx = 1295,
        .blob_key_bit_size = 104,
        .key_bit_size = 104,
        .key_num_fields = 7,
@@ -5604,7 +5604,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .direction = TF_DIR_TX,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_UPDATE,
-       .key_start_idx = 1285,
+       .key_start_idx = 1302,
        .blob_key_bit_size = 167,
        .key_bit_size = 167,
        .key_num_fields = 13,
@@ -5623,7 +5623,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_sub_type =
                BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
        .direction = TF_DIR_TX,
-       .key_start_idx = 1298,
+       .key_start_idx = 1315,
        .blob_key_bit_size = 16,
        .key_bit_size = 16,
        .key_num_fields = 3,
@@ -5640,10 +5640,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .direction = TF_DIR_TX,
        .priority = BNXT_ULP_PRIORITY_LEVEL_0,
        .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
-       .key_start_idx = 1301,
+       .key_start_idx = 1318,
        .blob_key_bit_size = 81,
        .key_bit_size = 81,
-       .key_num_fields = 42,
+       .key_num_fields = 43,
        .result_start_idx = 833,
        .result_bit_size = 38,
        .result_num_fields = 8,
@@ -5657,7 +5657,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
        .resource_type = TF_MEM_INTERNAL,
        .direction = TF_DIR_TX,
-       .key_start_idx = 1343,
+       .key_start_idx = 1361,
        .blob_key_bit_size = 104,
        .key_bit_size = 104,
        .key_num_fields = 7,
@@ -6728,7 +6728,12 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_key_field_list[] = {
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 4,
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
                0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
@@ -7190,7 +7195,12 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_key_field_list[] = {
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 4,
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
                0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
@@ -7643,7 +7653,12 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_key_field_list[] = {
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 4,
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
                0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
@@ -8111,7 +8126,12 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_key_field_list[] = {
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 4,
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
                0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
@@ -8587,7 +8607,12 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_key_field_list[] = {
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 4,
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
                0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
@@ -9059,7 +9084,12 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_key_field_list[] = {
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 4,
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
                0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
@@ -9550,7 +9580,12 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_key_field_list[] = {
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 4,
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
                0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
@@ -10037,7 +10072,12 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_key_field_list[] = {
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 4,
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
                0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
@@ -10532,7 +10572,12 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_key_field_list[] = {
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 4,
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
                0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
@@ -11023,7 +11068,12 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_key_field_list[] = {
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 4,
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
                0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
@@ -11511,7 +11561,12 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_key_field_list[] = {
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 4,
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
                0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
@@ -11988,7 +12043,12 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_key_field_list[] = {
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 4,
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
                0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
@@ -12441,7 +12501,12 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_key_field_list[] = {
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 4,
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
                0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
@@ -12905,7 +12970,12 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_key_field_list[] = {
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 4,
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
                0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
@@ -13377,7 +13447,12 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_key_field_list[] = {
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 4,
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
                0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
@@ -13845,7 +13920,12 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_key_field_list[] = {
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 4,
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
                0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
@@ -14330,7 +14410,12 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_key_field_list[] = {
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 4,
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
                0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
@@ -14780,7 +14865,12 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_key_field_list[] = {
        .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
        },
        {
-       .field_bit_size = 4,
+       .field_bit_size = 2,
+       .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
+       .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
+       },
+       {
+       .field_bit_size = 2,
        .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
        .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
                0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},