ethdev: promote sibling iterators to stable
[dpdk.git] / drivers / net / bnxt / tf_ulp / generic_templates / ulp_template_db_tbl.c
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2014-2021 Broadcom
3  * All rights reserved.
4  */
5
6 /* date: Thu May 13 18:15:56 2021 */
7
8 #include "ulp_template_db_enum.h"
9 #include "ulp_template_db_field.h"
10 #include "ulp_template_struct.h"
11 #include "ulp_template_db_tbl.h"
12
13 /* Specifies parameters for the cache and shared tables */
14 struct bnxt_ulp_generic_tbl_params ulp_generic_tbl_params[] = {
15         [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM << 1 |
16                 BNXT_ULP_DIRECTION_INGRESS] = {
17         .name                    = "INGRESS GENERIC_TABLE_L2_CNTXT_TCAM",
18         .result_num_entries      = 256,
19         .result_num_bytes        = 8,
20         .key_num_bytes           = 0,
21         .num_buckets             = 0,
22         .hash_tbl_entries        = 0,
23         .result_byte_order       = BNXT_ULP_BYTE_ORDER_LE
24         },
25         [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM << 1 |
26                 BNXT_ULP_DIRECTION_EGRESS] = {
27         .name                    = "EGRESS GENERIC_TABLE_L2_CNTXT_TCAM",
28         .result_num_entries      = 256,
29         .result_num_bytes        = 8,
30         .key_num_bytes           = 0,
31         .num_buckets             = 0,
32         .hash_tbl_entries        = 0,
33         .result_byte_order       = BNXT_ULP_BYTE_ORDER_LE
34         },
35         [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM << 1 |
36                 BNXT_ULP_DIRECTION_INGRESS] = {
37         .name                    = "INGRESS GENERIC_TABLE_PROFILE_TCAM",
38         .result_num_entries      = 16384,
39         .result_num_bytes        = 18,
40         .key_num_bytes           = 0,
41         .num_buckets             = 0,
42         .hash_tbl_entries        = 0,
43         .result_byte_order       = BNXT_ULP_BYTE_ORDER_LE
44         },
45         [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM << 1 |
46                 BNXT_ULP_DIRECTION_EGRESS] = {
47         .name                    = "EGRESS GENERIC_TABLE_PROFILE_TCAM",
48         .result_num_entries      = 16384,
49         .result_num_bytes        = 18,
50         .key_num_bytes           = 0,
51         .num_buckets             = 0,
52         .hash_tbl_entries        = 0,
53         .result_byte_order       = BNXT_ULP_BYTE_ORDER_LE
54         },
55         [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR << 1 |
56                 BNXT_ULP_DIRECTION_INGRESS] = {
57         .name                    = "INGRESS GENERIC_TABLE_SHARED_MIRROR",
58         .result_num_entries      = 16,
59         .result_num_bytes        = 8,
60         .key_num_bytes           = 0,
61         .num_buckets             = 0,
62         .hash_tbl_entries        = 0,
63         .result_byte_order       = BNXT_ULP_BYTE_ORDER_LE
64         },
65         [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR << 1 |
66                 BNXT_ULP_DIRECTION_EGRESS] = {
67         .name                    = "EGRESS GENERIC_TABLE_SHARED_MIRROR",
68         .result_num_entries      = 16,
69         .result_num_bytes        = 8,
70         .key_num_bytes           = 0,
71         .num_buckets             = 0,
72         .hash_tbl_entries        = 0,
73         .result_byte_order       = BNXT_ULP_BYTE_ORDER_LE
74         },
75         [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE << 1 |
76                 BNXT_ULP_DIRECTION_INGRESS] = {
77         .name                    = "INGRESS GENERIC_TABLE_MAC_ADDR_CACHE",
78         .result_num_entries      = 256,
79         .result_num_bytes        = 8,
80         .key_num_bytes           = 10,
81         .num_buckets             = 8,
82         .hash_tbl_entries        = 1024,
83         .result_byte_order       = BNXT_ULP_BYTE_ORDER_LE
84         },
85         [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE << 1 |
86                 BNXT_ULP_DIRECTION_EGRESS] = {
87         .name                    = "EGRESS GENERIC_TABLE_MAC_ADDR_CACHE",
88         .result_num_entries      = 256,
89         .result_num_bytes        = 8,
90         .key_num_bytes           = 10,
91         .num_buckets             = 8,
92         .hash_tbl_entries        = 1024,
93         .result_byte_order       = BNXT_ULP_BYTE_ORDER_LE
94         },
95         [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PORT_TABLE << 1 |
96                 BNXT_ULP_DIRECTION_INGRESS] = {
97         .name                    = "INGRESS GENERIC_TABLE_PORT_TABLE",
98         .result_num_entries      = 1024,
99         .result_num_bytes        = 19,
100         .key_num_bytes           = 0,
101         .num_buckets             = 0,
102         .hash_tbl_entries        = 0,
103         .result_byte_order       = BNXT_ULP_BYTE_ORDER_LE
104         },
105         [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PORT_TABLE << 1 |
106                 BNXT_ULP_DIRECTION_EGRESS] = {
107         .name                    = "EGRESS GENERIC_TABLE_PORT_TABLE",
108         .result_num_entries      = 1024,
109         .result_num_bytes        = 19,
110         .key_num_bytes           = 0,
111         .num_buckets             = 0,
112         .hash_tbl_entries        = 0,
113         .result_byte_order       = BNXT_ULP_BYTE_ORDER_LE
114         }
115 };
116
117 /* device tables */
118 const struct bnxt_ulp_template_device_tbls ulp_template_wh_plus_tbls[] = {
119         [BNXT_ULP_TEMPLATE_TYPE_CLASS] = {
120         .tmpl_list               = ulp_wh_plus_class_tmpl_list,
121         .tmpl_list_size          = ULP_WH_PLUS_CLASS_TMPL_LIST_SIZE,
122         .tbl_list                = ulp_wh_plus_class_tbl_list,
123         .tbl_list_size           = ULP_WH_PLUS_CLASS_TBL_LIST_SIZE,
124         .key_info_list           = ulp_wh_plus_class_key_info_list,
125         .key_info_list_size      = ULP_WH_PLUS_CLASS_KEY_INFO_LIST_SIZE,
126         .ident_list              = ulp_wh_plus_class_ident_list,
127         .ident_list_size         = ULP_WH_PLUS_CLASS_IDENT_LIST_SIZE,
128         .cond_list               = ulp_wh_plus_class_cond_list,
129         .cond_list_size          = ULP_WH_PLUS_CLASS_COND_LIST_SIZE,
130         .result_field_list       = ulp_wh_plus_class_result_field_list,
131         .result_field_list_size  = ULP_WH_PLUS_CLASS_RESULT_FIELD_LIST_SIZE
132         },
133         [BNXT_ULP_TEMPLATE_TYPE_ACTION] = {
134         .tmpl_list               = ulp_wh_plus_act_tmpl_list,
135         .tmpl_list_size          = ULP_WH_PLUS_ACT_TMPL_LIST_SIZE,
136         .tbl_list                = ulp_wh_plus_act_tbl_list,
137         .tbl_list_size           = ULP_WH_PLUS_ACT_TBL_LIST_SIZE,
138         .key_info_list           = ulp_wh_plus_act_key_info_list,
139         .key_info_list_size      = ULP_WH_PLUS_ACT_KEY_INFO_LIST_SIZE,
140         .ident_list              = ulp_wh_plus_act_ident_list,
141         .ident_list_size         = ULP_WH_PLUS_ACT_IDENT_LIST_SIZE,
142         .cond_list               = ulp_wh_plus_act_cond_list,
143         .cond_list_size          = ULP_WH_PLUS_ACT_COND_LIST_SIZE,
144         .result_field_list       = ulp_wh_plus_act_result_field_list,
145         .result_field_list_size  = ULP_WH_PLUS_ACT_RESULT_FIELD_LIST_SIZE
146         }
147 };
148
149 /* device tables */
150 const struct bnxt_ulp_template_device_tbls ulp_template_thor_tbls[] = {
151         [BNXT_ULP_TEMPLATE_TYPE_CLASS] = {
152         .tmpl_list               = ulp_thor_class_tmpl_list,
153         .tmpl_list_size          = ULP_THOR_CLASS_TMPL_LIST_SIZE,
154         .tbl_list                = ulp_thor_class_tbl_list,
155         .tbl_list_size           = ULP_THOR_CLASS_TBL_LIST_SIZE,
156         .key_info_list           = ulp_thor_class_key_info_list,
157         .key_info_list_size      = ULP_THOR_CLASS_KEY_INFO_LIST_SIZE,
158         .ident_list              = ulp_thor_class_ident_list,
159         .ident_list_size         = ULP_THOR_CLASS_IDENT_LIST_SIZE,
160         .cond_list               = ulp_thor_class_cond_list,
161         .cond_list_size          = ULP_THOR_CLASS_COND_LIST_SIZE,
162         .result_field_list       = ulp_thor_class_result_field_list,
163         .result_field_list_size  = ULP_THOR_CLASS_RESULT_FIELD_LIST_SIZE
164         },
165         [BNXT_ULP_TEMPLATE_TYPE_ACTION] = {
166         .tmpl_list               = ulp_thor_act_tmpl_list,
167         .tmpl_list_size          = ULP_THOR_ACT_TMPL_LIST_SIZE,
168         .tbl_list                = ulp_thor_act_tbl_list,
169         .tbl_list_size           = ULP_THOR_ACT_TBL_LIST_SIZE,
170         .cond_list               = ulp_thor_act_cond_list,
171         .cond_list_size          = ULP_THOR_ACT_COND_LIST_SIZE,
172         .result_field_list       = ulp_thor_act_result_field_list,
173         .result_field_list_size  = ULP_THOR_ACT_RESULT_FIELD_LIST_SIZE
174         }
175 };
176
177 /* List of device specific parameters */
178 struct bnxt_ulp_device_params ulp_device_params[BNXT_ULP_DEVICE_ID_LAST] = {
179         [BNXT_ULP_DEVICE_ID_WH_PLUS] = {
180         .description             = "Whitney_Plus",
181         .byte_order              = BNXT_ULP_BYTE_ORDER_LE,
182         .encap_byte_swap         = 1,
183         .int_flow_db_num_entries = 16384,
184         .ext_flow_db_num_entries = 32768,
185         .mark_db_lfid_entries    = 65536,
186         .mark_db_gfid_entries    = 65536,
187         .flow_count_db_entries   = 16384,
188         .fdb_parent_flow_entries = 2,
189         .num_resources_per_flow  = 8,
190         .num_phy_ports           = 2,
191         .ext_cntr_table_type     = 0,
192         .byte_count_mask         = 0x0000000fffffffff,
193         .packet_count_mask       = 0xfffffff000000000,
194         .byte_count_shift        = 0,
195         .packet_count_shift      = 36,
196         .dynamic_pad_en          = 0,
197         .dev_tbls                = ulp_template_wh_plus_tbls
198         },
199         [BNXT_ULP_DEVICE_ID_THOR] = {
200         .description             = "Thor",
201         .byte_order              = BNXT_ULP_BYTE_ORDER_LE,
202         .encap_byte_swap         = 1,
203         .int_flow_db_num_entries = 16384,
204         .ext_flow_db_num_entries = 32768,
205         .mark_db_lfid_entries    = 0,
206         .mark_db_gfid_entries    = 0,
207         .flow_count_db_entries   = 16384,
208         .fdb_parent_flow_entries = 2,
209         .num_resources_per_flow  = 8,
210         .num_phy_ports           = 2,
211         .ext_cntr_table_type     = 0,
212         .byte_count_mask         = 0x00000007ffffffff,
213         .packet_count_mask       = 0xfffffff800000000,
214         .byte_count_shift        = 0,
215         .packet_count_shift      = 35,
216         .dynamic_pad_en          = 1,
217         .em_blk_size_bits        = 100,
218         .em_blk_align_bits       = 128,
219         .em_key_align_bytes      = 80,
220         .wc_slice_width          = 160,
221         .wc_max_slices           = 4,
222         .wc_mode_list            = {0x0000000c, 0x0000000e, 0x0000000f, 0x0000000f},
223         .wc_mod_list_max_size    = 4,
224         .wc_ctl_size_bits        = 32,
225         .dev_tbls                = ulp_template_thor_tbls
226         }
227 };
228
229 /* Provides act_bitmask */
230 struct bnxt_ulp_shared_act_info ulp_shared_act_info[] = {
231         [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR << 1 |
232                 BNXT_ULP_DIRECTION_INGRESS] = {
233         .act_bitmask             = BNXT_ULP_ACT_BIT_SHARED_SAMPLE
234         },
235         [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR << 1 |
236                 BNXT_ULP_DIRECTION_EGRESS] = {
237         .act_bitmask             = BNXT_ULP_ACT_BIT_SHARED_SAMPLE
238         }
239 };
240
241 /* List of device specific parameters */
242 struct bnxt_ulp_app_capabilities_info ulp_app_cap_info_list[] = {
243         {
244         .app_id                  = 0,
245         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
246         .flags                   = 0
247         },
248         {
249         .app_id                  = 0,
250         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
251         .flags                   = 0
252         },
253         {
254         .app_id                  = 1,
255         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
256         .flags                   = BNXT_ULP_APP_CAP_SHARED_EN |
257                                    BNXT_ULP_APP_CAP_HOT_UPGRADE_EN |
258                                    BNXT_ULP_APP_CAP_UNICAST_ONLY
259         },
260         {
261         .app_id                  = 1,
262         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
263         .flags                   = BNXT_ULP_APP_CAP_SHARED_EN |
264                                    BNXT_ULP_APP_CAP_HOT_UPGRADE_EN |
265                                    BNXT_ULP_APP_CAP_UNICAST_ONLY
266         },
267         {
268         .app_id                  = 2,
269         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
270         .flags                   = BNXT_ULP_APP_CAP_SHARED_EN |
271                                    BNXT_ULP_APP_CAP_UNICAST_ONLY
272         },
273         {
274         .app_id                  = 2,
275         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
276         .flags                   = BNXT_ULP_APP_CAP_SHARED_EN |
277                                    BNXT_ULP_APP_CAP_UNICAST_ONLY
278         }
279 };
280
281 /* List of unnamed app tf resources required to be reserved per app/device */
282 struct bnxt_ulp_resource_resv_info ulp_app_resource_resv_list[] = {
283         {
284         .app_id                  = 1,
285         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
286         .direction               = TF_DIR_RX,
287         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
288         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
289         .count                   = 2
290         },
291         {
292         .app_id                  = 1,
293         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
294         .direction               = TF_DIR_RX,
295         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
296         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
297         .count                   = 128
298         },
299         {
300         .app_id                  = 1,
301         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
302         .direction               = TF_DIR_RX,
303         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
304         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
305         .count                   = 2
306         },
307         {
308         .app_id                  = 1,
309         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
310         .direction               = TF_DIR_RX,
311         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
312         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
313         .count                   = 1024
314         },
315         {
316         .app_id                  = 2,
317         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
318         .direction               = TF_DIR_RX,
319         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
320         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
321         .count                   = 2
322         },
323         {
324         .app_id                  = 2,
325         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
326         .direction               = TF_DIR_RX,
327         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
328         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
329         .count                   = 128
330         },
331         {
332         .app_id                  = 2,
333         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
334         .direction               = TF_DIR_RX,
335         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
336         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
337         .count                   = 2
338         },
339         {
340         .app_id                  = 2,
341         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
342         .direction               = TF_DIR_RX,
343         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
344         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
345         .count                   = 1024
346         }
347 };
348
349 /* List of global app tf resources required to be reserved per app/device */
350 struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = {
351         {
352         .app_id                  = 1,
353         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
354         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
355         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
356         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0,
357         .direction               = TF_DIR_RX
358         },
359         {
360         .app_id                  = 1,
361         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
362         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
363         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
364         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_1,
365         .direction               = TF_DIR_RX
366         },
367         {
368         .app_id                  = 1,
369         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
370         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
371         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
372         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_2,
373         .direction               = TF_DIR_RX
374         },
375         {
376         .app_id                  = 1,
377         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
378         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
379         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
380         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0,
381         .direction               = TF_DIR_RX
382         },
383         {
384         .app_id                  = 1,
385         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
386         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
387         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
388         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1,
389         .direction               = TF_DIR_RX
390         },
391         {
392         .app_id                  = 1,
393         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
394         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
395         .resource_type           = TF_IDENT_TYPE_EM_PROF,
396         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
397         .direction               = TF_DIR_RX
398         },
399         {
400         .app_id                  = 1,
401         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
402         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
403         .resource_type           = TF_IDENT_TYPE_WC_PROF,
404         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
405         .direction               = TF_DIR_RX
406         },
407         {
408         .app_id                  = 1,
409         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
410         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
411         .resource_type           = TF_IDENT_TYPE_WC_PROF,
412         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1,
413         .direction               = TF_DIR_RX
414         },
415         {
416         .app_id                  = 1,
417         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
418         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
419         .resource_type           = TF_IDENT_TYPE_WC_PROF,
420         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_2,
421         .direction               = TF_DIR_RX
422         },
423         {
424         .app_id                  = 1,
425         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
426         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
427         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
428         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_0,
429         .direction               = TF_DIR_RX
430         },
431         {
432         .app_id                  = 1,
433         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
434         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
435         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
436         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_1,
437         .direction               = TF_DIR_RX
438         },
439         {
440         .app_id                  = 1,
441         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
442         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
443         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
444         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0,
445         .direction               = TF_DIR_RX
446         },
447         {
448         .app_id                  = 1,
449         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
450         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
451         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
452         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_1,
453         .direction               = TF_DIR_RX
454         },
455         {
456         .app_id                  = 1,
457         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
458         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
459         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
460         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_2,
461         .direction               = TF_DIR_RX
462         },
463         {
464         .app_id                  = 1,
465         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
466         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
467         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
468         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0,
469         .direction               = TF_DIR_RX
470         },
471         {
472         .app_id                  = 1,
473         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
474         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
475         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
476         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1,
477         .direction               = TF_DIR_RX
478         },
479         {
480         .app_id                  = 1,
481         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
482         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
483         .resource_type           = TF_IDENT_TYPE_EM_PROF,
484         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
485         .direction               = TF_DIR_RX
486         },
487         {
488         .app_id                  = 1,
489         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
490         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
491         .resource_type           = TF_IDENT_TYPE_WC_PROF,
492         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
493         .direction               = TF_DIR_RX
494         },
495         {
496         .app_id                  = 1,
497         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
498         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
499         .resource_type           = TF_IDENT_TYPE_WC_PROF,
500         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1,
501         .direction               = TF_DIR_RX
502         },
503         {
504         .app_id                  = 1,
505         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
506         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
507         .resource_type           = TF_IDENT_TYPE_WC_PROF,
508         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_2,
509         .direction               = TF_DIR_RX
510         },
511         {
512         .app_id                  = 1,
513         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
514         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
515         .resource_type           = TF_TBL_TYPE_EM_FKB,
516         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_KEY_ID_0,
517         .direction               = TF_DIR_RX
518         },
519         {
520         .app_id                  = 1,
521         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
522         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
523         .resource_type           = TF_TBL_TYPE_WC_FKB,
524         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
525         .direction               = TF_DIR_RX
526         },
527         {
528         .app_id                  = 1,
529         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
530         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
531         .resource_type           = TF_TBL_TYPE_WC_FKB,
532         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_1,
533         .direction               = TF_DIR_RX
534         },
535         {
536         .app_id                  = 1,
537         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
538         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
539         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
540         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_0,
541         .direction               = TF_DIR_RX
542         },
543         {
544         .app_id                  = 1,
545         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
546         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
547         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
548         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_1,
549         .direction               = TF_DIR_RX
550         },
551         {
552         .app_id                  = 2,
553         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
554         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
555         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
556         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0,
557         .direction               = TF_DIR_RX
558         },
559         {
560         .app_id                  = 2,
561         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
562         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
563         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
564         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_1,
565         .direction               = TF_DIR_RX
566         },
567         {
568         .app_id                  = 2,
569         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
570         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
571         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
572         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_2,
573         .direction               = TF_DIR_RX
574         },
575         {
576         .app_id                  = 2,
577         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
578         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
579         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
580         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0,
581         .direction               = TF_DIR_RX
582         },
583         {
584         .app_id                  = 2,
585         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
586         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
587         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
588         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1,
589         .direction               = TF_DIR_RX
590         },
591         {
592         .app_id                  = 2,
593         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
594         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
595         .resource_type           = TF_IDENT_TYPE_EM_PROF,
596         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
597         .direction               = TF_DIR_RX
598         },
599         {
600         .app_id                  = 2,
601         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
602         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
603         .resource_type           = TF_IDENT_TYPE_WC_PROF,
604         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
605         .direction               = TF_DIR_RX
606         },
607         {
608         .app_id                  = 2,
609         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
610         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
611         .resource_type           = TF_IDENT_TYPE_WC_PROF,
612         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1,
613         .direction               = TF_DIR_RX
614         },
615         {
616         .app_id                  = 2,
617         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
618         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
619         .resource_type           = TF_IDENT_TYPE_WC_PROF,
620         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_2,
621         .direction               = TF_DIR_RX
622         },
623         {
624         .app_id                  = 2,
625         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
626         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
627         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
628         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_0,
629         .direction               = TF_DIR_RX
630         },
631         {
632         .app_id                  = 2,
633         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
634         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
635         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
636         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_1,
637         .direction               = TF_DIR_RX
638         },
639         {
640         .app_id                  = 2,
641         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
642         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
643         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
644         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0,
645         .direction               = TF_DIR_RX
646         },
647         {
648         .app_id                  = 2,
649         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
650         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
651         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
652         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_1,
653         .direction               = TF_DIR_RX
654         },
655         {
656         .app_id                  = 2,
657         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
658         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
659         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
660         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_2,
661         .direction               = TF_DIR_RX
662         },
663         {
664         .app_id                  = 2,
665         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
666         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
667         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
668         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0,
669         .direction               = TF_DIR_RX
670         },
671         {
672         .app_id                  = 2,
673         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
674         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
675         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
676         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1,
677         .direction               = TF_DIR_RX
678         },
679         {
680         .app_id                  = 2,
681         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
682         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
683         .resource_type           = TF_IDENT_TYPE_EM_PROF,
684         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
685         .direction               = TF_DIR_RX
686         },
687         {
688         .app_id                  = 2,
689         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
690         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
691         .resource_type           = TF_IDENT_TYPE_WC_PROF,
692         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
693         .direction               = TF_DIR_RX
694         },
695         {
696         .app_id                  = 2,
697         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
698         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
699         .resource_type           = TF_IDENT_TYPE_WC_PROF,
700         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1,
701         .direction               = TF_DIR_RX
702         },
703         {
704         .app_id                  = 2,
705         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
706         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
707         .resource_type           = TF_IDENT_TYPE_WC_PROF,
708         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_2,
709         .direction               = TF_DIR_RX
710         },
711         {
712         .app_id                  = 2,
713         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
714         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
715         .resource_type           = TF_TBL_TYPE_EM_FKB,
716         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_KEY_ID_0,
717         .direction               = TF_DIR_RX
718         },
719         {
720         .app_id                  = 2,
721         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
722         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
723         .resource_type           = TF_TBL_TYPE_WC_FKB,
724         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
725         .direction               = TF_DIR_RX
726         },
727         {
728         .app_id                  = 2,
729         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
730         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
731         .resource_type           = TF_TBL_TYPE_WC_FKB,
732         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_1,
733         .direction               = TF_DIR_RX
734         },
735         {
736         .app_id                  = 2,
737         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
738         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
739         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
740         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_0,
741         .direction               = TF_DIR_RX
742         },
743         {
744         .app_id                  = 2,
745         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
746         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
747         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
748         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_1,
749         .direction               = TF_DIR_RX
750         }
751 };
752
753 /* List of global tf resources required to be reserved per app/device */
754 struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
755         {
756         .app_id                  = 0,
757         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
758         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
759         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
760         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
761         .direction               = TF_DIR_RX
762         },
763         {
764         .app_id                  = 0,
765         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
766         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
767         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
768         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
769         .direction               = TF_DIR_TX
770         },
771         {
772         .app_id                  = 0,
773         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
774         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
775         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
776         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
777         .direction               = TF_DIR_TX
778         },
779         {
780         .app_id                  = 0,
781         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
782         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
783         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
784         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
785         .direction               = TF_DIR_RX
786         },
787         {
788         .app_id                  = 0,
789         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
790         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
791         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
792         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
793         .direction               = TF_DIR_TX
794         },
795         {
796         .app_id                  = 0,
797         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
798         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
799         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
800         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID,
801         .direction               = TF_DIR_RX
802         },
803         {
804         .app_id                  = 0,
805         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
806         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
807         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
808         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
809         .direction               = TF_DIR_RX
810         },
811         {
812         .app_id                  = 0,
813         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
814         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
815         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
816         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
817         .direction               = TF_DIR_TX
818         },
819         {
820         .app_id                  = 0,
821         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
822         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
823         .resource_type           = TF_IDENT_TYPE_EM_PROF,
824         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_EM_PROFILE_ID_0,
825         .direction               = TF_DIR_RX
826         },
827         {
828         .app_id                  = 0,
829         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
830         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
831         .resource_type           = TF_IDENT_TYPE_WC_PROF,
832         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_0,
833         .direction               = TF_DIR_RX
834         },
835         {
836         .app_id                  = 0,
837         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
838         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
839         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
840         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
841         .direction               = TF_DIR_RX
842         },
843         {
844         .app_id                  = 0,
845         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
846         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
847         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
848         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
849         .direction               = TF_DIR_TX
850         },
851         {
852         .app_id                  = 0,
853         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
854         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
855         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
856         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
857         .direction               = TF_DIR_TX
858         },
859         {
860         .app_id                  = 0,
861         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
862         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
863         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
864         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
865         .direction               = TF_DIR_RX
866         },
867         {
868         .app_id                  = 0,
869         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
870         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
871         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
872         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
873         .direction               = TF_DIR_TX
874         },
875         {
876         .app_id                  = 0,
877         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
878         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
879         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
880         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID,
881         .direction               = TF_DIR_RX
882         },
883         {
884         .app_id                  = 0,
885         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
886         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
887         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
888         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
889         .direction               = TF_DIR_RX
890         },
891         {
892         .app_id                  = 0,
893         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
894         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
895         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
896         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
897         .direction               = TF_DIR_TX
898         },
899         {
900         .app_id                  = 0,
901         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
902         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
903         .resource_type           = TF_IDENT_TYPE_EM_PROF,
904         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_EM_PROFILE_ID_0,
905         .direction               = TF_DIR_RX
906         },
907         {
908         .app_id                  = 0,
909         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
910         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
911         .resource_type           = TF_IDENT_TYPE_WC_PROF,
912         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_0,
913         .direction               = TF_DIR_RX
914         },
915         {
916         .app_id                  = 0,
917         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
918         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
919         .resource_type           = TF_TBL_TYPE_WC_FKB,
920         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_0,
921         .direction               = TF_DIR_RX
922         },
923         {
924         .app_id                  = 1,
925         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
926         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
927         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
928         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
929         .direction               = TF_DIR_RX
930         },
931         {
932         .app_id                  = 1,
933         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
934         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
935         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
936         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
937         .direction               = TF_DIR_TX
938         },
939         {
940         .app_id                  = 1,
941         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
942         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
943         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
944         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
945         .direction               = TF_DIR_TX
946         },
947         {
948         .app_id                  = 1,
949         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
950         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
951         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
952         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
953         .direction               = TF_DIR_RX
954         },
955         {
956         .app_id                  = 1,
957         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
958         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
959         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
960         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
961         .direction               = TF_DIR_TX
962         },
963         {
964         .app_id                  = 1,
965         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
966         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
967         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
968         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID,
969         .direction               = TF_DIR_RX
970         },
971         {
972         .app_id                  = 1,
973         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
974         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
975         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
976         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
977         .direction               = TF_DIR_RX
978         },
979         {
980         .app_id                  = 1,
981         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
982         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
983         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
984         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
985         .direction               = TF_DIR_TX
986         },
987         {
988         .app_id                  = 1,
989         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
990         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
991         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
992         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
993         .direction               = TF_DIR_RX
994         },
995         {
996         .app_id                  = 1,
997         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
998         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
999         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1000         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
1001         .direction               = TF_DIR_TX
1002         },
1003         {
1004         .app_id                  = 1,
1005         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1006         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1007         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
1008         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
1009         .direction               = TF_DIR_TX
1010         },
1011         {
1012         .app_id                  = 2,
1013         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1014         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1015         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1016         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
1017         .direction               = TF_DIR_RX
1018         },
1019         {
1020         .app_id                  = 2,
1021         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1022         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1023         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1024         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
1025         .direction               = TF_DIR_TX
1026         },
1027         {
1028         .app_id                  = 2,
1029         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1030         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1031         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
1032         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
1033         .direction               = TF_DIR_TX
1034         },
1035         {
1036         .app_id                  = 2,
1037         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1038         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1039         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1040         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
1041         .direction               = TF_DIR_RX
1042         },
1043         {
1044         .app_id                  = 2,
1045         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1046         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1047         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1048         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
1049         .direction               = TF_DIR_TX
1050         },
1051         {
1052         .app_id                  = 2,
1053         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1054         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1055         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1056         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID,
1057         .direction               = TF_DIR_RX
1058         },
1059         {
1060         .app_id                  = 2,
1061         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1062         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1063         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
1064         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
1065         .direction               = TF_DIR_RX
1066         },
1067         {
1068         .app_id                  = 2,
1069         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1070         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1071         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
1072         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
1073         .direction               = TF_DIR_TX
1074         },
1075         {
1076         .app_id                  = 2,
1077         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1078         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1079         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1080         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
1081         .direction               = TF_DIR_RX
1082         },
1083         {
1084         .app_id                  = 2,
1085         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1086         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1087         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1088         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
1089         .direction               = TF_DIR_TX
1090         },
1091         {
1092         .app_id                  = 2,
1093         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1094         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1095         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
1096         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
1097         .direction               = TF_DIR_TX
1098         }
1099 };
1100
1101 /* List of tf resources required to be reserved per app/device */
1102 struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
1103         {
1104         .app_id                  = 0,
1105         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1106         .direction               = TF_DIR_RX,
1107         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1108         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
1109         .count                   = 422
1110         },
1111         {
1112         .app_id                  = 0,
1113         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1114         .direction               = TF_DIR_RX,
1115         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1116         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
1117         .count                   = 6
1118         },
1119         {
1120         .app_id                  = 0,
1121         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1122         .direction               = TF_DIR_RX,
1123         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1124         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1125         .count                   = 191
1126         },
1127         {
1128         .app_id                  = 0,
1129         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1130         .direction               = TF_DIR_RX,
1131         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1132         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1133         .count                   = 63
1134         },
1135         {
1136         .app_id                  = 0,
1137         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1138         .direction               = TF_DIR_RX,
1139         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1140         .resource_type           = TF_IDENT_TYPE_EM_PROF,
1141         .count                   = 192
1142         },
1143         {
1144         .app_id                  = 0,
1145         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1146         .direction               = TF_DIR_RX,
1147         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1148         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
1149         .count                   = 8192
1150         },
1151         {
1152         .app_id                  = 0,
1153         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1154         .direction               = TF_DIR_RX,
1155         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1156         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
1157         .count                   = 6912
1158         },
1159         {
1160         .app_id                  = 0,
1161         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1162         .direction               = TF_DIR_RX,
1163         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1164         .resource_type           = TF_TBL_TYPE_ACT_MODIFY_IPV4,
1165         .count                   = 1023
1166         },
1167         {
1168         .app_id                  = 0,
1169         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1170         .direction               = TF_DIR_RX,
1171         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1172         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_8B,
1173         .count                   = 511
1174         },
1175         {
1176         .app_id                  = 0,
1177         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1178         .direction               = TF_DIR_RX,
1179         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1180         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
1181         .count                   = 63
1182         },
1183         {
1184         .app_id                  = 0,
1185         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1186         .direction               = TF_DIR_RX,
1187         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1188         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC,
1189         .count                   = 255
1190         },
1191         {
1192         .app_id                  = 0,
1193         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1194         .direction               = TF_DIR_RX,
1195         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1196         .resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
1197         .count                   = 1
1198         },
1199         {
1200         .app_id                  = 0,
1201         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1202         .direction               = TF_DIR_RX,
1203         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1204         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1205         .count                   = 422
1206         },
1207         {
1208         .app_id                  = 0,
1209         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1210         .direction               = TF_DIR_RX,
1211         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1212         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1213         .count                   = 6
1214         },
1215         {
1216         .app_id                  = 0,
1217         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1218         .direction               = TF_DIR_RX,
1219         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1220         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
1221         .count                   = 960
1222         },
1223         {
1224         .app_id                  = 0,
1225         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1226         .direction               = TF_DIR_RX,
1227         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1228         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
1229         .count                   = 88
1230         },
1231         {
1232         .app_id                  = 0,
1233         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1234         .direction               = TF_DIR_RX,
1235         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1236         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
1237         .count                   = 13168
1238         },
1239         {
1240         .app_id                  = 0,
1241         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1242         .direction               = TF_DIR_RX,
1243         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1244         .resource_type           = TF_EM_TBL_TYPE_TBL_SCOPE,
1245         .count                   = 1
1246         },
1247         {
1248         .app_id                  = 0,
1249         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1250         .direction               = TF_DIR_TX,
1251         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1252         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
1253         .count                   = 292
1254         },
1255         {
1256         .app_id                  = 0,
1257         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1258         .direction               = TF_DIR_TX,
1259         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1260         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
1261         .count                   = 148
1262         },
1263         {
1264         .app_id                  = 0,
1265         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1266         .direction               = TF_DIR_TX,
1267         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1268         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1269         .count                   = 191
1270         },
1271         {
1272         .app_id                  = 0,
1273         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1274         .direction               = TF_DIR_TX,
1275         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1276         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1277         .count                   = 63
1278         },
1279         {
1280         .app_id                  = 0,
1281         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1282         .direction               = TF_DIR_TX,
1283         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1284         .resource_type           = TF_IDENT_TYPE_EM_PROF,
1285         .count                   = 192
1286         },
1287         {
1288         .app_id                  = 0,
1289         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1290         .direction               = TF_DIR_TX,
1291         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1292         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
1293         .count                   = 8192
1294         },
1295         {
1296         .app_id                  = 0,
1297         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1298         .direction               = TF_DIR_TX,
1299         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1300         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
1301         .count                   = 6912
1302         },
1303         {
1304         .app_id                  = 0,
1305         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1306         .direction               = TF_DIR_TX,
1307         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1308         .resource_type           = TF_TBL_TYPE_ACT_MODIFY_IPV4,
1309         .count                   = 1023
1310         },
1311         {
1312         .app_id                  = 0,
1313         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1314         .direction               = TF_DIR_TX,
1315         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1316         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
1317         .count                   = 511
1318         },
1319         {
1320         .app_id                  = 0,
1321         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1322         .direction               = TF_DIR_TX,
1323         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1324         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
1325         .count                   = 223
1326         },
1327         {
1328         .app_id                  = 0,
1329         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1330         .direction               = TF_DIR_TX,
1331         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1332         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_8B,
1333         .count                   = 255
1334         },
1335         {
1336         .app_id                  = 0,
1337         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1338         .direction               = TF_DIR_TX,
1339         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1340         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1341         .count                   = 488
1342         },
1343         {
1344         .app_id                  = 0,
1345         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1346         .direction               = TF_DIR_TX,
1347         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1348         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV6,
1349         .count                   = 511
1350         },
1351         {
1352         .app_id                  = 0,
1353         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1354         .direction               = TF_DIR_TX,
1355         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1356         .resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
1357         .count                   = 1
1358         },
1359         {
1360         .app_id                  = 0,
1361         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1362         .direction               = TF_DIR_TX,
1363         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1364         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1365         .count                   = 292
1366         },
1367         {
1368         .app_id                  = 0,
1369         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1370         .direction               = TF_DIR_TX,
1371         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1372         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1373         .count                   = 144
1374         },
1375         {
1376         .app_id                  = 0,
1377         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1378         .direction               = TF_DIR_TX,
1379         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1380         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
1381         .count                   = 960
1382         },
1383         {
1384         .app_id                  = 0,
1385         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1386         .direction               = TF_DIR_TX,
1387         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1388         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
1389         .count                   = 928
1390         },
1391         {
1392         .app_id                  = 0,
1393         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1394         .direction               = TF_DIR_TX,
1395         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1396         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
1397         .count                   = 15232
1398         },
1399         {
1400         .app_id                  = 0,
1401         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1402         .direction               = TF_DIR_TX,
1403         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1404         .resource_type           = TF_EM_TBL_TYPE_TBL_SCOPE,
1405         .count                   = 1
1406         },
1407         {
1408         .app_id                  = 0,
1409         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1410         .direction               = TF_DIR_RX,
1411         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1412         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
1413         .count                   = 422
1414         },
1415         {
1416         .app_id                  = 0,
1417         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1418         .direction               = TF_DIR_RX,
1419         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1420         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
1421         .count                   = 6
1422         },
1423         {
1424         .app_id                  = 0,
1425         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1426         .direction               = TF_DIR_RX,
1427         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1428         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1429         .count                   = 32
1430         },
1431         {
1432         .app_id                  = 0,
1433         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1434         .direction               = TF_DIR_RX,
1435         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1436         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1437         .count                   = 32
1438         },
1439         {
1440         .app_id                  = 0,
1441         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1442         .direction               = TF_DIR_RX,
1443         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1444         .resource_type           = TF_IDENT_TYPE_EM_PROF,
1445         .count                   = 32
1446         },
1447         {
1448         .app_id                  = 0,
1449         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1450         .direction               = TF_DIR_RX,
1451         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1452         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
1453         .count                   = 2048
1454         },
1455         {
1456         .app_id                  = 0,
1457         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1458         .direction               = TF_DIR_RX,
1459         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1460         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
1461         .count                   = 512
1462         },
1463         {
1464         .app_id                  = 0,
1465         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1466         .direction               = TF_DIR_RX,
1467         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1468         .resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
1469         .count                   = 5
1470         },
1471         {
1472         .app_id                  = 0,
1473         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1474         .direction               = TF_DIR_RX,
1475         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1476         .resource_type           = TF_TBL_TYPE_EM_FKB,
1477         .count                   = 32
1478         },
1479         {
1480         .app_id                  = 0,
1481         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1482         .direction               = TF_DIR_RX,
1483         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1484         .resource_type           = TF_TBL_TYPE_WC_FKB,
1485         .count                   = 31
1486         },
1487         {
1488         .app_id                  = 0,
1489         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1490         .direction               = TF_DIR_RX,
1491         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1492         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
1493         .count                   = 64
1494         },
1495         {
1496         .app_id                  = 0,
1497         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1498         .direction               = TF_DIR_RX,
1499         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1500         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1501         .count                   = 64
1502         },
1503         {
1504         .app_id                  = 0,
1505         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1506         .direction               = TF_DIR_RX,
1507         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1508         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1509         .count                   = 300
1510         },
1511         {
1512         .app_id                  = 0,
1513         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1514         .direction               = TF_DIR_RX,
1515         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1516         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1517         .count                   = 6
1518         },
1519         {
1520         .app_id                  = 0,
1521         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1522         .direction               = TF_DIR_RX,
1523         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1524         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
1525         .count                   = 128
1526         },
1527         {
1528         .app_id                  = 0,
1529         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1530         .direction               = TF_DIR_RX,
1531         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1532         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
1533         .count                   = 2048
1534         },
1535         {
1536         .app_id                  = 0,
1537         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1538         .direction               = TF_DIR_RX,
1539         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1540         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
1541         .count                   = 13200
1542         },
1543         {
1544         .app_id                  = 0,
1545         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1546         .direction               = TF_DIR_TX,
1547         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1548         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
1549         .count                   = 26
1550         },
1551         {
1552         .app_id                  = 0,
1553         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1554         .direction               = TF_DIR_TX,
1555         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1556         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
1557         .count                   = 26
1558         },
1559         {
1560         .app_id                  = 0,
1561         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1562         .direction               = TF_DIR_TX,
1563         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1564         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1565         .count                   = 32
1566         },
1567         {
1568         .app_id                  = 0,
1569         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1570         .direction               = TF_DIR_TX,
1571         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1572         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1573         .count                   = 63
1574         },
1575         {
1576         .app_id                  = 0,
1577         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1578         .direction               = TF_DIR_TX,
1579         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1580         .resource_type           = TF_IDENT_TYPE_EM_PROF,
1581         .count                   = 32
1582         },
1583         {
1584         .app_id                  = 0,
1585         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1586         .direction               = TF_DIR_TX,
1587         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1588         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
1589         .count                   = 1023
1590         },
1591         {
1592         .app_id                  = 0,
1593         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1594         .direction               = TF_DIR_TX,
1595         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1596         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
1597         .count                   = 512
1598         },
1599         {
1600         .app_id                  = 0,
1601         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1602         .direction               = TF_DIR_TX,
1603         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1604         .resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
1605         .count                   = 5
1606         },
1607         {
1608         .app_id                  = 0,
1609         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1610         .direction               = TF_DIR_TX,
1611         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1612         .resource_type           = TF_TBL_TYPE_EM_FKB,
1613         .count                   = 32
1614         },
1615         {
1616         .app_id                  = 0,
1617         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1618         .direction               = TF_DIR_TX,
1619         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1620         .resource_type           = TF_TBL_TYPE_WC_FKB,
1621         .count                   = 32
1622         },
1623         {
1624         .app_id                  = 0,
1625         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1626         .direction               = TF_DIR_TX,
1627         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1628         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
1629         .count                   = 64
1630         },
1631         {
1632         .app_id                  = 0,
1633         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1634         .direction               = TF_DIR_TX,
1635         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1636         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1637         .count                   = 100
1638         },
1639         {
1640         .app_id                  = 0,
1641         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1642         .direction               = TF_DIR_TX,
1643         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1644         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1645         .count                   = 200
1646         },
1647         {
1648         .app_id                  = 0,
1649         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1650         .direction               = TF_DIR_TX,
1651         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1652         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1653         .count                   = 110
1654         },
1655         {
1656         .app_id                  = 0,
1657         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1658         .direction               = TF_DIR_TX,
1659         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1660         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
1661         .count                   = 128
1662         },
1663         {
1664         .app_id                  = 0,
1665         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1666         .direction               = TF_DIR_TX,
1667         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1668         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
1669         .count                   = 2048
1670         },
1671         {
1672         .app_id                  = 0,
1673         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1674         .direction               = TF_DIR_TX,
1675         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1676         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
1677         .count                   = 15232
1678         },
1679         {
1680         .app_id                  = 1,
1681         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1682         .direction               = TF_DIR_RX,
1683         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1684         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
1685         .count                   = 32
1686         },
1687         {
1688         .app_id                  = 1,
1689         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1690         .direction               = TF_DIR_RX,
1691         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1692         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
1693         .count                   = 2
1694         },
1695         {
1696         .app_id                  = 1,
1697         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1698         .direction               = TF_DIR_RX,
1699         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1700         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1701         .count                   = 4
1702         },
1703         {
1704         .app_id                  = 1,
1705         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1706         .direction               = TF_DIR_RX,
1707         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1708         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1709         .count                   = 4
1710         },
1711         {
1712         .app_id                  = 1,
1713         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1714         .direction               = TF_DIR_RX,
1715         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1716         .resource_type           = TF_IDENT_TYPE_EM_PROF,
1717         .count                   = 4
1718         },
1719         {
1720         .app_id                  = 1,
1721         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1722         .direction               = TF_DIR_RX,
1723         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1724         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
1725         .count                   = 128
1726         },
1727         {
1728         .app_id                  = 1,
1729         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1730         .direction               = TF_DIR_RX,
1731         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1732         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
1733         .count                   = 128
1734         },
1735         {
1736         .app_id                  = 1,
1737         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1738         .direction               = TF_DIR_RX,
1739         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1740         .resource_type           = TF_TBL_TYPE_ACT_MODIFY_IPV4,
1741         .count                   = 4
1742         },
1743         {
1744         .app_id                  = 1,
1745         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1746         .direction               = TF_DIR_RX,
1747         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1748         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_8B,
1749         .count                   = 4
1750         },
1751         {
1752         .app_id                  = 1,
1753         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1754         .direction               = TF_DIR_RX,
1755         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1756         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
1757         .count                   = 4
1758         },
1759         {
1760         .app_id                  = 1,
1761         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1762         .direction               = TF_DIR_RX,
1763         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1764         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC,
1765         .count                   = 4
1766         },
1767         {
1768         .app_id                  = 1,
1769         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1770         .direction               = TF_DIR_RX,
1771         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1772         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1773         .count                   = 32
1774         },
1775         {
1776         .app_id                  = 1,
1777         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1778         .direction               = TF_DIR_RX,
1779         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1780         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1781         .count                   = 2
1782         },
1783         {
1784         .app_id                  = 1,
1785         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1786         .direction               = TF_DIR_RX,
1787         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1788         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
1789         .count                   = 32
1790         },
1791         {
1792         .app_id                  = 1,
1793         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1794         .direction               = TF_DIR_RX,
1795         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1796         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
1797         .count                   = 4
1798         },
1799         {
1800         .app_id                  = 1,
1801         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1802         .direction               = TF_DIR_RX,
1803         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1804         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
1805         .count                   = 1024
1806         },
1807         {
1808         .app_id                  = 1,
1809         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1810         .direction               = TF_DIR_TX,
1811         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1812         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
1813         .count                   = 32
1814         },
1815         {
1816         .app_id                  = 1,
1817         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1818         .direction               = TF_DIR_TX,
1819         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1820         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
1821         .count                   = 2
1822         },
1823         {
1824         .app_id                  = 1,
1825         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1826         .direction               = TF_DIR_TX,
1827         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1828         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1829         .count                   = 4
1830         },
1831         {
1832         .app_id                  = 1,
1833         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1834         .direction               = TF_DIR_TX,
1835         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1836         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1837         .count                   = 4
1838         },
1839         {
1840         .app_id                  = 1,
1841         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1842         .direction               = TF_DIR_TX,
1843         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1844         .resource_type           = TF_IDENT_TYPE_EM_PROF,
1845         .count                   = 4
1846         },
1847         {
1848         .app_id                  = 1,
1849         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1850         .direction               = TF_DIR_TX,
1851         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1852         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
1853         .count                   = 128
1854         },
1855         {
1856         .app_id                  = 1,
1857         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1858         .direction               = TF_DIR_TX,
1859         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1860         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
1861         .count                   = 128
1862         },
1863         {
1864         .app_id                  = 1,
1865         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1866         .direction               = TF_DIR_TX,
1867         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1868         .resource_type           = TF_TBL_TYPE_ACT_MODIFY_IPV4,
1869         .count                   = 4
1870         },
1871         {
1872         .app_id                  = 1,
1873         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1874         .direction               = TF_DIR_TX,
1875         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1876         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
1877         .count                   = 4
1878         },
1879         {
1880         .app_id                  = 1,
1881         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1882         .direction               = TF_DIR_TX,
1883         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1884         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
1885         .count                   = 4
1886         },
1887         {
1888         .app_id                  = 1,
1889         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1890         .direction               = TF_DIR_TX,
1891         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1892         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_8B,
1893         .count                   = 4
1894         },
1895         {
1896         .app_id                  = 1,
1897         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1898         .direction               = TF_DIR_TX,
1899         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1900         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1901         .count                   = 4
1902         },
1903         {
1904         .app_id                  = 1,
1905         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1906         .direction               = TF_DIR_TX,
1907         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1908         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV6,
1909         .count                   = 4
1910         },
1911         {
1912         .app_id                  = 1,
1913         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1914         .direction               = TF_DIR_TX,
1915         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1916         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1917         .count                   = 32
1918         },
1919         {
1920         .app_id                  = 1,
1921         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1922         .direction               = TF_DIR_TX,
1923         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1924         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1925         .count                   = 2
1926         },
1927         {
1928         .app_id                  = 1,
1929         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1930         .direction               = TF_DIR_TX,
1931         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1932         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
1933         .count                   = 32
1934         },
1935         {
1936         .app_id                  = 1,
1937         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1938         .direction               = TF_DIR_TX,
1939         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1940         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
1941         .count                   = 4
1942         },
1943         {
1944         .app_id                  = 1,
1945         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1946         .direction               = TF_DIR_TX,
1947         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1948         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
1949         .count                   = 1024
1950         },
1951         {
1952         .app_id                  = 1,
1953         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1954         .direction               = TF_DIR_RX,
1955         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1956         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
1957         .count                   = 32
1958         },
1959         {
1960         .app_id                  = 1,
1961         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1962         .direction               = TF_DIR_RX,
1963         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1964         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
1965         .count                   = 2
1966         },
1967         {
1968         .app_id                  = 1,
1969         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1970         .direction               = TF_DIR_RX,
1971         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1972         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1973         .count                   = 32
1974         },
1975         {
1976         .app_id                  = 1,
1977         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1978         .direction               = TF_DIR_RX,
1979         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1980         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1981         .count                   = 16
1982         },
1983         {
1984         .app_id                  = 1,
1985         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1986         .direction               = TF_DIR_RX,
1987         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1988         .resource_type           = TF_IDENT_TYPE_EM_PROF,
1989         .count                   = 32
1990         },
1991         {
1992         .app_id                  = 1,
1993         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1994         .direction               = TF_DIR_RX,
1995         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1996         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
1997         .count                   = 528
1998         },
1999         {
2000         .app_id                  = 1,
2001         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2002         .direction               = TF_DIR_RX,
2003         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2004         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
2005         .count                   = 256
2006         },
2007         {
2008         .app_id                  = 1,
2009         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2010         .direction               = TF_DIR_RX,
2011         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2012         .resource_type           = TF_TBL_TYPE_EM_FKB,
2013         .count                   = 4
2014         },
2015         {
2016         .app_id                  = 1,
2017         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2018         .direction               = TF_DIR_RX,
2019         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2020         .resource_type           = TF_TBL_TYPE_WC_FKB,
2021         .count                   = 4
2022         },
2023         {
2024         .app_id                  = 1,
2025         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2026         .direction               = TF_DIR_RX,
2027         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2028         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
2029         .count                   = 4
2030         },
2031         {
2032         .app_id                  = 1,
2033         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2034         .direction               = TF_DIR_RX,
2035         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2036         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
2037         .count                   = 4
2038         },
2039         {
2040         .app_id                  = 1,
2041         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2042         .direction               = TF_DIR_RX,
2043         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2044         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
2045         .count                   = 32
2046         },
2047         {
2048         .app_id                  = 1,
2049         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2050         .direction               = TF_DIR_RX,
2051         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2052         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2053         .count                   = 2
2054         },
2055         {
2056         .app_id                  = 1,
2057         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2058         .direction               = TF_DIR_RX,
2059         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2060         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
2061         .count                   = 32
2062         },
2063         {
2064         .app_id                  = 1,
2065         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2066         .direction               = TF_DIR_RX,
2067         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2068         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
2069         .count                   = 4
2070         },
2071         {
2072         .app_id                  = 1,
2073         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2074         .direction               = TF_DIR_RX,
2075         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2076         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
2077         .count                   = 1024
2078         },
2079         {
2080         .app_id                  = 1,
2081         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2082         .direction               = TF_DIR_TX,
2083         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2084         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
2085         .count                   = 32
2086         },
2087         {
2088         .app_id                  = 1,
2089         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2090         .direction               = TF_DIR_TX,
2091         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2092         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
2093         .count                   = 2
2094         },
2095         {
2096         .app_id                  = 1,
2097         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2098         .direction               = TF_DIR_TX,
2099         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2100         .resource_type           = TF_IDENT_TYPE_WC_PROF,
2101         .count                   = 4
2102         },
2103         {
2104         .app_id                  = 1,
2105         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2106         .direction               = TF_DIR_TX,
2107         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2108         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
2109         .count                   = 4
2110         },
2111         {
2112         .app_id                  = 1,
2113         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2114         .direction               = TF_DIR_TX,
2115         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2116         .resource_type           = TF_IDENT_TYPE_EM_PROF,
2117         .count                   = 4
2118         },
2119         {
2120         .app_id                  = 1,
2121         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2122         .direction               = TF_DIR_TX,
2123         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2124         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
2125         .count                   = 512
2126         },
2127         {
2128         .app_id                  = 1,
2129         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2130         .direction               = TF_DIR_TX,
2131         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2132         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
2133         .count                   = 256
2134         },
2135         {
2136         .app_id                  = 1,
2137         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2138         .direction               = TF_DIR_TX,
2139         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2140         .resource_type           = TF_TBL_TYPE_EM_FKB,
2141         .count                   = 4
2142         },
2143         {
2144         .app_id                  = 1,
2145         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2146         .direction               = TF_DIR_TX,
2147         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2148         .resource_type           = TF_TBL_TYPE_WC_FKB,
2149         .count                   = 4
2150         },
2151         {
2152         .app_id                  = 1,
2153         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2154         .direction               = TF_DIR_TX,
2155         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2156         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
2157         .count                   = 4
2158         },
2159         {
2160         .app_id                  = 1,
2161         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2162         .direction               = TF_DIR_TX,
2163         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2164         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
2165         .count                   = 4
2166         },
2167         {
2168         .app_id                  = 1,
2169         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2170         .direction               = TF_DIR_TX,
2171         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2172         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
2173         .count                   = 32
2174         },
2175         {
2176         .app_id                  = 1,
2177         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2178         .direction               = TF_DIR_TX,
2179         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2180         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2181         .count                   = 2
2182         },
2183         {
2184         .app_id                  = 1,
2185         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2186         .direction               = TF_DIR_TX,
2187         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2188         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
2189         .count                   = 32
2190         },
2191         {
2192         .app_id                  = 1,
2193         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2194         .direction               = TF_DIR_TX,
2195         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2196         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
2197         .count                   = 4
2198         },
2199         {
2200         .app_id                  = 1,
2201         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2202         .direction               = TF_DIR_TX,
2203         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2204         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
2205         .count                   = 1024
2206         },
2207         {
2208         .app_id                  = 2,
2209         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2210         .direction               = TF_DIR_RX,
2211         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2212         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
2213         .count                   = 32
2214         },
2215         {
2216         .app_id                  = 2,
2217         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2218         .direction               = TF_DIR_RX,
2219         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2220         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
2221         .count                   = 2
2222         },
2223         {
2224         .app_id                  = 2,
2225         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2226         .direction               = TF_DIR_RX,
2227         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2228         .resource_type           = TF_IDENT_TYPE_WC_PROF,
2229         .count                   = 4
2230         },
2231         {
2232         .app_id                  = 2,
2233         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2234         .direction               = TF_DIR_RX,
2235         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2236         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
2237         .count                   = 4
2238         },
2239         {
2240         .app_id                  = 2,
2241         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2242         .direction               = TF_DIR_RX,
2243         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2244         .resource_type           = TF_IDENT_TYPE_EM_PROF,
2245         .count                   = 4
2246         },
2247         {
2248         .app_id                  = 2,
2249         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2250         .direction               = TF_DIR_RX,
2251         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2252         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
2253         .count                   = 128
2254         },
2255         {
2256         .app_id                  = 2,
2257         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2258         .direction               = TF_DIR_RX,
2259         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2260         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
2261         .count                   = 128
2262         },
2263         {
2264         .app_id                  = 2,
2265         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2266         .direction               = TF_DIR_RX,
2267         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2268         .resource_type           = TF_TBL_TYPE_ACT_MODIFY_IPV4,
2269         .count                   = 4
2270         },
2271         {
2272         .app_id                  = 2,
2273         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2274         .direction               = TF_DIR_RX,
2275         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2276         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_8B,
2277         .count                   = 4
2278         },
2279         {
2280         .app_id                  = 2,
2281         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2282         .direction               = TF_DIR_RX,
2283         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2284         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
2285         .count                   = 4
2286         },
2287         {
2288         .app_id                  = 2,
2289         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2290         .direction               = TF_DIR_RX,
2291         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2292         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC,
2293         .count                   = 4
2294         },
2295         {
2296         .app_id                  = 2,
2297         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2298         .direction               = TF_DIR_RX,
2299         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2300         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
2301         .count                   = 32
2302         },
2303         {
2304         .app_id                  = 2,
2305         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2306         .direction               = TF_DIR_RX,
2307         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2308         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2309         .count                   = 2
2310         },
2311         {
2312         .app_id                  = 2,
2313         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2314         .direction               = TF_DIR_RX,
2315         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2316         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
2317         .count                   = 32
2318         },
2319         {
2320         .app_id                  = 2,
2321         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2322         .direction               = TF_DIR_RX,
2323         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2324         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
2325         .count                   = 64
2326         },
2327         {
2328         .app_id                  = 2,
2329         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2330         .direction               = TF_DIR_RX,
2331         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2332         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
2333         .count                   = 1024
2334         },
2335         {
2336         .app_id                  = 2,
2337         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2338         .direction               = TF_DIR_TX,
2339         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2340         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
2341         .count                   = 32
2342         },
2343         {
2344         .app_id                  = 2,
2345         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2346         .direction               = TF_DIR_TX,
2347         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2348         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
2349         .count                   = 2
2350         },
2351         {
2352         .app_id                  = 2,
2353         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2354         .direction               = TF_DIR_TX,
2355         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2356         .resource_type           = TF_IDENT_TYPE_WC_PROF,
2357         .count                   = 4
2358         },
2359         {
2360         .app_id                  = 2,
2361         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2362         .direction               = TF_DIR_TX,
2363         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2364         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
2365         .count                   = 4
2366         },
2367         {
2368         .app_id                  = 2,
2369         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2370         .direction               = TF_DIR_TX,
2371         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2372         .resource_type           = TF_IDENT_TYPE_EM_PROF,
2373         .count                   = 4
2374         },
2375         {
2376         .app_id                  = 2,
2377         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2378         .direction               = TF_DIR_TX,
2379         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2380         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
2381         .count                   = 128
2382         },
2383         {
2384         .app_id                  = 2,
2385         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2386         .direction               = TF_DIR_TX,
2387         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2388         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
2389         .count                   = 128
2390         },
2391         {
2392         .app_id                  = 2,
2393         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2394         .direction               = TF_DIR_TX,
2395         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2396         .resource_type           = TF_TBL_TYPE_ACT_MODIFY_IPV4,
2397         .count                   = 4
2398         },
2399         {
2400         .app_id                  = 2,
2401         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2402         .direction               = TF_DIR_TX,
2403         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2404         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
2405         .count                   = 4
2406         },
2407         {
2408         .app_id                  = 2,
2409         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2410         .direction               = TF_DIR_TX,
2411         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2412         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
2413         .count                   = 4
2414         },
2415         {
2416         .app_id                  = 2,
2417         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2418         .direction               = TF_DIR_TX,
2419         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2420         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_8B,
2421         .count                   = 4
2422         },
2423         {
2424         .app_id                  = 2,
2425         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2426         .direction               = TF_DIR_TX,
2427         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2428         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
2429         .count                   = 4
2430         },
2431         {
2432         .app_id                  = 2,
2433         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2434         .direction               = TF_DIR_TX,
2435         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2436         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV6,
2437         .count                   = 4
2438         },
2439         {
2440         .app_id                  = 2,
2441         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2442         .direction               = TF_DIR_TX,
2443         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2444         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
2445         .count                   = 32
2446         },
2447         {
2448         .app_id                  = 2,
2449         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2450         .direction               = TF_DIR_TX,
2451         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2452         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2453         .count                   = 2
2454         },
2455         {
2456         .app_id                  = 2,
2457         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2458         .direction               = TF_DIR_TX,
2459         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2460         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
2461         .count                   = 32
2462         },
2463         {
2464         .app_id                  = 2,
2465         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2466         .direction               = TF_DIR_TX,
2467         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2468         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
2469         .count                   = 4
2470         },
2471         {
2472         .app_id                  = 2,
2473         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2474         .direction               = TF_DIR_TX,
2475         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2476         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
2477         .count                   = 1024
2478         },
2479         {
2480         .app_id                  = 2,
2481         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2482         .direction               = TF_DIR_RX,
2483         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2484         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
2485         .count                   = 32
2486         },
2487         {
2488         .app_id                  = 2,
2489         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2490         .direction               = TF_DIR_RX,
2491         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2492         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
2493         .count                   = 2
2494         },
2495         {
2496         .app_id                  = 2,
2497         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2498         .direction               = TF_DIR_RX,
2499         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2500         .resource_type           = TF_IDENT_TYPE_WC_PROF,
2501         .count                   = 32
2502         },
2503         {
2504         .app_id                  = 2,
2505         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2506         .direction               = TF_DIR_RX,
2507         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2508         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
2509         .count                   = 16
2510         },
2511         {
2512         .app_id                  = 2,
2513         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2514         .direction               = TF_DIR_RX,
2515         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2516         .resource_type           = TF_IDENT_TYPE_EM_PROF,
2517         .count                   = 32
2518         },
2519         {
2520         .app_id                  = 2,
2521         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2522         .direction               = TF_DIR_RX,
2523         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2524         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
2525         .count                   = 528
2526         },
2527         {
2528         .app_id                  = 2,
2529         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2530         .direction               = TF_DIR_RX,
2531         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2532         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
2533         .count                   = 256
2534         },
2535         {
2536         .app_id                  = 2,
2537         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2538         .direction               = TF_DIR_RX,
2539         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2540         .resource_type           = TF_TBL_TYPE_EM_FKB,
2541         .count                   = 4
2542         },
2543         {
2544         .app_id                  = 2,
2545         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2546         .direction               = TF_DIR_RX,
2547         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2548         .resource_type           = TF_TBL_TYPE_WC_FKB,
2549         .count                   = 4
2550         },
2551         {
2552         .app_id                  = 2,
2553         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2554         .direction               = TF_DIR_RX,
2555         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2556         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
2557         .count                   = 4
2558         },
2559         {
2560         .app_id                  = 2,
2561         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2562         .direction               = TF_DIR_RX,
2563         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2564         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
2565         .count                   = 4
2566         },
2567         {
2568         .app_id                  = 2,
2569         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2570         .direction               = TF_DIR_RX,
2571         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2572         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
2573         .count                   = 32
2574         },
2575         {
2576         .app_id                  = 2,
2577         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2578         .direction               = TF_DIR_RX,
2579         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2580         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2581         .count                   = 2
2582         },
2583         {
2584         .app_id                  = 2,
2585         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2586         .direction               = TF_DIR_RX,
2587         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2588         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
2589         .count                   = 32
2590         },
2591         {
2592         .app_id                  = 2,
2593         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2594         .direction               = TF_DIR_RX,
2595         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2596         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
2597         .count                   = 512
2598         },
2599         {
2600         .app_id                  = 2,
2601         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2602         .direction               = TF_DIR_RX,
2603         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2604         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
2605         .count                   = 1024
2606         },
2607         {
2608         .app_id                  = 2,
2609         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2610         .direction               = TF_DIR_TX,
2611         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2612         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
2613         .count                   = 32
2614         },
2615         {
2616         .app_id                  = 2,
2617         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2618         .direction               = TF_DIR_TX,
2619         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2620         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
2621         .count                   = 2
2622         },
2623         {
2624         .app_id                  = 2,
2625         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2626         .direction               = TF_DIR_TX,
2627         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2628         .resource_type           = TF_IDENT_TYPE_WC_PROF,
2629         .count                   = 4
2630         },
2631         {
2632         .app_id                  = 2,
2633         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2634         .direction               = TF_DIR_TX,
2635         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2636         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
2637         .count                   = 4
2638         },
2639         {
2640         .app_id                  = 2,
2641         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2642         .direction               = TF_DIR_TX,
2643         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2644         .resource_type           = TF_IDENT_TYPE_EM_PROF,
2645         .count                   = 4
2646         },
2647         {
2648         .app_id                  = 2,
2649         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2650         .direction               = TF_DIR_TX,
2651         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2652         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
2653         .count                   = 512
2654         },
2655         {
2656         .app_id                  = 2,
2657         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2658         .direction               = TF_DIR_TX,
2659         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2660         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
2661         .count                   = 256
2662         },
2663         {
2664         .app_id                  = 2,
2665         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2666         .direction               = TF_DIR_TX,
2667         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2668         .resource_type           = TF_TBL_TYPE_EM_FKB,
2669         .count                   = 4
2670         },
2671         {
2672         .app_id                  = 2,
2673         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2674         .direction               = TF_DIR_TX,
2675         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2676         .resource_type           = TF_TBL_TYPE_WC_FKB,
2677         .count                   = 4
2678         },
2679         {
2680         .app_id                  = 2,
2681         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2682         .direction               = TF_DIR_TX,
2683         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2684         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
2685         .count                   = 4
2686         },
2687         {
2688         .app_id                  = 2,
2689         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2690         .direction               = TF_DIR_TX,
2691         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2692         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
2693         .count                   = 4
2694         },
2695         {
2696         .app_id                  = 2,
2697         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2698         .direction               = TF_DIR_TX,
2699         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2700         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
2701         .count                   = 32
2702         },
2703         {
2704         .app_id                  = 2,
2705         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2706         .direction               = TF_DIR_TX,
2707         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2708         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2709         .count                   = 2
2710         },
2711         {
2712         .app_id                  = 2,
2713         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2714         .direction               = TF_DIR_TX,
2715         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2716         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
2717         .count                   = 32
2718         },
2719         {
2720         .app_id                  = 2,
2721         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2722         .direction               = TF_DIR_TX,
2723         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2724         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
2725         .count                   = 4
2726         },
2727         {
2728         .app_id                  = 2,
2729         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2730         .direction               = TF_DIR_TX,
2731         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2732         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
2733         .count                   = 1024
2734         }
2735 };
2736
2737 uint32_t ulp_act_prop_map_table[] = {
2738         [BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ] =
2739                 BNXT_ULP_ACT_PROP_SZ_ENCAP_TUN_SZ,
2740         [BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ] =
2741                 BNXT_ULP_ACT_PROP_SZ_ENCAP_IP_SZ,
2742         [BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ] =
2743                 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG_SZ,
2744         [BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE] =
2745                 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG_TYPE,
2746         [BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_NUM] =
2747                 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG_NUM,
2748         [BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE] =
2749                 BNXT_ULP_ACT_PROP_SZ_ENCAP_L3_TYPE,
2750         [BNXT_ULP_ACT_PROP_IDX_MPLS_POP_NUM] =
2751                 BNXT_ULP_ACT_PROP_SZ_MPLS_POP_NUM,
2752         [BNXT_ULP_ACT_PROP_IDX_MPLS_PUSH_NUM] =
2753                 BNXT_ULP_ACT_PROP_SZ_MPLS_PUSH_NUM,
2754         [BNXT_ULP_ACT_PROP_IDX_PORT_ID] =
2755                 BNXT_ULP_ACT_PROP_SZ_PORT_ID,
2756         [BNXT_ULP_ACT_PROP_IDX_VNIC] =
2757                 BNXT_ULP_ACT_PROP_SZ_VNIC,
2758         [BNXT_ULP_ACT_PROP_IDX_VPORT] =
2759                 BNXT_ULP_ACT_PROP_SZ_VPORT,
2760         [BNXT_ULP_ACT_PROP_IDX_MARK] =
2761                 BNXT_ULP_ACT_PROP_SZ_MARK,
2762         [BNXT_ULP_ACT_PROP_IDX_COUNT] =
2763                 BNXT_ULP_ACT_PROP_SZ_COUNT,
2764         [BNXT_ULP_ACT_PROP_IDX_METER] =
2765                 BNXT_ULP_ACT_PROP_SZ_METER,
2766         [BNXT_ULP_ACT_PROP_IDX_SET_MAC_SRC] =
2767                 BNXT_ULP_ACT_PROP_SZ_SET_MAC_SRC,
2768         [BNXT_ULP_ACT_PROP_IDX_SET_MAC_DST] =
2769                 BNXT_ULP_ACT_PROP_SZ_SET_MAC_DST,
2770         [BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN] =
2771                 BNXT_ULP_ACT_PROP_SZ_PUSH_VLAN,
2772         [BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP] =
2773                 BNXT_ULP_ACT_PROP_SZ_SET_VLAN_PCP,
2774         [BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID] =
2775                 BNXT_ULP_ACT_PROP_SZ_SET_VLAN_VID,
2776         [BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC] =
2777                 BNXT_ULP_ACT_PROP_SZ_SET_IPV4_SRC,
2778         [BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST] =
2779                 BNXT_ULP_ACT_PROP_SZ_SET_IPV4_DST,
2780         [BNXT_ULP_ACT_PROP_IDX_SET_IPV6_SRC] =
2781                 BNXT_ULP_ACT_PROP_SZ_SET_IPV6_SRC,
2782         [BNXT_ULP_ACT_PROP_IDX_SET_IPV6_DST] =
2783                 BNXT_ULP_ACT_PROP_SZ_SET_IPV6_DST,
2784         [BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC] =
2785                 BNXT_ULP_ACT_PROP_SZ_SET_TP_SRC,
2786         [BNXT_ULP_ACT_PROP_IDX_SET_TP_DST] =
2787                 BNXT_ULP_ACT_PROP_SZ_SET_TP_DST,
2788         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_0] =
2789                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_0,
2790         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_1] =
2791                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_1,
2792         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_2] =
2793                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_2,
2794         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_3] =
2795                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_3,
2796         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_4] =
2797                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_4,
2798         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_5] =
2799                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_5,
2800         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_6] =
2801                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_6,
2802         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_7] =
2803                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_7,
2804         [BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC] =
2805                 BNXT_ULP_ACT_PROP_SZ_ENCAP_L2_DMAC,
2806         [BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC] =
2807                 BNXT_ULP_ACT_PROP_SZ_ENCAP_L2_SMAC,
2808         [BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG] =
2809                 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG,
2810         [BNXT_ULP_ACT_PROP_IDX_ENCAP_IP] =
2811                 BNXT_ULP_ACT_PROP_SZ_ENCAP_IP,
2812         [BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC] =
2813                 BNXT_ULP_ACT_PROP_SZ_ENCAP_IP_SRC,
2814         [BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP] =
2815                 BNXT_ULP_ACT_PROP_SZ_ENCAP_UDP,
2816         [BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN] =
2817                 BNXT_ULP_ACT_PROP_SZ_ENCAP_TUN,
2818         [BNXT_ULP_ACT_PROP_IDX_JUMP] =
2819                 BNXT_ULP_ACT_PROP_SZ_JUMP,
2820         [BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE] =
2821                 BNXT_ULP_ACT_PROP_SZ_SHARED_HANDLE,
2822         [BNXT_ULP_ACT_PROP_IDX_RSS_TYPES] =
2823                 BNXT_ULP_ACT_PROP_SZ_RSS_TYPES,
2824         [BNXT_ULP_ACT_PROP_IDX_RSS_LEVEL] =
2825                 BNXT_ULP_ACT_PROP_SZ_RSS_LEVEL,
2826         [BNXT_ULP_ACT_PROP_IDX_RSS_KEY_LEN] =
2827                 BNXT_ULP_ACT_PROP_SZ_RSS_KEY_LEN,
2828         [BNXT_ULP_ACT_PROP_IDX_RSS_KEY] =
2829                 BNXT_ULP_ACT_PROP_SZ_RSS_KEY,
2830         [BNXT_ULP_ACT_PROP_IDX_LAST] =
2831                 BNXT_ULP_ACT_PROP_SZ_LAST
2832 };
2833
2834 uint8_t ulp_glb_field_tbl[] = {
2835         [2048] = 0,
2836         [2049] = 1,
2837         [2050] = 2,
2838         [2052] = 3,
2839         [2054] = 4,
2840         [2088] = 5,
2841         [2090] = 6,
2842         [2092] = 7,
2843         [2094] = 8,
2844         [2096] = 9,
2845         [2098] = 10,
2846         [2100] = 11,
2847         [2102] = 12,
2848         [2176] = 0,
2849         [2177] = 1,
2850         [2178] = 2,
2851         [2180] = 3,
2852         [2182] = 4,
2853         [2196] = 5,
2854         [2198] = 6,
2855         [2200] = 7,
2856         [2202] = 8,
2857         [2204] = 9,
2858         [2206] = 10,
2859         [2208] = 11,
2860         [2210] = 12,
2861         [2212] = 13,
2862         [2214] = 14,
2863         [2304] = 0,
2864         [2305] = 1,
2865         [2306] = 2,
2866         [2308] = 3,
2867         [2310] = 4,
2868         [2344] = 8,
2869         [2346] = 9,
2870         [2348] = 10,
2871         [2350] = 11,
2872         [2352] = 12,
2873         [2354] = 13,
2874         [2356] = 14,
2875         [2358] = 15,
2876         [2386] = 5,
2877         [2390] = 6,
2878         [2394] = 7,
2879         [2432] = 0,
2880         [2433] = 1,
2881         [2434] = 2,
2882         [2436] = 3,
2883         [2438] = 4,
2884         [2452] = 8,
2885         [2454] = 9,
2886         [2456] = 10,
2887         [2458] = 11,
2888         [2460] = 12,
2889         [2462] = 13,
2890         [2464] = 14,
2891         [2466] = 15,
2892         [2468] = 16,
2893         [2470] = 17,
2894         [2514] = 5,
2895         [2518] = 6,
2896         [2522] = 7,
2897         [2560] = 0,
2898         [2561] = 1,
2899         [2562] = 2,
2900         [2564] = 3,
2901         [2566] = 4,
2902         [2600] = 5,
2903         [2602] = 6,
2904         [2604] = 7,
2905         [2606] = 8,
2906         [2608] = 9,
2907         [2610] = 10,
2908         [2612] = 11,
2909         [2614] = 12,
2910         [2616] = 13,
2911         [2618] = 14,
2912         [2620] = 15,
2913         [2622] = 16,
2914         [2624] = 17,
2915         [2626] = 18,
2916         [2628] = 19,
2917         [2630] = 20,
2918         [2632] = 21,
2919         [2688] = 0,
2920         [2689] = 1,
2921         [2690] = 2,
2922         [2692] = 3,
2923         [2694] = 4,
2924         [2708] = 5,
2925         [2710] = 6,
2926         [2712] = 7,
2927         [2714] = 8,
2928         [2716] = 9,
2929         [2718] = 10,
2930         [2720] = 11,
2931         [2722] = 12,
2932         [2724] = 13,
2933         [2726] = 14,
2934         [2744] = 15,
2935         [2746] = 16,
2936         [2748] = 17,
2937         [2750] = 18,
2938         [2752] = 19,
2939         [2754] = 20,
2940         [2756] = 21,
2941         [2758] = 22,
2942         [2760] = 23,
2943         [2816] = 0,
2944         [2817] = 1,
2945         [2818] = 2,
2946         [2820] = 3,
2947         [2822] = 4,
2948         [2856] = 5,
2949         [2858] = 6,
2950         [2860] = 7,
2951         [2862] = 8,
2952         [2864] = 9,
2953         [2866] = 10,
2954         [2868] = 11,
2955         [2870] = 12,
2956         [2890] = 13,
2957         [2892] = 14,
2958         [2894] = 15,
2959         [2896] = 16,
2960         [2944] = 0,
2961         [2945] = 1,
2962         [2946] = 2,
2963         [2948] = 3,
2964         [2950] = 4,
2965         [2964] = 5,
2966         [2966] = 6,
2967         [2968] = 7,
2968         [2970] = 8,
2969         [2972] = 9,
2970         [2974] = 10,
2971         [2976] = 11,
2972         [2978] = 12,
2973         [2980] = 13,
2974         [2982] = 14,
2975         [3018] = 15,
2976         [3020] = 16,
2977         [3022] = 17,
2978         [3024] = 18,
2979         [3072] = 0,
2980         [3073] = 1,
2981         [3074] = 2,
2982         [3076] = 3,
2983         [3078] = 4,
2984         [3112] = 8,
2985         [3114] = 9,
2986         [3116] = 10,
2987         [3118] = 11,
2988         [3120] = 12,
2989         [3122] = 13,
2990         [3124] = 14,
2991         [3126] = 15,
2992         [3128] = 16,
2993         [3130] = 17,
2994         [3132] = 18,
2995         [3134] = 19,
2996         [3136] = 20,
2997         [3138] = 21,
2998         [3140] = 22,
2999         [3142] = 23,
3000         [3144] = 24,
3001         [3154] = 5,
3002         [3158] = 6,
3003         [3162] = 7,
3004         [3200] = 0,
3005         [3201] = 1,
3006         [3202] = 2,
3007         [3204] = 3,
3008         [3206] = 4,
3009         [3220] = 8,
3010         [3222] = 9,
3011         [3224] = 10,
3012         [3226] = 11,
3013         [3228] = 12,
3014         [3230] = 13,
3015         [3232] = 14,
3016         [3234] = 15,
3017         [3236] = 16,
3018         [3238] = 17,
3019         [3256] = 18,
3020         [3258] = 19,
3021         [3260] = 20,
3022         [3262] = 21,
3023         [3264] = 22,
3024         [3266] = 23,
3025         [3268] = 24,
3026         [3270] = 25,
3027         [3272] = 26,
3028         [3282] = 5,
3029         [3286] = 6,
3030         [3290] = 7,
3031         [3328] = 0,
3032         [3329] = 1,
3033         [3330] = 2,
3034         [3332] = 3,
3035         [3334] = 4,
3036         [3368] = 8,
3037         [3370] = 9,
3038         [3372] = 10,
3039         [3374] = 11,
3040         [3376] = 12,
3041         [3378] = 13,
3042         [3380] = 14,
3043         [3382] = 15,
3044         [3402] = 16,
3045         [3404] = 17,
3046         [3406] = 18,
3047         [3408] = 19,
3048         [3410] = 5,
3049         [3414] = 6,
3050         [3418] = 7,
3051         [3456] = 0,
3052         [3457] = 1,
3053         [3458] = 2,
3054         [3460] = 3,
3055         [3462] = 4,
3056         [3476] = 8,
3057         [3478] = 9,
3058         [3480] = 10,
3059         [3482] = 11,
3060         [3484] = 12,
3061         [3486] = 13,
3062         [3488] = 14,
3063         [3490] = 15,
3064         [3492] = 16,
3065         [3494] = 17,
3066         [3530] = 18,
3067         [3532] = 19,
3068         [3534] = 20,
3069         [3536] = 21,
3070         [3538] = 5,
3071         [3542] = 6,
3072         [3546] = 7,
3073         [3584] = 0,
3074         [3585] = 1,
3075         [3586] = 2,
3076         [3588] = 3,
3077         [3590] = 4,
3078         [3604] = 5,
3079         [3606] = 6,
3080         [3608] = 7,
3081         [3610] = 8,
3082         [3612] = 9,
3083         [3614] = 10,
3084         [3616] = 11,
3085         [3618] = 12,
3086         [3620] = 13,
3087         [3622] = 14,
3088         [3658] = 15,
3089         [3660] = 16,
3090         [3662] = 17,
3091         [3664] = 18,
3092         [3678] = 19,
3093         [3679] = 20,
3094         [3680] = 21,
3095         [3681] = 22,
3096         [4096] = 0,
3097         [4097] = 1,
3098         [4098] = 2,
3099         [4100] = 3,
3100         [4102] = 4,
3101         [4136] = 5,
3102         [4138] = 6,
3103         [4140] = 7,
3104         [4142] = 8,
3105         [4144] = 9,
3106         [4146] = 10,
3107         [4148] = 11,
3108         [4150] = 12,
3109         [4224] = 0,
3110         [4225] = 1,
3111         [4226] = 2,
3112         [4228] = 3,
3113         [4230] = 4,
3114         [4244] = 5,
3115         [4246] = 6,
3116         [4248] = 7,
3117         [4250] = 8,
3118         [4252] = 9,
3119         [4254] = 10,
3120         [4256] = 11,
3121         [4258] = 12,
3122         [4260] = 13,
3123         [4262] = 14,
3124         [4352] = 0,
3125         [4353] = 1,
3126         [4354] = 2,
3127         [4356] = 3,
3128         [4358] = 4,
3129         [4392] = 8,
3130         [4394] = 9,
3131         [4396] = 10,
3132         [4398] = 11,
3133         [4400] = 12,
3134         [4402] = 13,
3135         [4404] = 14,
3136         [4406] = 15,
3137         [4434] = 5,
3138         [4438] = 6,
3139         [4442] = 7,
3140         [4480] = 0,
3141         [4481] = 1,
3142         [4482] = 2,
3143         [4484] = 3,
3144         [4486] = 4,
3145         [4500] = 8,
3146         [4502] = 9,
3147         [4504] = 10,
3148         [4506] = 11,
3149         [4508] = 12,
3150         [4510] = 13,
3151         [4512] = 14,
3152         [4514] = 15,
3153         [4516] = 16,
3154         [4518] = 17,
3155         [4562] = 5,
3156         [4566] = 6,
3157         [4570] = 7,
3158         [4608] = 0,
3159         [4609] = 1,
3160         [4610] = 2,
3161         [4612] = 3,
3162         [4614] = 4,
3163         [4648] = 5,
3164         [4650] = 6,
3165         [4652] = 7,
3166         [4654] = 8,
3167         [4656] = 9,
3168         [4658] = 10,
3169         [4660] = 11,
3170         [4662] = 12,
3171         [4664] = 13,
3172         [4666] = 14,
3173         [4668] = 15,
3174         [4670] = 16,
3175         [4672] = 17,
3176         [4674] = 18,
3177         [4676] = 19,
3178         [4678] = 20,
3179         [4680] = 21,
3180         [4736] = 0,
3181         [4737] = 1,
3182         [4738] = 2,
3183         [4740] = 3,
3184         [4742] = 4,
3185         [4756] = 5,
3186         [4758] = 6,
3187         [4760] = 7,
3188         [4762] = 8,
3189         [4764] = 9,
3190         [4766] = 10,
3191         [4768] = 11,
3192         [4770] = 12,
3193         [4772] = 13,
3194         [4774] = 14,
3195         [4792] = 15,
3196         [4794] = 16,
3197         [4796] = 17,
3198         [4798] = 18,
3199         [4800] = 19,
3200         [4802] = 20,
3201         [4804] = 21,
3202         [4806] = 22,
3203         [4808] = 23,
3204         [4864] = 0,
3205         [4865] = 1,
3206         [4866] = 2,
3207         [4868] = 3,
3208         [4870] = 4,
3209         [4904] = 5,
3210         [4906] = 6,
3211         [4908] = 7,
3212         [4910] = 8,
3213         [4912] = 9,
3214         [4914] = 10,
3215         [4916] = 11,
3216         [4918] = 12,
3217         [4938] = 13,
3218         [4940] = 14,
3219         [4942] = 15,
3220         [4944] = 16,
3221         [4992] = 0,
3222         [4993] = 1,
3223         [4994] = 2,
3224         [4996] = 3,
3225         [4998] = 4,
3226         [5012] = 5,
3227         [5014] = 6,
3228         [5016] = 7,
3229         [5018] = 8,
3230         [5020] = 9,
3231         [5022] = 10,
3232         [5024] = 11,
3233         [5026] = 12,
3234         [5028] = 13,
3235         [5030] = 14,
3236         [5066] = 15,
3237         [5068] = 16,
3238         [5070] = 17,
3239         [5072] = 18,
3240         [5120] = 0,
3241         [5121] = 1,
3242         [5122] = 2,
3243         [5124] = 3,
3244         [5126] = 4,
3245         [5160] = 8,
3246         [5162] = 9,
3247         [5164] = 10,
3248         [5166] = 11,
3249         [5168] = 12,
3250         [5170] = 13,
3251         [5172] = 14,
3252         [5174] = 15,
3253         [5176] = 16,
3254         [5178] = 17,
3255         [5180] = 18,
3256         [5182] = 19,
3257         [5184] = 20,
3258         [5186] = 21,
3259         [5188] = 22,
3260         [5190] = 23,
3261         [5192] = 24,
3262         [5202] = 5,
3263         [5206] = 6,
3264         [5210] = 7,
3265         [5248] = 0,
3266         [5249] = 1,
3267         [5250] = 2,
3268         [5252] = 3,
3269         [5254] = 4,
3270         [5268] = 8,
3271         [5270] = 9,
3272         [5272] = 10,
3273         [5274] = 11,
3274         [5276] = 12,
3275         [5278] = 13,
3276         [5280] = 14,
3277         [5282] = 15,
3278         [5284] = 16,
3279         [5286] = 17,
3280         [5304] = 18,
3281         [5306] = 19,
3282         [5308] = 20,
3283         [5310] = 21,
3284         [5312] = 22,
3285         [5314] = 23,
3286         [5316] = 24,
3287         [5318] = 25,
3288         [5320] = 26,
3289         [5330] = 5,
3290         [5334] = 6,
3291         [5338] = 7,
3292         [5376] = 0,
3293         [5377] = 1,
3294         [5378] = 2,
3295         [5380] = 3,
3296         [5382] = 4,
3297         [5416] = 8,
3298         [5418] = 9,
3299         [5420] = 10,
3300         [5422] = 11,
3301         [5424] = 12,
3302         [5426] = 13,
3303         [5428] = 14,
3304         [5430] = 15,
3305         [5450] = 16,
3306         [5452] = 17,
3307         [5454] = 18,
3308         [5456] = 19,
3309         [5458] = 5,
3310         [5462] = 6,
3311         [5466] = 7,
3312         [5504] = 0,
3313         [5505] = 1,
3314         [5506] = 2,
3315         [5508] = 3,
3316         [5510] = 4,
3317         [5524] = 8,
3318         [5526] = 9,
3319         [5528] = 10,
3320         [5530] = 11,
3321         [5532] = 12,
3322         [5534] = 13,
3323         [5536] = 14,
3324         [5538] = 15,
3325         [5540] = 16,
3326         [5542] = 17,
3327         [5578] = 18,
3328         [5580] = 19,
3329         [5582] = 20,
3330         [5584] = 21,
3331         [5586] = 5,
3332         [5590] = 6,
3333         [5594] = 7
3334 };
3335