3d1e95d18cdc73eaba57fe9bb71f44e208e92564
[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 Jul  8 08:44:00 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         [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_TUNNEL_CACHE << 1 |
116                 BNXT_ULP_DIRECTION_INGRESS] = {
117         .name                    = "INGRESS GENERIC_TABLE_TUNNEL_CACHE",
118         .result_num_entries      = 256,
119         .result_num_bytes        = 7,
120         .key_num_bytes           = 2,
121         .num_buckets             = 8,
122         .hash_tbl_entries        = 1024,
123         .result_byte_order       = BNXT_ULP_BYTE_ORDER_LE
124         },
125         [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_TUNNEL_CACHE << 1 |
126                 BNXT_ULP_DIRECTION_EGRESS] = {
127         .name                    = "EGRESS GENERIC_TABLE_TUNNEL_CACHE",
128         .result_num_entries      = 256,
129         .result_num_bytes        = 7,
130         .key_num_bytes           = 2,
131         .num_buckets             = 8,
132         .hash_tbl_entries        = 1024,
133         .result_byte_order       = BNXT_ULP_BYTE_ORDER_LE
134         }
135 };
136
137 /* device tables */
138 const struct bnxt_ulp_template_device_tbls ulp_template_wh_plus_tbls[] = {
139         [BNXT_ULP_TEMPLATE_TYPE_CLASS] = {
140         .tmpl_list               = ulp_wh_plus_class_tmpl_list,
141         .tmpl_list_size          = ULP_WH_PLUS_CLASS_TMPL_LIST_SIZE,
142         .tbl_list                = ulp_wh_plus_class_tbl_list,
143         .tbl_list_size           = ULP_WH_PLUS_CLASS_TBL_LIST_SIZE,
144         .key_info_list           = ulp_wh_plus_class_key_info_list,
145         .key_info_list_size      = ULP_WH_PLUS_CLASS_KEY_INFO_LIST_SIZE,
146         .ident_list              = ulp_wh_plus_class_ident_list,
147         .ident_list_size         = ULP_WH_PLUS_CLASS_IDENT_LIST_SIZE,
148         .cond_list               = ulp_wh_plus_class_cond_list,
149         .cond_list_size          = ULP_WH_PLUS_CLASS_COND_LIST_SIZE,
150         .result_field_list       = ulp_wh_plus_class_result_field_list,
151         .result_field_list_size  = ULP_WH_PLUS_CLASS_RESULT_FIELD_LIST_SIZE
152         },
153         [BNXT_ULP_TEMPLATE_TYPE_ACTION] = {
154         .tmpl_list               = ulp_wh_plus_act_tmpl_list,
155         .tmpl_list_size          = ULP_WH_PLUS_ACT_TMPL_LIST_SIZE,
156         .tbl_list                = ulp_wh_plus_act_tbl_list,
157         .tbl_list_size           = ULP_WH_PLUS_ACT_TBL_LIST_SIZE,
158         .key_info_list           = ulp_wh_plus_act_key_info_list,
159         .key_info_list_size      = ULP_WH_PLUS_ACT_KEY_INFO_LIST_SIZE,
160         .ident_list              = ulp_wh_plus_act_ident_list,
161         .ident_list_size         = ULP_WH_PLUS_ACT_IDENT_LIST_SIZE,
162         .cond_list               = ulp_wh_plus_act_cond_list,
163         .cond_list_size          = ULP_WH_PLUS_ACT_COND_LIST_SIZE,
164         .result_field_list       = ulp_wh_plus_act_result_field_list,
165         .result_field_list_size  = ULP_WH_PLUS_ACT_RESULT_FIELD_LIST_SIZE
166         }
167 };
168
169 /* device tables */
170 const struct bnxt_ulp_template_device_tbls ulp_template_thor_tbls[] = {
171         [BNXT_ULP_TEMPLATE_TYPE_CLASS] = {
172         .tmpl_list               = ulp_thor_class_tmpl_list,
173         .tmpl_list_size          = ULP_THOR_CLASS_TMPL_LIST_SIZE,
174         .tbl_list                = ulp_thor_class_tbl_list,
175         .tbl_list_size           = ULP_THOR_CLASS_TBL_LIST_SIZE,
176         .key_info_list           = ulp_thor_class_key_info_list,
177         .key_info_list_size      = ULP_THOR_CLASS_KEY_INFO_LIST_SIZE,
178         .ident_list              = ulp_thor_class_ident_list,
179         .ident_list_size         = ULP_THOR_CLASS_IDENT_LIST_SIZE,
180         .cond_list               = ulp_thor_class_cond_list,
181         .cond_list_size          = ULP_THOR_CLASS_COND_LIST_SIZE,
182         .result_field_list       = ulp_thor_class_result_field_list,
183         .result_field_list_size  = ULP_THOR_CLASS_RESULT_FIELD_LIST_SIZE
184         },
185         [BNXT_ULP_TEMPLATE_TYPE_ACTION] = {
186         .tmpl_list               = ulp_thor_act_tmpl_list,
187         .tmpl_list_size          = ULP_THOR_ACT_TMPL_LIST_SIZE,
188         .tbl_list                = ulp_thor_act_tbl_list,
189         .tbl_list_size           = ULP_THOR_ACT_TBL_LIST_SIZE,
190         .key_info_list           = ulp_thor_act_key_info_list,
191         .key_info_list_size      = ULP_THOR_ACT_KEY_INFO_LIST_SIZE,
192         .ident_list              = ulp_thor_act_ident_list,
193         .ident_list_size         = ULP_THOR_ACT_IDENT_LIST_SIZE,
194         .cond_list               = ulp_thor_act_cond_list,
195         .cond_list_size          = ULP_THOR_ACT_COND_LIST_SIZE,
196         .result_field_list       = ulp_thor_act_result_field_list,
197         .result_field_list_size  = ULP_THOR_ACT_RESULT_FIELD_LIST_SIZE
198         }
199 };
200
201 /* List of device specific parameters */
202 struct bnxt_ulp_device_params ulp_device_params[BNXT_ULP_DEVICE_ID_LAST] = {
203         [BNXT_ULP_DEVICE_ID_WH_PLUS] = {
204         .description             = "Whitney_Plus",
205         .key_byte_order          = BNXT_ULP_BYTE_ORDER_LE,
206         .result_byte_order       = BNXT_ULP_BYTE_ORDER_LE,
207         .encap_byte_order        = BNXT_ULP_BYTE_ORDER_BE,
208         .wc_key_byte_order       = BNXT_ULP_BYTE_ORDER_BE,
209         .em_byte_order           = BNXT_ULP_BYTE_ORDER_LE,
210         .encap_byte_swap         = 1,
211         .int_flow_db_num_entries = 16384,
212         .ext_flow_db_num_entries = 32768,
213         .mark_db_lfid_entries    = 65536,
214         .mark_db_gfid_entries    = 65536,
215         .flow_count_db_entries   = 16384,
216         .fdb_parent_flow_entries = 2,
217         .num_resources_per_flow  = 8,
218         .num_phy_ports           = 2,
219         .ext_cntr_table_type     = 0,
220         .byte_count_mask         = 0x0000000fffffffff,
221         .packet_count_mask       = 0xfffffff000000000,
222         .byte_count_shift        = 0,
223         .packet_count_shift      = 36,
224         .dynamic_pad_en          = 0,
225         .dev_tbls                = ulp_template_wh_plus_tbls
226         },
227         [BNXT_ULP_DEVICE_ID_THOR] = {
228         .description             = "Thor",
229         .key_byte_order          = BNXT_ULP_BYTE_ORDER_LE,
230         .result_byte_order       = BNXT_ULP_BYTE_ORDER_LE,
231         .encap_byte_order        = BNXT_ULP_BYTE_ORDER_BE,
232         .wc_key_byte_order       = BNXT_ULP_BYTE_ORDER_BE,
233         .em_byte_order           = BNXT_ULP_BYTE_ORDER_BE,
234         .encap_byte_swap         = 1,
235         .int_flow_db_num_entries = 16384,
236         .ext_flow_db_num_entries = 32768,
237         .mark_db_lfid_entries    = 65536,
238         .mark_db_gfid_entries    = 65536,
239         .flow_count_db_entries   = 16384,
240         .fdb_parent_flow_entries = 2,
241         .num_resources_per_flow  = 8,
242         .num_phy_ports           = 2,
243         .ext_cntr_table_type     = 0,
244         .byte_count_mask         = 0x00000007ffffffff,
245         .packet_count_mask       = 0xfffffff800000000,
246         .byte_count_shift        = 0,
247         .packet_count_shift      = 35,
248         .dynamic_pad_en          = 1,
249         .em_blk_size_bits        = 100,
250         .em_blk_align_bits       = 128,
251         .em_key_align_bytes      = 80,
252         .wc_slice_width          = 160,
253         .wc_max_slices           = 4,
254         .wc_mode_list            = {0x0000000c, 0x0000000e, 0x0000000f, 0x0000000f},
255         .wc_mod_list_max_size    = 4,
256         .wc_ctl_size_bits        = 32,
257         .dev_tbls                = ulp_template_thor_tbls
258         }
259 };
260
261 /* Provides act_bitmask */
262 struct bnxt_ulp_shared_act_info ulp_shared_act_info[] = {
263         [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR << 1 |
264                 BNXT_ULP_DIRECTION_INGRESS] = {
265         .act_bitmask             = BNXT_ULP_ACT_BIT_SHARED_SAMPLE
266         },
267         [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR << 1 |
268                 BNXT_ULP_DIRECTION_EGRESS] = {
269         .act_bitmask             = BNXT_ULP_ACT_BIT_SHARED_SAMPLE
270         }
271 };
272
273 /* List of device specific parameters */
274 struct bnxt_ulp_app_capabilities_info ulp_app_cap_info_list[] = {
275         {
276         .app_id                  = 0,
277         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
278         .flags                   = 0
279         },
280         {
281         .app_id                  = 0,
282         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
283         .flags                   = 0
284         },
285         {
286         .app_id                  = 1,
287         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
288         .flags                   = BNXT_ULP_APP_CAP_SHARED_EN |
289                                    BNXT_ULP_APP_CAP_HOT_UPGRADE_EN |
290                                    BNXT_ULP_APP_CAP_UNICAST_ONLY
291         },
292         {
293         .app_id                  = 1,
294         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
295         .flags                   = BNXT_ULP_APP_CAP_SHARED_EN |
296                                    BNXT_ULP_APP_CAP_HOT_UPGRADE_EN |
297                                    BNXT_ULP_APP_CAP_UNICAST_ONLY
298         },
299         {
300         .app_id                  = 2,
301         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
302         .flags                   = BNXT_ULP_APP_CAP_SHARED_EN |
303                                    BNXT_ULP_APP_CAP_UNICAST_ONLY
304         },
305         {
306         .app_id                  = 2,
307         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
308         .flags                   = BNXT_ULP_APP_CAP_SHARED_EN |
309                                    BNXT_ULP_APP_CAP_UNICAST_ONLY
310         }
311 };
312
313 /* List of unnamed app tf resources required to be reserved per app/device */
314 struct bnxt_ulp_resource_resv_info ulp_app_resource_resv_list[] = {
315         {
316         .app_id                  = 1,
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                  = 1,
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                  = 1,
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                  = 1,
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         .app_id                  = 2,
349         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
350         .direction               = TF_DIR_RX,
351         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
352         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
353         .count                   = 2
354         },
355         {
356         .app_id                  = 2,
357         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
358         .direction               = TF_DIR_RX,
359         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
360         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
361         .count                   = 128
362         },
363         {
364         .app_id                  = 2,
365         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
366         .direction               = TF_DIR_RX,
367         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
368         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
369         .count                   = 2
370         },
371         {
372         .app_id                  = 2,
373         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
374         .direction               = TF_DIR_RX,
375         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
376         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
377         .count                   = 1024
378         }
379 };
380
381 /* List of global app tf resources required to be reserved per app/device */
382 struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = {
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_PROF_FUNC,
388         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0,
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_PROF_FUNC,
396         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_1,
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_PROF_FUNC,
404         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_2,
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_L2_CTXT_HIGH,
412         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0,
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_L2_CTXT_HIGH,
420         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1,
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_IDENTIFIER,
427         .resource_type           = TF_IDENT_TYPE_EM_PROF,
428         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_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_IDENTIFIER,
435         .resource_type           = TF_IDENT_TYPE_WC_PROF,
436         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
437         .direction               = TF_DIR_RX
438         },
439         {
440         .app_id                  = 1,
441         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
442         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
443         .resource_type           = TF_IDENT_TYPE_WC_PROF,
444         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1,
445         .direction               = TF_DIR_RX
446         },
447         {
448         .app_id                  = 1,
449         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
450         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
451         .resource_type           = TF_IDENT_TYPE_WC_PROF,
452         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_2,
453         .direction               = TF_DIR_RX
454         },
455         {
456         .app_id                  = 1,
457         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
458         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
459         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
460         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_0,
461         .direction               = TF_DIR_RX
462         },
463         {
464         .app_id                  = 1,
465         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
466         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
467         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
468         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_1,
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_PROF_FUNC,
476         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0,
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_PROF_FUNC,
484         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_1,
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_PROF_FUNC,
492         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_2,
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_L2_CTXT_HIGH,
500         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0,
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_L2_CTXT_HIGH,
508         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1,
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_IDENTIFIER,
515         .resource_type           = TF_IDENT_TYPE_EM_PROF,
516         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_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_IDENTIFIER,
523         .resource_type           = TF_IDENT_TYPE_WC_PROF,
524         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_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_IDENTIFIER,
531         .resource_type           = TF_IDENT_TYPE_WC_PROF,
532         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_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_IDENTIFIER,
539         .resource_type           = TF_IDENT_TYPE_WC_PROF,
540         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_2,
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_EM_FKB,
548         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_KEY_ID_0,
549         .direction               = TF_DIR_RX
550         },
551         {
552         .app_id                  = 1,
553         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
554         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
555         .resource_type           = TF_TBL_TYPE_WC_FKB,
556         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
557         .direction               = TF_DIR_RX
558         },
559         {
560         .app_id                  = 1,
561         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
562         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
563         .resource_type           = TF_TBL_TYPE_WC_FKB,
564         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_1,
565         .direction               = TF_DIR_RX
566         },
567         {
568         .app_id                  = 1,
569         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
570         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
571         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
572         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_0,
573         .direction               = TF_DIR_RX
574         },
575         {
576         .app_id                  = 1,
577         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
578         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
579         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
580         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_1,
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_PROF_FUNC,
588         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0,
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_PROF_FUNC,
596         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_1,
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_PROF_FUNC,
604         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_2,
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_L2_CTXT_HIGH,
612         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0,
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_L2_CTXT_HIGH,
620         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1,
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_IDENTIFIER,
627         .resource_type           = TF_IDENT_TYPE_EM_PROF,
628         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_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_IDENTIFIER,
635         .resource_type           = TF_IDENT_TYPE_WC_PROF,
636         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
637         .direction               = TF_DIR_RX
638         },
639         {
640         .app_id                  = 2,
641         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
642         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
643         .resource_type           = TF_IDENT_TYPE_WC_PROF,
644         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1,
645         .direction               = TF_DIR_RX
646         },
647         {
648         .app_id                  = 2,
649         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
650         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
651         .resource_type           = TF_IDENT_TYPE_WC_PROF,
652         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_2,
653         .direction               = TF_DIR_RX
654         },
655         {
656         .app_id                  = 2,
657         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
658         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
659         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
660         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_0,
661         .direction               = TF_DIR_RX
662         },
663         {
664         .app_id                  = 2,
665         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
666         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
667         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
668         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_1,
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_PROF_FUNC,
676         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0,
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_PROF_FUNC,
684         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_1,
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_PROF_FUNC,
692         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_2,
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_L2_CTXT_HIGH,
700         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0,
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_L2_CTXT_HIGH,
708         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1,
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_IDENTIFIER,
715         .resource_type           = TF_IDENT_TYPE_EM_PROF,
716         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_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_IDENTIFIER,
723         .resource_type           = TF_IDENT_TYPE_WC_PROF,
724         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_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_IDENTIFIER,
731         .resource_type           = TF_IDENT_TYPE_WC_PROF,
732         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_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_IDENTIFIER,
739         .resource_type           = TF_IDENT_TYPE_WC_PROF,
740         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_2,
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_EM_FKB,
748         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_KEY_ID_0,
749         .direction               = TF_DIR_RX
750         },
751         {
752         .app_id                  = 2,
753         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
754         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
755         .resource_type           = TF_TBL_TYPE_WC_FKB,
756         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
757         .direction               = TF_DIR_RX
758         },
759         {
760         .app_id                  = 2,
761         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
762         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
763         .resource_type           = TF_TBL_TYPE_WC_FKB,
764         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_1,
765         .direction               = TF_DIR_RX
766         },
767         {
768         .app_id                  = 2,
769         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
770         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
771         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
772         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_0,
773         .direction               = TF_DIR_RX
774         },
775         {
776         .app_id                  = 2,
777         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
778         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
779         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
780         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_1,
781         .direction               = TF_DIR_RX
782         }
783 };
784
785 /* List of global tf resources required to be reserved per app/device */
786 struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
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_GLB_PROF_FUNC_ID,
793         .direction               = TF_DIR_RX
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_GLB_PROF_FUNC_ID,
801         .direction               = TF_DIR_TX
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_FULL_ACT_RECORD,
808         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
809         .direction               = TF_DIR_TX
810         },
811         {
812         .app_id                  = 0,
813         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
814         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
815         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
816         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
817         .direction               = TF_DIR_RX
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_PROF_FUNC,
824         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
825         .direction               = TF_DIR_TX
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_PROF_FUNC,
832         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID,
833         .direction               = TF_DIR_RX
834         },
835         {
836         .app_id                  = 0,
837         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
838         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
839         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
840         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
841         .direction               = TF_DIR_RX
842         },
843         {
844         .app_id                  = 0,
845         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
846         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
847         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
848         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
849         .direction               = TF_DIR_TX
850         },
851         {
852         .app_id                  = 0,
853         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
854         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
855         .resource_type           = TF_IDENT_TYPE_EM_PROF,
856         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_EM_PROFILE_ID_0,
857         .direction               = TF_DIR_RX
858         },
859         {
860         .app_id                  = 0,
861         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
862         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
863         .resource_type           = TF_IDENT_TYPE_WC_PROF,
864         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_0,
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_GLB_PROF_FUNC_ID,
873         .direction               = TF_DIR_RX
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_GLB_PROF_FUNC_ID,
881         .direction               = TF_DIR_TX
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_FULL_ACT_RECORD,
888         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
889         .direction               = TF_DIR_TX
890         },
891         {
892         .app_id                  = 0,
893         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
894         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
895         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
896         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
897         .direction               = TF_DIR_RX
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_PROF_FUNC,
904         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
905         .direction               = TF_DIR_TX
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_PROF_FUNC,
912         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID,
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_IDENTIFIER,
919         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
920         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GRE_PROF_FUNC_ID,
921         .direction               = TF_DIR_RX
922         },
923         {
924         .app_id                  = 0,
925         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
926         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
927         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
928         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
929         .direction               = TF_DIR_RX
930         },
931         {
932         .app_id                  = 0,
933         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
934         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
935         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
936         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
937         .direction               = TF_DIR_TX
938         },
939         {
940         .app_id                  = 0,
941         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
942         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
943         .resource_type           = TF_IDENT_TYPE_EM_PROF,
944         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_EM_PROFILE_ID_0,
945         .direction               = TF_DIR_RX
946         },
947         {
948         .app_id                  = 0,
949         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
950         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
951         .resource_type           = TF_IDENT_TYPE_WC_PROF,
952         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_0,
953         .direction               = TF_DIR_RX
954         },
955         {
956         .app_id                  = 0,
957         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
958         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
959         .resource_type           = TF_IDENT_TYPE_WC_PROF,
960         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_1,
961         .direction               = TF_DIR_RX
962         },
963         {
964         .app_id                  = 0,
965         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
966         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
967         .resource_type           = TF_IDENT_TYPE_WC_PROF,
968         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_2,
969         .direction               = TF_DIR_RX
970         },
971         {
972         .app_id                  = 0,
973         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
974         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
975         .resource_type           = TF_IDENT_TYPE_WC_PROF,
976         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_3,
977         .direction               = TF_DIR_RX
978         },
979         {
980         .app_id                  = 0,
981         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
982         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
983         .resource_type           = TF_IDENT_TYPE_WC_PROF,
984         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_4,
985         .direction               = TF_DIR_RX
986         },
987         {
988         .app_id                  = 0,
989         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
990         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
991         .resource_type           = TF_IDENT_TYPE_WC_PROF,
992         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_5,
993         .direction               = TF_DIR_RX
994         },
995         {
996         .app_id                  = 0,
997         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
998         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
999         .resource_type           = TF_TBL_TYPE_WC_FKB,
1000         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_0,
1001         .direction               = TF_DIR_RX
1002         },
1003         {
1004         .app_id                  = 0,
1005         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1006         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1007         .resource_type           = TF_TBL_TYPE_WC_FKB,
1008         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_1,
1009         .direction               = TF_DIR_RX
1010         },
1011         {
1012         .app_id                  = 0,
1013         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1014         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1015         .resource_type           = TF_TBL_TYPE_WC_FKB,
1016         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_2,
1017         .direction               = TF_DIR_RX
1018         },
1019         {
1020         .app_id                  = 0,
1021         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1022         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1023         .resource_type           = TF_TBL_TYPE_WC_FKB,
1024         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_3,
1025         .direction               = TF_DIR_RX
1026         },
1027         {
1028         .app_id                  = 0,
1029         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1030         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1031         .resource_type           = TF_TBL_TYPE_WC_FKB,
1032         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_4,
1033         .direction               = TF_DIR_RX
1034         },
1035         {
1036         .app_id                  = 0,
1037         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1038         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1039         .resource_type           = TF_TBL_TYPE_WC_FKB,
1040         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_0,
1041         .direction               = TF_DIR_TX
1042         },
1043         {
1044         .app_id                  = 0,
1045         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1046         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1047         .resource_type           = TF_TBL_TYPE_WC_FKB,
1048         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_1,
1049         .direction               = TF_DIR_TX
1050         },
1051         {
1052         .app_id                  = 0,
1053         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1054         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1055         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1056         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_0,
1057         .direction               = TF_DIR_TX
1058         },
1059         {
1060         .app_id                  = 0,
1061         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1062         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1063         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1064         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_1,
1065         .direction               = TF_DIR_TX
1066         },
1067         {
1068         .app_id                  = 0,
1069         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1070         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1071         .resource_type           = TF_TBL_TYPE_WC_FKB,
1072         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_1,
1073         .direction               = TF_DIR_TX
1074         },
1075         {
1076         .app_id                  = 0,
1077         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1078         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1079         .resource_type           = TF_TBL_TYPE_METADATA,
1080         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_PROF_0,
1081         .direction               = TF_DIR_TX
1082         },
1083         {
1084         .app_id                  = 0,
1085         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1086         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1087         .resource_type           = TF_IDENT_TYPE_EM_PROF,
1088         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_PROF_ID_0,
1089         .direction               = TF_DIR_RX
1090         },
1091         {
1092         .app_id                  = 0,
1093         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1094         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1095         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1096         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_VFR_PROF_FUNC_0,
1097         .direction               = TF_DIR_RX
1098         },
1099         {
1100         .app_id                  = 0,
1101         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1102         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1103         .resource_type           = TF_TBL_TYPE_EM_FKB,
1104         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_KEY_ID_0,
1105         .direction               = TF_DIR_RX
1106         },
1107         {
1108         .app_id                  = 1,
1109         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1110         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1111         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1112         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
1113         .direction               = TF_DIR_RX
1114         },
1115         {
1116         .app_id                  = 1,
1117         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1118         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1119         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1120         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
1121         .direction               = TF_DIR_TX
1122         },
1123         {
1124         .app_id                  = 1,
1125         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1126         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1127         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
1128         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
1129         .direction               = TF_DIR_TX
1130         },
1131         {
1132         .app_id                  = 1,
1133         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1134         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1135         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1136         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
1137         .direction               = TF_DIR_RX
1138         },
1139         {
1140         .app_id                  = 1,
1141         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1142         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1143         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1144         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
1145         .direction               = TF_DIR_TX
1146         },
1147         {
1148         .app_id                  = 1,
1149         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1150         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1151         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1152         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID,
1153         .direction               = TF_DIR_RX
1154         },
1155         {
1156         .app_id                  = 1,
1157         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1158         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1159         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
1160         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
1161         .direction               = TF_DIR_RX
1162         },
1163         {
1164         .app_id                  = 1,
1165         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1166         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1167         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
1168         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
1169         .direction               = TF_DIR_TX
1170         },
1171         {
1172         .app_id                  = 1,
1173         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1174         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1175         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1176         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
1177         .direction               = TF_DIR_RX
1178         },
1179         {
1180         .app_id                  = 1,
1181         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1182         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1183         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1184         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
1185         .direction               = TF_DIR_TX
1186         },
1187         {
1188         .app_id                  = 1,
1189         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1190         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1191         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
1192         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
1193         .direction               = TF_DIR_TX
1194         },
1195         {
1196         .app_id                  = 2,
1197         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1198         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1199         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1200         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
1201         .direction               = TF_DIR_RX
1202         },
1203         {
1204         .app_id                  = 2,
1205         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1206         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1207         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1208         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
1209         .direction               = TF_DIR_TX
1210         },
1211         {
1212         .app_id                  = 2,
1213         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1214         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1215         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
1216         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
1217         .direction               = TF_DIR_TX
1218         },
1219         {
1220         .app_id                  = 2,
1221         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1222         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1223         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1224         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
1225         .direction               = TF_DIR_RX
1226         },
1227         {
1228         .app_id                  = 2,
1229         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1230         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1231         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1232         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
1233         .direction               = TF_DIR_TX
1234         },
1235         {
1236         .app_id                  = 2,
1237         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1238         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1239         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1240         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID,
1241         .direction               = TF_DIR_RX
1242         },
1243         {
1244         .app_id                  = 2,
1245         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1246         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1247         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
1248         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
1249         .direction               = TF_DIR_RX
1250         },
1251         {
1252         .app_id                  = 2,
1253         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1254         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1255         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
1256         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
1257         .direction               = TF_DIR_TX
1258         },
1259         {
1260         .app_id                  = 2,
1261         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1262         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1263         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1264         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
1265         .direction               = TF_DIR_RX
1266         },
1267         {
1268         .app_id                  = 2,
1269         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1270         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1271         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1272         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
1273         .direction               = TF_DIR_TX
1274         },
1275         {
1276         .app_id                  = 2,
1277         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1278         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1279         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
1280         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
1281         .direction               = TF_DIR_TX
1282         }
1283 };
1284
1285 /* List of tf resources required to be reserved per app/device */
1286 struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
1287         {
1288         .app_id                  = 0,
1289         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1290         .direction               = TF_DIR_RX,
1291         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1292         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
1293         .count                   = 422
1294         },
1295         {
1296         .app_id                  = 0,
1297         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1298         .direction               = TF_DIR_RX,
1299         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1300         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
1301         .count                   = 6
1302         },
1303         {
1304         .app_id                  = 0,
1305         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1306         .direction               = TF_DIR_RX,
1307         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1308         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1309         .count                   = 191
1310         },
1311         {
1312         .app_id                  = 0,
1313         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1314         .direction               = TF_DIR_RX,
1315         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1316         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1317         .count                   = 63
1318         },
1319         {
1320         .app_id                  = 0,
1321         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1322         .direction               = TF_DIR_RX,
1323         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1324         .resource_type           = TF_IDENT_TYPE_EM_PROF,
1325         .count                   = 192
1326         },
1327         {
1328         .app_id                  = 0,
1329         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1330         .direction               = TF_DIR_RX,
1331         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1332         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
1333         .count                   = 8192
1334         },
1335         {
1336         .app_id                  = 0,
1337         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1338         .direction               = TF_DIR_RX,
1339         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1340         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
1341         .count                   = 6912
1342         },
1343         {
1344         .app_id                  = 0,
1345         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1346         .direction               = TF_DIR_RX,
1347         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1348         .resource_type           = TF_TBL_TYPE_ACT_MODIFY_IPV4,
1349         .count                   = 1023
1350         },
1351         {
1352         .app_id                  = 0,
1353         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1354         .direction               = TF_DIR_RX,
1355         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1356         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_8B,
1357         .count                   = 511
1358         },
1359         {
1360         .app_id                  = 0,
1361         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1362         .direction               = TF_DIR_RX,
1363         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1364         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
1365         .count                   = 15
1366         },
1367         {
1368         .app_id                  = 0,
1369         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1370         .direction               = TF_DIR_RX,
1371         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1372         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC,
1373         .count                   = 255
1374         },
1375         {
1376         .app_id                  = 0,
1377         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1378         .direction               = TF_DIR_RX,
1379         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1380         .resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
1381         .count                   = 1
1382         },
1383         {
1384         .app_id                  = 0,
1385         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1386         .direction               = TF_DIR_RX,
1387         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1388         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1389         .count                   = 422
1390         },
1391         {
1392         .app_id                  = 0,
1393         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1394         .direction               = TF_DIR_RX,
1395         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1396         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1397         .count                   = 6
1398         },
1399         {
1400         .app_id                  = 0,
1401         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1402         .direction               = TF_DIR_RX,
1403         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1404         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
1405         .count                   = 960
1406         },
1407         {
1408         .app_id                  = 0,
1409         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1410         .direction               = TF_DIR_RX,
1411         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1412         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
1413         .count                   = 88
1414         },
1415         {
1416         .app_id                  = 0,
1417         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1418         .direction               = TF_DIR_RX,
1419         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1420         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
1421         .count                   = 13168
1422         },
1423         {
1424         .app_id                  = 0,
1425         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1426         .direction               = TF_DIR_RX,
1427         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1428         .resource_type           = TF_EM_TBL_TYPE_TBL_SCOPE,
1429         .count                   = 1
1430         },
1431         {
1432         .app_id                  = 0,
1433         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1434         .direction               = TF_DIR_TX,
1435         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1436         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
1437         .count                   = 292
1438         },
1439         {
1440         .app_id                  = 0,
1441         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1442         .direction               = TF_DIR_TX,
1443         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1444         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
1445         .count                   = 148
1446         },
1447         {
1448         .app_id                  = 0,
1449         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1450         .direction               = TF_DIR_TX,
1451         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1452         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1453         .count                   = 191
1454         },
1455         {
1456         .app_id                  = 0,
1457         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1458         .direction               = TF_DIR_TX,
1459         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1460         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1461         .count                   = 63
1462         },
1463         {
1464         .app_id                  = 0,
1465         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1466         .direction               = TF_DIR_TX,
1467         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1468         .resource_type           = TF_IDENT_TYPE_EM_PROF,
1469         .count                   = 192
1470         },
1471         {
1472         .app_id                  = 0,
1473         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1474         .direction               = TF_DIR_TX,
1475         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1476         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
1477         .count                   = 8192
1478         },
1479         {
1480         .app_id                  = 0,
1481         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1482         .direction               = TF_DIR_TX,
1483         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1484         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
1485         .count                   = 6912
1486         },
1487         {
1488         .app_id                  = 0,
1489         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1490         .direction               = TF_DIR_TX,
1491         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1492         .resource_type           = TF_TBL_TYPE_ACT_MODIFY_IPV4,
1493         .count                   = 1023
1494         },
1495         {
1496         .app_id                  = 0,
1497         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1498         .direction               = TF_DIR_TX,
1499         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1500         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
1501         .count                   = 511
1502         },
1503         {
1504         .app_id                  = 0,
1505         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1506         .direction               = TF_DIR_TX,
1507         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1508         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
1509         .count                   = 223
1510         },
1511         {
1512         .app_id                  = 0,
1513         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1514         .direction               = TF_DIR_TX,
1515         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1516         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_8B,
1517         .count                   = 255
1518         },
1519         {
1520         .app_id                  = 0,
1521         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1522         .direction               = TF_DIR_TX,
1523         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1524         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1525         .count                   = 488
1526         },
1527         {
1528         .app_id                  = 0,
1529         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1530         .direction               = TF_DIR_TX,
1531         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1532         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV6,
1533         .count                   = 511
1534         },
1535         {
1536         .app_id                  = 0,
1537         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1538         .direction               = TF_DIR_TX,
1539         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1540         .resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
1541         .count                   = 1
1542         },
1543         {
1544         .app_id                  = 0,
1545         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1546         .direction               = TF_DIR_TX,
1547         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1548         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1549         .count                   = 292
1550         },
1551         {
1552         .app_id                  = 0,
1553         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1554         .direction               = TF_DIR_TX,
1555         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1556         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1557         .count                   = 144
1558         },
1559         {
1560         .app_id                  = 0,
1561         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1562         .direction               = TF_DIR_TX,
1563         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1564         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
1565         .count                   = 960
1566         },
1567         {
1568         .app_id                  = 0,
1569         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1570         .direction               = TF_DIR_TX,
1571         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1572         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
1573         .count                   = 928
1574         },
1575         {
1576         .app_id                  = 0,
1577         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1578         .direction               = TF_DIR_TX,
1579         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1580         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
1581         .count                   = 15232
1582         },
1583         {
1584         .app_id                  = 0,
1585         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1586         .direction               = TF_DIR_TX,
1587         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1588         .resource_type           = TF_EM_TBL_TYPE_TBL_SCOPE,
1589         .count                   = 1
1590         },
1591         {
1592         .app_id                  = 0,
1593         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1594         .direction               = TF_DIR_RX,
1595         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1596         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
1597         .count                   = 422
1598         },
1599         {
1600         .app_id                  = 0,
1601         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1602         .direction               = TF_DIR_RX,
1603         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1604         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
1605         .count                   = 6
1606         },
1607         {
1608         .app_id                  = 0,
1609         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1610         .direction               = TF_DIR_RX,
1611         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1612         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1613         .count                   = 32
1614         },
1615         {
1616         .app_id                  = 0,
1617         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1618         .direction               = TF_DIR_RX,
1619         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1620         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1621         .count                   = 32
1622         },
1623         {
1624         .app_id                  = 0,
1625         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1626         .direction               = TF_DIR_RX,
1627         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1628         .resource_type           = TF_IDENT_TYPE_EM_PROF,
1629         .count                   = 32
1630         },
1631         {
1632         .app_id                  = 0,
1633         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1634         .direction               = TF_DIR_RX,
1635         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1636         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
1637         .count                   = 2048
1638         },
1639         {
1640         .app_id                  = 0,
1641         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1642         .direction               = TF_DIR_RX,
1643         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1644         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
1645         .count                   = 512
1646         },
1647         {
1648         .app_id                  = 0,
1649         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1650         .direction               = TF_DIR_RX,
1651         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1652         .resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
1653         .count                   = 5
1654         },
1655         {
1656         .app_id                  = 0,
1657         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1658         .direction               = TF_DIR_RX,
1659         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1660         .resource_type           = TF_TBL_TYPE_EM_FKB,
1661         .count                   = 32
1662         },
1663         {
1664         .app_id                  = 0,
1665         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1666         .direction               = TF_DIR_RX,
1667         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1668         .resource_type           = TF_TBL_TYPE_WC_FKB,
1669         .count                   = 31
1670         },
1671         {
1672         .app_id                  = 0,
1673         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1674         .direction               = TF_DIR_RX,
1675         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1676         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
1677         .count                   = 64
1678         },
1679         {
1680         .app_id                  = 0,
1681         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1682         .direction               = TF_DIR_RX,
1683         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1684         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1685         .count                   = 64
1686         },
1687         {
1688         .app_id                  = 0,
1689         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1690         .direction               = TF_DIR_RX,
1691         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1692         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1693         .count                   = 300
1694         },
1695         {
1696         .app_id                  = 0,
1697         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1698         .direction               = TF_DIR_RX,
1699         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1700         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1701         .count                   = 6
1702         },
1703         {
1704         .app_id                  = 0,
1705         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1706         .direction               = TF_DIR_RX,
1707         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1708         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
1709         .count                   = 128
1710         },
1711         {
1712         .app_id                  = 0,
1713         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1714         .direction               = TF_DIR_RX,
1715         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1716         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
1717         .count                   = 2048
1718         },
1719         {
1720         .app_id                  = 0,
1721         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1722         .direction               = TF_DIR_RX,
1723         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1724         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
1725         .count                   = 13200
1726         },
1727         {
1728         .app_id                  = 0,
1729         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1730         .direction               = TF_DIR_TX,
1731         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1732         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
1733         .count                   = 26
1734         },
1735         {
1736         .app_id                  = 0,
1737         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1738         .direction               = TF_DIR_TX,
1739         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1740         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
1741         .count                   = 26
1742         },
1743         {
1744         .app_id                  = 0,
1745         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1746         .direction               = TF_DIR_TX,
1747         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1748         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1749         .count                   = 32
1750         },
1751         {
1752         .app_id                  = 0,
1753         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1754         .direction               = TF_DIR_TX,
1755         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1756         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1757         .count                   = 63
1758         },
1759         {
1760         .app_id                  = 0,
1761         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1762         .direction               = TF_DIR_TX,
1763         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1764         .resource_type           = TF_IDENT_TYPE_EM_PROF,
1765         .count                   = 32
1766         },
1767         {
1768         .app_id                  = 0,
1769         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1770         .direction               = TF_DIR_TX,
1771         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1772         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
1773         .count                   = 1023
1774         },
1775         {
1776         .app_id                  = 0,
1777         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1778         .direction               = TF_DIR_TX,
1779         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1780         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
1781         .count                   = 512
1782         },
1783         {
1784         .app_id                  = 0,
1785         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1786         .direction               = TF_DIR_TX,
1787         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1788         .resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
1789         .count                   = 5
1790         },
1791         {
1792         .app_id                  = 0,
1793         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1794         .direction               = TF_DIR_TX,
1795         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1796         .resource_type           = TF_TBL_TYPE_EM_FKB,
1797         .count                   = 32
1798         },
1799         {
1800         .app_id                  = 0,
1801         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1802         .direction               = TF_DIR_TX,
1803         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1804         .resource_type           = TF_TBL_TYPE_WC_FKB,
1805         .count                   = 32
1806         },
1807         {
1808         .app_id                  = 0,
1809         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1810         .direction               = TF_DIR_TX,
1811         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1812         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
1813         .count                   = 64
1814         },
1815         {
1816         .app_id                  = 0,
1817         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1818         .direction               = TF_DIR_TX,
1819         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1820         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1821         .count                   = 100
1822         },
1823         {
1824         .app_id                  = 0,
1825         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1826         .direction               = TF_DIR_TX,
1827         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1828         .resource_type           = TF_TBL_TYPE_ACT_MODIFY_64B,
1829         .count                   = 32
1830         },
1831         {
1832         .app_id                  = 0,
1833         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1834         .direction               = TF_DIR_TX,
1835         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1836         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1837         .count                   = 200
1838         },
1839         {
1840         .app_id                  = 0,
1841         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1842         .direction               = TF_DIR_TX,
1843         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1844         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1845         .count                   = 110
1846         },
1847         {
1848         .app_id                  = 0,
1849         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1850         .direction               = TF_DIR_TX,
1851         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1852         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
1853         .count                   = 128
1854         },
1855         {
1856         .app_id                  = 0,
1857         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1858         .direction               = TF_DIR_TX,
1859         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1860         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
1861         .count                   = 2048
1862         },
1863         {
1864         .app_id                  = 0,
1865         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1866         .direction               = TF_DIR_TX,
1867         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1868         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
1869         .count                   = 15232
1870         },
1871         {
1872         .app_id                  = 0,
1873         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1874         .direction               = TF_DIR_TX,
1875         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1876         .resource_type           = TF_TBL_TYPE_METADATA,
1877         .count                   = 1
1878         },
1879         {
1880         .app_id                  = 1,
1881         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1882         .direction               = TF_DIR_RX,
1883         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1884         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
1885         .count                   = 32
1886         },
1887         {
1888         .app_id                  = 1,
1889         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1890         .direction               = TF_DIR_RX,
1891         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1892         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
1893         .count                   = 2
1894         },
1895         {
1896         .app_id                  = 1,
1897         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1898         .direction               = TF_DIR_RX,
1899         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1900         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1901         .count                   = 4
1902         },
1903         {
1904         .app_id                  = 1,
1905         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1906         .direction               = TF_DIR_RX,
1907         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1908         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1909         .count                   = 4
1910         },
1911         {
1912         .app_id                  = 1,
1913         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1914         .direction               = TF_DIR_RX,
1915         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1916         .resource_type           = TF_IDENT_TYPE_EM_PROF,
1917         .count                   = 4
1918         },
1919         {
1920         .app_id                  = 1,
1921         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1922         .direction               = TF_DIR_RX,
1923         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1924         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
1925         .count                   = 128
1926         },
1927         {
1928         .app_id                  = 1,
1929         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1930         .direction               = TF_DIR_RX,
1931         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1932         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
1933         .count                   = 128
1934         },
1935         {
1936         .app_id                  = 1,
1937         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1938         .direction               = TF_DIR_RX,
1939         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1940         .resource_type           = TF_TBL_TYPE_ACT_MODIFY_IPV4,
1941         .count                   = 4
1942         },
1943         {
1944         .app_id                  = 1,
1945         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1946         .direction               = TF_DIR_RX,
1947         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1948         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_8B,
1949         .count                   = 4
1950         },
1951         {
1952         .app_id                  = 1,
1953         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1954         .direction               = TF_DIR_RX,
1955         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1956         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
1957         .count                   = 4
1958         },
1959         {
1960         .app_id                  = 1,
1961         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1962         .direction               = TF_DIR_RX,
1963         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1964         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC,
1965         .count                   = 4
1966         },
1967         {
1968         .app_id                  = 1,
1969         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1970         .direction               = TF_DIR_RX,
1971         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1972         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1973         .count                   = 32
1974         },
1975         {
1976         .app_id                  = 1,
1977         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1978         .direction               = TF_DIR_RX,
1979         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1980         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1981         .count                   = 2
1982         },
1983         {
1984         .app_id                  = 1,
1985         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1986         .direction               = TF_DIR_RX,
1987         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1988         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
1989         .count                   = 32
1990         },
1991         {
1992         .app_id                  = 1,
1993         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1994         .direction               = TF_DIR_RX,
1995         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1996         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
1997         .count                   = 4
1998         },
1999         {
2000         .app_id                  = 1,
2001         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2002         .direction               = TF_DIR_RX,
2003         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2004         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
2005         .count                   = 1024
2006         },
2007         {
2008         .app_id                  = 1,
2009         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2010         .direction               = TF_DIR_TX,
2011         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2012         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
2013         .count                   = 32
2014         },
2015         {
2016         .app_id                  = 1,
2017         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2018         .direction               = TF_DIR_TX,
2019         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2020         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
2021         .count                   = 2
2022         },
2023         {
2024         .app_id                  = 1,
2025         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2026         .direction               = TF_DIR_TX,
2027         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2028         .resource_type           = TF_IDENT_TYPE_WC_PROF,
2029         .count                   = 4
2030         },
2031         {
2032         .app_id                  = 1,
2033         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2034         .direction               = TF_DIR_TX,
2035         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2036         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
2037         .count                   = 4
2038         },
2039         {
2040         .app_id                  = 1,
2041         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2042         .direction               = TF_DIR_TX,
2043         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2044         .resource_type           = TF_IDENT_TYPE_EM_PROF,
2045         .count                   = 4
2046         },
2047         {
2048         .app_id                  = 1,
2049         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2050         .direction               = TF_DIR_TX,
2051         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2052         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
2053         .count                   = 128
2054         },
2055         {
2056         .app_id                  = 1,
2057         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2058         .direction               = TF_DIR_TX,
2059         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2060         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
2061         .count                   = 128
2062         },
2063         {
2064         .app_id                  = 1,
2065         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2066         .direction               = TF_DIR_TX,
2067         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2068         .resource_type           = TF_TBL_TYPE_ACT_MODIFY_IPV4,
2069         .count                   = 4
2070         },
2071         {
2072         .app_id                  = 1,
2073         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2074         .direction               = TF_DIR_TX,
2075         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2076         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
2077         .count                   = 4
2078         },
2079         {
2080         .app_id                  = 1,
2081         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2082         .direction               = TF_DIR_TX,
2083         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2084         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
2085         .count                   = 4
2086         },
2087         {
2088         .app_id                  = 1,
2089         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2090         .direction               = TF_DIR_TX,
2091         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2092         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_8B,
2093         .count                   = 4
2094         },
2095         {
2096         .app_id                  = 1,
2097         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2098         .direction               = TF_DIR_TX,
2099         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2100         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
2101         .count                   = 4
2102         },
2103         {
2104         .app_id                  = 1,
2105         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2106         .direction               = TF_DIR_TX,
2107         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2108         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV6,
2109         .count                   = 4
2110         },
2111         {
2112         .app_id                  = 1,
2113         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2114         .direction               = TF_DIR_TX,
2115         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2116         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
2117         .count                   = 32
2118         },
2119         {
2120         .app_id                  = 1,
2121         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2122         .direction               = TF_DIR_TX,
2123         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2124         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2125         .count                   = 2
2126         },
2127         {
2128         .app_id                  = 1,
2129         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2130         .direction               = TF_DIR_TX,
2131         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2132         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
2133         .count                   = 32
2134         },
2135         {
2136         .app_id                  = 1,
2137         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2138         .direction               = TF_DIR_TX,
2139         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2140         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
2141         .count                   = 4
2142         },
2143         {
2144         .app_id                  = 1,
2145         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2146         .direction               = TF_DIR_TX,
2147         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2148         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
2149         .count                   = 1024
2150         },
2151         {
2152         .app_id                  = 1,
2153         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2154         .direction               = TF_DIR_RX,
2155         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2156         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
2157         .count                   = 32
2158         },
2159         {
2160         .app_id                  = 1,
2161         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2162         .direction               = TF_DIR_RX,
2163         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2164         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
2165         .count                   = 2
2166         },
2167         {
2168         .app_id                  = 1,
2169         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2170         .direction               = TF_DIR_RX,
2171         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2172         .resource_type           = TF_IDENT_TYPE_WC_PROF,
2173         .count                   = 32
2174         },
2175         {
2176         .app_id                  = 1,
2177         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2178         .direction               = TF_DIR_RX,
2179         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2180         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
2181         .count                   = 16
2182         },
2183         {
2184         .app_id                  = 1,
2185         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2186         .direction               = TF_DIR_RX,
2187         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2188         .resource_type           = TF_IDENT_TYPE_EM_PROF,
2189         .count                   = 32
2190         },
2191         {
2192         .app_id                  = 1,
2193         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2194         .direction               = TF_DIR_RX,
2195         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2196         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
2197         .count                   = 528
2198         },
2199         {
2200         .app_id                  = 1,
2201         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2202         .direction               = TF_DIR_RX,
2203         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2204         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
2205         .count                   = 256
2206         },
2207         {
2208         .app_id                  = 1,
2209         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2210         .direction               = TF_DIR_RX,
2211         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2212         .resource_type           = TF_TBL_TYPE_EM_FKB,
2213         .count                   = 4
2214         },
2215         {
2216         .app_id                  = 1,
2217         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2218         .direction               = TF_DIR_RX,
2219         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2220         .resource_type           = TF_TBL_TYPE_WC_FKB,
2221         .count                   = 4
2222         },
2223         {
2224         .app_id                  = 1,
2225         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2226         .direction               = TF_DIR_RX,
2227         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2228         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
2229         .count                   = 4
2230         },
2231         {
2232         .app_id                  = 1,
2233         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2234         .direction               = TF_DIR_RX,
2235         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2236         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
2237         .count                   = 4
2238         },
2239         {
2240         .app_id                  = 1,
2241         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2242         .direction               = TF_DIR_RX,
2243         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2244         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
2245         .count                   = 32
2246         },
2247         {
2248         .app_id                  = 1,
2249         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2250         .direction               = TF_DIR_RX,
2251         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2252         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2253         .count                   = 2
2254         },
2255         {
2256         .app_id                  = 1,
2257         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2258         .direction               = TF_DIR_RX,
2259         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2260         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
2261         .count                   = 32
2262         },
2263         {
2264         .app_id                  = 1,
2265         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2266         .direction               = TF_DIR_RX,
2267         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2268         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
2269         .count                   = 4
2270         },
2271         {
2272         .app_id                  = 1,
2273         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2274         .direction               = TF_DIR_RX,
2275         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2276         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
2277         .count                   = 1024
2278         },
2279         {
2280         .app_id                  = 1,
2281         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2282         .direction               = TF_DIR_TX,
2283         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2284         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
2285         .count                   = 32
2286         },
2287         {
2288         .app_id                  = 1,
2289         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2290         .direction               = TF_DIR_TX,
2291         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2292         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
2293         .count                   = 2
2294         },
2295         {
2296         .app_id                  = 1,
2297         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2298         .direction               = TF_DIR_TX,
2299         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2300         .resource_type           = TF_IDENT_TYPE_WC_PROF,
2301         .count                   = 4
2302         },
2303         {
2304         .app_id                  = 1,
2305         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2306         .direction               = TF_DIR_TX,
2307         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2308         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
2309         .count                   = 4
2310         },
2311         {
2312         .app_id                  = 1,
2313         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2314         .direction               = TF_DIR_TX,
2315         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2316         .resource_type           = TF_IDENT_TYPE_EM_PROF,
2317         .count                   = 4
2318         },
2319         {
2320         .app_id                  = 1,
2321         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2322         .direction               = TF_DIR_TX,
2323         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2324         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
2325         .count                   = 512
2326         },
2327         {
2328         .app_id                  = 1,
2329         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2330         .direction               = TF_DIR_TX,
2331         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2332         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
2333         .count                   = 256
2334         },
2335         {
2336         .app_id                  = 1,
2337         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2338         .direction               = TF_DIR_TX,
2339         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2340         .resource_type           = TF_TBL_TYPE_EM_FKB,
2341         .count                   = 4
2342         },
2343         {
2344         .app_id                  = 1,
2345         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2346         .direction               = TF_DIR_TX,
2347         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2348         .resource_type           = TF_TBL_TYPE_WC_FKB,
2349         .count                   = 4
2350         },
2351         {
2352         .app_id                  = 1,
2353         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2354         .direction               = TF_DIR_TX,
2355         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2356         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
2357         .count                   = 4
2358         },
2359         {
2360         .app_id                  = 1,
2361         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2362         .direction               = TF_DIR_TX,
2363         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2364         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
2365         .count                   = 4
2366         },
2367         {
2368         .app_id                  = 1,
2369         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2370         .direction               = TF_DIR_TX,
2371         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2372         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
2373         .count                   = 32
2374         },
2375         {
2376         .app_id                  = 1,
2377         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2378         .direction               = TF_DIR_TX,
2379         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2380         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2381         .count                   = 2
2382         },
2383         {
2384         .app_id                  = 1,
2385         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2386         .direction               = TF_DIR_TX,
2387         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2388         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
2389         .count                   = 32
2390         },
2391         {
2392         .app_id                  = 1,
2393         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2394         .direction               = TF_DIR_TX,
2395         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2396         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
2397         .count                   = 4
2398         },
2399         {
2400         .app_id                  = 1,
2401         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2402         .direction               = TF_DIR_TX,
2403         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2404         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
2405         .count                   = 1024
2406         },
2407         {
2408         .app_id                  = 2,
2409         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2410         .direction               = TF_DIR_RX,
2411         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2412         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
2413         .count                   = 32
2414         },
2415         {
2416         .app_id                  = 2,
2417         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2418         .direction               = TF_DIR_RX,
2419         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2420         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
2421         .count                   = 2
2422         },
2423         {
2424         .app_id                  = 2,
2425         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2426         .direction               = TF_DIR_RX,
2427         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2428         .resource_type           = TF_IDENT_TYPE_WC_PROF,
2429         .count                   = 4
2430         },
2431         {
2432         .app_id                  = 2,
2433         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2434         .direction               = TF_DIR_RX,
2435         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2436         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
2437         .count                   = 4
2438         },
2439         {
2440         .app_id                  = 2,
2441         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2442         .direction               = TF_DIR_RX,
2443         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2444         .resource_type           = TF_IDENT_TYPE_EM_PROF,
2445         .count                   = 4
2446         },
2447         {
2448         .app_id                  = 2,
2449         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2450         .direction               = TF_DIR_RX,
2451         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2452         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
2453         .count                   = 128
2454         },
2455         {
2456         .app_id                  = 2,
2457         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2458         .direction               = TF_DIR_RX,
2459         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2460         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
2461         .count                   = 128
2462         },
2463         {
2464         .app_id                  = 2,
2465         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2466         .direction               = TF_DIR_RX,
2467         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2468         .resource_type           = TF_TBL_TYPE_ACT_MODIFY_IPV4,
2469         .count                   = 4
2470         },
2471         {
2472         .app_id                  = 2,
2473         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2474         .direction               = TF_DIR_RX,
2475         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2476         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_8B,
2477         .count                   = 4
2478         },
2479         {
2480         .app_id                  = 2,
2481         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2482         .direction               = TF_DIR_RX,
2483         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2484         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
2485         .count                   = 4
2486         },
2487         {
2488         .app_id                  = 2,
2489         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2490         .direction               = TF_DIR_RX,
2491         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2492         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC,
2493         .count                   = 4
2494         },
2495         {
2496         .app_id                  = 2,
2497         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2498         .direction               = TF_DIR_RX,
2499         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2500         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
2501         .count                   = 32
2502         },
2503         {
2504         .app_id                  = 2,
2505         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2506         .direction               = TF_DIR_RX,
2507         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2508         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2509         .count                   = 2
2510         },
2511         {
2512         .app_id                  = 2,
2513         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2514         .direction               = TF_DIR_RX,
2515         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2516         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
2517         .count                   = 32
2518         },
2519         {
2520         .app_id                  = 2,
2521         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2522         .direction               = TF_DIR_RX,
2523         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2524         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
2525         .count                   = 64
2526         },
2527         {
2528         .app_id                  = 2,
2529         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2530         .direction               = TF_DIR_RX,
2531         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2532         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
2533         .count                   = 1024
2534         },
2535         {
2536         .app_id                  = 2,
2537         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2538         .direction               = TF_DIR_TX,
2539         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2540         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
2541         .count                   = 32
2542         },
2543         {
2544         .app_id                  = 2,
2545         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2546         .direction               = TF_DIR_TX,
2547         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2548         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
2549         .count                   = 2
2550         },
2551         {
2552         .app_id                  = 2,
2553         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2554         .direction               = TF_DIR_TX,
2555         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2556         .resource_type           = TF_IDENT_TYPE_WC_PROF,
2557         .count                   = 4
2558         },
2559         {
2560         .app_id                  = 2,
2561         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2562         .direction               = TF_DIR_TX,
2563         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2564         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
2565         .count                   = 4
2566         },
2567         {
2568         .app_id                  = 2,
2569         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2570         .direction               = TF_DIR_TX,
2571         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2572         .resource_type           = TF_IDENT_TYPE_EM_PROF,
2573         .count                   = 4
2574         },
2575         {
2576         .app_id                  = 2,
2577         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2578         .direction               = TF_DIR_TX,
2579         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2580         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
2581         .count                   = 128
2582         },
2583         {
2584         .app_id                  = 2,
2585         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2586         .direction               = TF_DIR_TX,
2587         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2588         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
2589         .count                   = 128
2590         },
2591         {
2592         .app_id                  = 2,
2593         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2594         .direction               = TF_DIR_TX,
2595         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2596         .resource_type           = TF_TBL_TYPE_ACT_MODIFY_IPV4,
2597         .count                   = 4
2598         },
2599         {
2600         .app_id                  = 2,
2601         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2602         .direction               = TF_DIR_TX,
2603         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2604         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
2605         .count                   = 4
2606         },
2607         {
2608         .app_id                  = 2,
2609         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2610         .direction               = TF_DIR_TX,
2611         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2612         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
2613         .count                   = 4
2614         },
2615         {
2616         .app_id                  = 2,
2617         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2618         .direction               = TF_DIR_TX,
2619         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2620         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_8B,
2621         .count                   = 4
2622         },
2623         {
2624         .app_id                  = 2,
2625         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2626         .direction               = TF_DIR_TX,
2627         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2628         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
2629         .count                   = 4
2630         },
2631         {
2632         .app_id                  = 2,
2633         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2634         .direction               = TF_DIR_TX,
2635         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2636         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV6,
2637         .count                   = 4
2638         },
2639         {
2640         .app_id                  = 2,
2641         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2642         .direction               = TF_DIR_TX,
2643         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2644         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
2645         .count                   = 32
2646         },
2647         {
2648         .app_id                  = 2,
2649         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2650         .direction               = TF_DIR_TX,
2651         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2652         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2653         .count                   = 2
2654         },
2655         {
2656         .app_id                  = 2,
2657         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2658         .direction               = TF_DIR_TX,
2659         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2660         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
2661         .count                   = 32
2662         },
2663         {
2664         .app_id                  = 2,
2665         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2666         .direction               = TF_DIR_TX,
2667         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2668         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
2669         .count                   = 4
2670         },
2671         {
2672         .app_id                  = 2,
2673         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2674         .direction               = TF_DIR_TX,
2675         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2676         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
2677         .count                   = 1024
2678         },
2679         {
2680         .app_id                  = 2,
2681         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2682         .direction               = TF_DIR_RX,
2683         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2684         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
2685         .count                   = 32
2686         },
2687         {
2688         .app_id                  = 2,
2689         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2690         .direction               = TF_DIR_RX,
2691         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2692         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
2693         .count                   = 2
2694         },
2695         {
2696         .app_id                  = 2,
2697         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2698         .direction               = TF_DIR_RX,
2699         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2700         .resource_type           = TF_IDENT_TYPE_WC_PROF,
2701         .count                   = 32
2702         },
2703         {
2704         .app_id                  = 2,
2705         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2706         .direction               = TF_DIR_RX,
2707         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2708         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
2709         .count                   = 16
2710         },
2711         {
2712         .app_id                  = 2,
2713         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2714         .direction               = TF_DIR_RX,
2715         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2716         .resource_type           = TF_IDENT_TYPE_EM_PROF,
2717         .count                   = 32
2718         },
2719         {
2720         .app_id                  = 2,
2721         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2722         .direction               = TF_DIR_RX,
2723         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2724         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
2725         .count                   = 528
2726         },
2727         {
2728         .app_id                  = 2,
2729         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2730         .direction               = TF_DIR_RX,
2731         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2732         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
2733         .count                   = 256
2734         },
2735         {
2736         .app_id                  = 2,
2737         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2738         .direction               = TF_DIR_RX,
2739         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2740         .resource_type           = TF_TBL_TYPE_EM_FKB,
2741         .count                   = 4
2742         },
2743         {
2744         .app_id                  = 2,
2745         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2746         .direction               = TF_DIR_RX,
2747         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2748         .resource_type           = TF_TBL_TYPE_WC_FKB,
2749         .count                   = 4
2750         },
2751         {
2752         .app_id                  = 2,
2753         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2754         .direction               = TF_DIR_RX,
2755         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2756         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
2757         .count                   = 4
2758         },
2759         {
2760         .app_id                  = 2,
2761         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2762         .direction               = TF_DIR_RX,
2763         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2764         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
2765         .count                   = 4
2766         },
2767         {
2768         .app_id                  = 2,
2769         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2770         .direction               = TF_DIR_RX,
2771         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2772         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
2773         .count                   = 32
2774         },
2775         {
2776         .app_id                  = 2,
2777         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2778         .direction               = TF_DIR_RX,
2779         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2780         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2781         .count                   = 2
2782         },
2783         {
2784         .app_id                  = 2,
2785         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2786         .direction               = TF_DIR_RX,
2787         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2788         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
2789         .count                   = 32
2790         },
2791         {
2792         .app_id                  = 2,
2793         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2794         .direction               = TF_DIR_RX,
2795         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2796         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
2797         .count                   = 512
2798         },
2799         {
2800         .app_id                  = 2,
2801         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2802         .direction               = TF_DIR_RX,
2803         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2804         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
2805         .count                   = 1024
2806         },
2807         {
2808         .app_id                  = 2,
2809         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2810         .direction               = TF_DIR_TX,
2811         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2812         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
2813         .count                   = 32
2814         },
2815         {
2816         .app_id                  = 2,
2817         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2818         .direction               = TF_DIR_TX,
2819         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2820         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
2821         .count                   = 2
2822         },
2823         {
2824         .app_id                  = 2,
2825         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2826         .direction               = TF_DIR_TX,
2827         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2828         .resource_type           = TF_IDENT_TYPE_WC_PROF,
2829         .count                   = 4
2830         },
2831         {
2832         .app_id                  = 2,
2833         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2834         .direction               = TF_DIR_TX,
2835         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2836         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
2837         .count                   = 4
2838         },
2839         {
2840         .app_id                  = 2,
2841         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2842         .direction               = TF_DIR_TX,
2843         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2844         .resource_type           = TF_IDENT_TYPE_EM_PROF,
2845         .count                   = 4
2846         },
2847         {
2848         .app_id                  = 2,
2849         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2850         .direction               = TF_DIR_TX,
2851         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2852         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
2853         .count                   = 512
2854         },
2855         {
2856         .app_id                  = 2,
2857         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2858         .direction               = TF_DIR_TX,
2859         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2860         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
2861         .count                   = 256
2862         },
2863         {
2864         .app_id                  = 2,
2865         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2866         .direction               = TF_DIR_TX,
2867         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2868         .resource_type           = TF_TBL_TYPE_EM_FKB,
2869         .count                   = 4
2870         },
2871         {
2872         .app_id                  = 2,
2873         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2874         .direction               = TF_DIR_TX,
2875         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2876         .resource_type           = TF_TBL_TYPE_WC_FKB,
2877         .count                   = 4
2878         },
2879         {
2880         .app_id                  = 2,
2881         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2882         .direction               = TF_DIR_TX,
2883         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2884         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
2885         .count                   = 4
2886         },
2887         {
2888         .app_id                  = 2,
2889         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2890         .direction               = TF_DIR_TX,
2891         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2892         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
2893         .count                   = 4
2894         },
2895         {
2896         .app_id                  = 2,
2897         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2898         .direction               = TF_DIR_TX,
2899         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2900         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
2901         .count                   = 32
2902         },
2903         {
2904         .app_id                  = 2,
2905         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2906         .direction               = TF_DIR_TX,
2907         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2908         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2909         .count                   = 2
2910         },
2911         {
2912         .app_id                  = 2,
2913         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2914         .direction               = TF_DIR_TX,
2915         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2916         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
2917         .count                   = 32
2918         },
2919         {
2920         .app_id                  = 2,
2921         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2922         .direction               = TF_DIR_TX,
2923         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2924         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
2925         .count                   = 4
2926         },
2927         {
2928         .app_id                  = 2,
2929         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2930         .direction               = TF_DIR_TX,
2931         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2932         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
2933         .count                   = 1024
2934         }
2935 };
2936
2937 uint32_t ulp_act_prop_map_table[] = {
2938         [BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ] =
2939                 BNXT_ULP_ACT_PROP_SZ_ENCAP_TUN_SZ,
2940         [BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ] =
2941                 BNXT_ULP_ACT_PROP_SZ_ENCAP_IP_SZ,
2942         [BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ] =
2943                 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG_SZ,
2944         [BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE] =
2945                 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG_TYPE,
2946         [BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_NUM] =
2947                 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG_NUM,
2948         [BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE] =
2949                 BNXT_ULP_ACT_PROP_SZ_ENCAP_L3_TYPE,
2950         [BNXT_ULP_ACT_PROP_IDX_MPLS_POP_NUM] =
2951                 BNXT_ULP_ACT_PROP_SZ_MPLS_POP_NUM,
2952         [BNXT_ULP_ACT_PROP_IDX_MPLS_PUSH_NUM] =
2953                 BNXT_ULP_ACT_PROP_SZ_MPLS_PUSH_NUM,
2954         [BNXT_ULP_ACT_PROP_IDX_PORT_ID] =
2955                 BNXT_ULP_ACT_PROP_SZ_PORT_ID,
2956         [BNXT_ULP_ACT_PROP_IDX_VNIC] =
2957                 BNXT_ULP_ACT_PROP_SZ_VNIC,
2958         [BNXT_ULP_ACT_PROP_IDX_VPORT] =
2959                 BNXT_ULP_ACT_PROP_SZ_VPORT,
2960         [BNXT_ULP_ACT_PROP_IDX_MARK] =
2961                 BNXT_ULP_ACT_PROP_SZ_MARK,
2962         [BNXT_ULP_ACT_PROP_IDX_COUNT] =
2963                 BNXT_ULP_ACT_PROP_SZ_COUNT,
2964         [BNXT_ULP_ACT_PROP_IDX_METER] =
2965                 BNXT_ULP_ACT_PROP_SZ_METER,
2966         [BNXT_ULP_ACT_PROP_IDX_SET_MAC_SRC] =
2967                 BNXT_ULP_ACT_PROP_SZ_SET_MAC_SRC,
2968         [BNXT_ULP_ACT_PROP_IDX_SET_MAC_DST] =
2969                 BNXT_ULP_ACT_PROP_SZ_SET_MAC_DST,
2970         [BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN] =
2971                 BNXT_ULP_ACT_PROP_SZ_PUSH_VLAN,
2972         [BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP] =
2973                 BNXT_ULP_ACT_PROP_SZ_SET_VLAN_PCP,
2974         [BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID] =
2975                 BNXT_ULP_ACT_PROP_SZ_SET_VLAN_VID,
2976         [BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC] =
2977                 BNXT_ULP_ACT_PROP_SZ_SET_IPV4_SRC,
2978         [BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST] =
2979                 BNXT_ULP_ACT_PROP_SZ_SET_IPV4_DST,
2980         [BNXT_ULP_ACT_PROP_IDX_SET_IPV6_SRC] =
2981                 BNXT_ULP_ACT_PROP_SZ_SET_IPV6_SRC,
2982         [BNXT_ULP_ACT_PROP_IDX_SET_IPV6_DST] =
2983                 BNXT_ULP_ACT_PROP_SZ_SET_IPV6_DST,
2984         [BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC] =
2985                 BNXT_ULP_ACT_PROP_SZ_SET_TP_SRC,
2986         [BNXT_ULP_ACT_PROP_IDX_SET_TP_DST] =
2987                 BNXT_ULP_ACT_PROP_SZ_SET_TP_DST,
2988         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_0] =
2989                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_0,
2990         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_1] =
2991                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_1,
2992         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_2] =
2993                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_2,
2994         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_3] =
2995                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_3,
2996         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_4] =
2997                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_4,
2998         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_5] =
2999                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_5,
3000         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_6] =
3001                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_6,
3002         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_7] =
3003                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_7,
3004         [BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC] =
3005                 BNXT_ULP_ACT_PROP_SZ_ENCAP_L2_DMAC,
3006         [BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC] =
3007                 BNXT_ULP_ACT_PROP_SZ_ENCAP_L2_SMAC,
3008         [BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG] =
3009                 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG,
3010         [BNXT_ULP_ACT_PROP_IDX_ENCAP_IP] =
3011                 BNXT_ULP_ACT_PROP_SZ_ENCAP_IP,
3012         [BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC] =
3013                 BNXT_ULP_ACT_PROP_SZ_ENCAP_IP_SRC,
3014         [BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP] =
3015                 BNXT_ULP_ACT_PROP_SZ_ENCAP_UDP,
3016         [BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN] =
3017                 BNXT_ULP_ACT_PROP_SZ_ENCAP_TUN,
3018         [BNXT_ULP_ACT_PROP_IDX_JUMP] =
3019                 BNXT_ULP_ACT_PROP_SZ_JUMP,
3020         [BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE] =
3021                 BNXT_ULP_ACT_PROP_SZ_SHARED_HANDLE,
3022         [BNXT_ULP_ACT_PROP_IDX_RSS_TYPES] =
3023                 BNXT_ULP_ACT_PROP_SZ_RSS_TYPES,
3024         [BNXT_ULP_ACT_PROP_IDX_RSS_LEVEL] =
3025                 BNXT_ULP_ACT_PROP_SZ_RSS_LEVEL,
3026         [BNXT_ULP_ACT_PROP_IDX_RSS_KEY_LEN] =
3027                 BNXT_ULP_ACT_PROP_SZ_RSS_KEY_LEN,
3028         [BNXT_ULP_ACT_PROP_IDX_RSS_KEY] =
3029                 BNXT_ULP_ACT_PROP_SZ_RSS_KEY,
3030         [BNXT_ULP_ACT_PROP_IDX_LAST] =
3031                 BNXT_ULP_ACT_PROP_SZ_LAST
3032 };
3033
3034 uint8_t ulp_glb_field_tbl[] = {
3035         [2048] = 0,
3036         [2049] = 1,
3037         [2050] = 2,
3038         [2052] = 3,
3039         [2054] = 4,
3040         [2088] = 5,
3041         [2090] = 6,
3042         [2092] = 7,
3043         [2094] = 8,
3044         [2096] = 9,
3045         [2098] = 10,
3046         [2100] = 11,
3047         [2102] = 12,
3048         [2176] = 0,
3049         [2177] = 1,
3050         [2178] = 2,
3051         [2180] = 3,
3052         [2182] = 4,
3053         [2196] = 5,
3054         [2198] = 6,
3055         [2200] = 7,
3056         [2202] = 8,
3057         [2204] = 9,
3058         [2206] = 10,
3059         [2208] = 11,
3060         [2210] = 12,
3061         [2212] = 13,
3062         [2214] = 14,
3063         [2304] = 0,
3064         [2305] = 1,
3065         [2306] = 2,
3066         [2308] = 3,
3067         [2310] = 4,
3068         [2344] = 8,
3069         [2346] = 9,
3070         [2348] = 10,
3071         [2350] = 11,
3072         [2352] = 12,
3073         [2354] = 13,
3074         [2356] = 14,
3075         [2358] = 15,
3076         [2386] = 5,
3077         [2390] = 6,
3078         [2394] = 7,
3079         [2432] = 0,
3080         [2433] = 1,
3081         [2434] = 2,
3082         [2436] = 3,
3083         [2438] = 4,
3084         [2452] = 8,
3085         [2454] = 9,
3086         [2456] = 10,
3087         [2458] = 11,
3088         [2460] = 12,
3089         [2462] = 13,
3090         [2464] = 14,
3091         [2466] = 15,
3092         [2468] = 16,
3093         [2470] = 17,
3094         [2514] = 5,
3095         [2518] = 6,
3096         [2522] = 7,
3097         [2560] = 0,
3098         [2561] = 1,
3099         [2562] = 2,
3100         [2564] = 3,
3101         [2566] = 4,
3102         [2600] = 5,
3103         [2602] = 6,
3104         [2604] = 7,
3105         [2606] = 8,
3106         [2608] = 9,
3107         [2610] = 10,
3108         [2612] = 11,
3109         [2614] = 12,
3110         [2616] = 13,
3111         [2618] = 14,
3112         [2620] = 15,
3113         [2622] = 16,
3114         [2624] = 17,
3115         [2626] = 18,
3116         [2628] = 19,
3117         [2630] = 20,
3118         [2632] = 21,
3119         [2688] = 0,
3120         [2689] = 1,
3121         [2690] = 2,
3122         [2692] = 3,
3123         [2694] = 4,
3124         [2708] = 5,
3125         [2710] = 6,
3126         [2712] = 7,
3127         [2714] = 8,
3128         [2716] = 9,
3129         [2718] = 10,
3130         [2720] = 11,
3131         [2722] = 12,
3132         [2724] = 13,
3133         [2726] = 14,
3134         [2744] = 15,
3135         [2746] = 16,
3136         [2748] = 17,
3137         [2750] = 18,
3138         [2752] = 19,
3139         [2754] = 20,
3140         [2756] = 21,
3141         [2758] = 22,
3142         [2760] = 23,
3143         [2816] = 0,
3144         [2817] = 1,
3145         [2818] = 2,
3146         [2820] = 3,
3147         [2822] = 4,
3148         [2856] = 5,
3149         [2858] = 6,
3150         [2860] = 7,
3151         [2862] = 8,
3152         [2864] = 9,
3153         [2866] = 10,
3154         [2868] = 11,
3155         [2870] = 12,
3156         [2890] = 13,
3157         [2892] = 14,
3158         [2894] = 15,
3159         [2896] = 16,
3160         [2944] = 0,
3161         [2945] = 1,
3162         [2946] = 2,
3163         [2948] = 3,
3164         [2950] = 4,
3165         [2964] = 5,
3166         [2966] = 6,
3167         [2968] = 7,
3168         [2970] = 8,
3169         [2972] = 9,
3170         [2974] = 10,
3171         [2976] = 11,
3172         [2978] = 12,
3173         [2980] = 13,
3174         [2982] = 14,
3175         [3018] = 15,
3176         [3020] = 16,
3177         [3022] = 17,
3178         [3024] = 18,
3179         [3072] = 0,
3180         [3073] = 1,
3181         [3074] = 2,
3182         [3076] = 3,
3183         [3078] = 4,
3184         [3112] = 8,
3185         [3114] = 9,
3186         [3116] = 10,
3187         [3118] = 11,
3188         [3120] = 12,
3189         [3122] = 13,
3190         [3124] = 14,
3191         [3126] = 15,
3192         [3128] = 16,
3193         [3130] = 17,
3194         [3132] = 18,
3195         [3134] = 19,
3196         [3136] = 20,
3197         [3138] = 21,
3198         [3140] = 22,
3199         [3142] = 23,
3200         [3144] = 24,
3201         [3154] = 5,
3202         [3158] = 6,
3203         [3162] = 7,
3204         [3200] = 0,
3205         [3201] = 1,
3206         [3202] = 2,
3207         [3204] = 3,
3208         [3206] = 4,
3209         [3220] = 8,
3210         [3222] = 9,
3211         [3224] = 10,
3212         [3226] = 11,
3213         [3228] = 12,
3214         [3230] = 13,
3215         [3232] = 14,
3216         [3234] = 15,
3217         [3236] = 16,
3218         [3238] = 17,
3219         [3256] = 18,
3220         [3258] = 19,
3221         [3260] = 20,
3222         [3262] = 21,
3223         [3264] = 22,
3224         [3266] = 23,
3225         [3268] = 24,
3226         [3270] = 25,
3227         [3272] = 26,
3228         [3282] = 5,
3229         [3286] = 6,
3230         [3290] = 7,
3231         [3328] = 0,
3232         [3329] = 1,
3233         [3330] = 2,
3234         [3332] = 3,
3235         [3334] = 4,
3236         [3368] = 8,
3237         [3370] = 9,
3238         [3372] = 10,
3239         [3374] = 11,
3240         [3376] = 12,
3241         [3378] = 13,
3242         [3380] = 14,
3243         [3382] = 15,
3244         [3402] = 16,
3245         [3404] = 17,
3246         [3406] = 18,
3247         [3408] = 19,
3248         [3410] = 5,
3249         [3414] = 6,
3250         [3418] = 7,
3251         [3456] = 0,
3252         [3457] = 1,
3253         [3458] = 2,
3254         [3460] = 3,
3255         [3462] = 4,
3256         [3476] = 8,
3257         [3478] = 9,
3258         [3480] = 10,
3259         [3482] = 11,
3260         [3484] = 12,
3261         [3486] = 13,
3262         [3488] = 14,
3263         [3490] = 15,
3264         [3492] = 16,
3265         [3494] = 17,
3266         [3530] = 18,
3267         [3532] = 19,
3268         [3534] = 20,
3269         [3536] = 21,
3270         [3538] = 5,
3271         [3542] = 6,
3272         [3546] = 7,
3273         [3584] = 0,
3274         [3585] = 1,
3275         [3586] = 2,
3276         [3588] = 3,
3277         [3590] = 4,
3278         [3604] = 5,
3279         [3606] = 6,
3280         [3608] = 7,
3281         [3610] = 8,
3282         [3612] = 9,
3283         [3614] = 10,
3284         [3616] = 11,
3285         [3618] = 12,
3286         [3620] = 13,
3287         [3622] = 14,
3288         [3658] = 15,
3289         [3660] = 16,
3290         [3662] = 17,
3291         [3664] = 18,
3292         [3678] = 19,
3293         [3679] = 20,
3294         [3680] = 21,
3295         [3681] = 22,
3296         [4096] = 0,
3297         [4097] = 1,
3298         [4098] = 2,
3299         [4100] = 3,
3300         [4102] = 4,
3301         [4116] = 5,
3302         [4118] = 6,
3303         [4120] = 7,
3304         [4122] = 8,
3305         [4124] = 9,
3306         [4126] = 10,
3307         [4128] = 11,
3308         [4130] = 12,
3309         [4132] = 13,
3310         [4134] = 14,
3311         [4170] = 15,
3312         [4172] = 16,
3313         [4174] = 17,
3314         [4176] = 18,
3315         [4190] = 19,
3316         [4191] = 20,
3317         [4192] = 21,
3318         [4193] = 22,
3319         [4224] = 0,
3320         [4225] = 1,
3321         [4227] = 20,
3322         [4229] = 21,
3323         [4231] = 22,
3324         [4244] = 2,
3325         [4245] = 23,
3326         [4246] = 3,
3327         [4247] = 24,
3328         [4248] = 4,
3329         [4249] = 25,
3330         [4250] = 5,
3331         [4251] = 26,
3332         [4252] = 6,
3333         [4253] = 27,
3334         [4254] = 7,
3335         [4255] = 28,
3336         [4256] = 8,
3337         [4257] = 29,
3338         [4258] = 9,
3339         [4259] = 30,
3340         [4260] = 10,
3341         [4261] = 31,
3342         [4262] = 11,
3343         [4263] = 32,
3344         [4298] = 12,
3345         [4300] = 13,
3346         [4302] = 14,
3347         [4304] = 15,
3348         [4318] = 16,
3349         [4319] = 17,
3350         [4320] = 18,
3351         [4321] = 19,
3352         [4352] = 0,
3353         [4353] = 1,
3354         [4355] = 20,
3355         [4357] = 21,
3356         [4359] = 22,
3357         [4372] = 2,
3358         [4373] = 23,
3359         [4374] = 3,
3360         [4375] = 24,
3361         [4376] = 4,
3362         [4377] = 25,
3363         [4378] = 5,
3364         [4379] = 26,
3365         [4380] = 6,
3366         [4381] = 27,
3367         [4382] = 7,
3368         [4383] = 28,
3369         [4384] = 8,
3370         [4385] = 29,
3371         [4386] = 9,
3372         [4387] = 30,
3373         [4388] = 10,
3374         [4389] = 31,
3375         [4390] = 11,
3376         [4391] = 32,
3377         [4409] = 33,
3378         [4411] = 34,
3379         [4413] = 35,
3380         [4415] = 36,
3381         [4417] = 37,
3382         [4419] = 38,
3383         [4421] = 39,
3384         [4423] = 40,
3385         [4425] = 41,
3386         [4426] = 12,
3387         [4428] = 13,
3388         [4430] = 14,
3389         [4432] = 15,
3390         [4446] = 16,
3391         [4447] = 17,
3392         [4448] = 18,
3393         [4449] = 19,
3394         [4480] = 0,
3395         [4481] = 1,
3396         [4483] = 20,
3397         [4485] = 21,
3398         [4487] = 22,
3399         [4500] = 2,
3400         [4501] = 23,
3401         [4502] = 3,
3402         [4503] = 24,
3403         [4504] = 4,
3404         [4505] = 25,
3405         [4506] = 5,
3406         [4507] = 26,
3407         [4508] = 6,
3408         [4509] = 27,
3409         [4510] = 7,
3410         [4511] = 28,
3411         [4512] = 8,
3412         [4513] = 29,
3413         [4514] = 9,
3414         [4515] = 30,
3415         [4516] = 10,
3416         [4517] = 31,
3417         [4518] = 11,
3418         [4519] = 32,
3419         [4554] = 12,
3420         [4555] = 33,
3421         [4556] = 13,
3422         [4557] = 34,
3423         [4558] = 14,
3424         [4559] = 35,
3425         [4560] = 15,
3426         [4561] = 36,
3427         [4574] = 16,
3428         [4575] = 17,
3429         [4576] = 18,
3430         [4577] = 19,
3431         [4608] = 0,
3432         [4609] = 1,
3433         [4611] = 20,
3434         [4613] = 21,
3435         [4615] = 22,
3436         [4619] = 33,
3437         [4621] = 34,
3438         [4623] = 35,
3439         [4625] = 36,
3440         [4627] = 37,
3441         [4628] = 2,
3442         [4629] = 23,
3443         [4630] = 3,
3444         [4631] = 24,
3445         [4632] = 4,
3446         [4633] = 25,
3447         [4634] = 5,
3448         [4635] = 26,
3449         [4636] = 6,
3450         [4637] = 27,
3451         [4638] = 7,
3452         [4639] = 28,
3453         [4640] = 8,
3454         [4641] = 29,
3455         [4642] = 9,
3456         [4643] = 30,
3457         [4644] = 10,
3458         [4645] = 31,
3459         [4646] = 11,
3460         [4647] = 32,
3461         [4682] = 12,
3462         [4684] = 13,
3463         [4686] = 14,
3464         [4688] = 15,
3465         [4702] = 16,
3466         [4703] = 17,
3467         [4704] = 18,
3468         [4705] = 19,
3469         [6144] = 0,
3470         [6145] = 1,
3471         [6146] = 2,
3472         [6148] = 3,
3473         [6150] = 4,
3474         [6184] = 5,
3475         [6186] = 6,
3476         [6188] = 7,
3477         [6190] = 8,
3478         [6192] = 9,
3479         [6194] = 10,
3480         [6196] = 11,
3481         [6198] = 12,
3482         [6272] = 0,
3483         [6273] = 1,
3484         [6274] = 2,
3485         [6276] = 3,
3486         [6278] = 4,
3487         [6292] = 5,
3488         [6294] = 6,
3489         [6296] = 7,
3490         [6298] = 8,
3491         [6300] = 9,
3492         [6302] = 10,
3493         [6304] = 11,
3494         [6306] = 12,
3495         [6308] = 13,
3496         [6310] = 14,
3497         [6400] = 0,
3498         [6401] = 1,
3499         [6402] = 2,
3500         [6404] = 3,
3501         [6406] = 4,
3502         [6440] = 8,
3503         [6442] = 9,
3504         [6444] = 10,
3505         [6446] = 11,
3506         [6448] = 12,
3507         [6450] = 13,
3508         [6452] = 14,
3509         [6454] = 15,
3510         [6482] = 5,
3511         [6486] = 6,
3512         [6490] = 7,
3513         [6528] = 0,
3514         [6529] = 1,
3515         [6530] = 2,
3516         [6532] = 3,
3517         [6534] = 4,
3518         [6548] = 8,
3519         [6550] = 9,
3520         [6552] = 10,
3521         [6554] = 11,
3522         [6556] = 12,
3523         [6558] = 13,
3524         [6560] = 14,
3525         [6562] = 15,
3526         [6564] = 16,
3527         [6566] = 17,
3528         [6610] = 5,
3529         [6614] = 6,
3530         [6618] = 7,
3531         [6656] = 0,
3532         [6657] = 1,
3533         [6658] = 2,
3534         [6660] = 3,
3535         [6662] = 4,
3536         [6696] = 5,
3537         [6698] = 6,
3538         [6700] = 7,
3539         [6702] = 8,
3540         [6704] = 9,
3541         [6706] = 10,
3542         [6708] = 11,
3543         [6710] = 12,
3544         [6712] = 13,
3545         [6714] = 14,
3546         [6716] = 15,
3547         [6718] = 16,
3548         [6720] = 17,
3549         [6722] = 18,
3550         [6724] = 19,
3551         [6726] = 20,
3552         [6728] = 21,
3553         [6784] = 0,
3554         [6785] = 1,
3555         [6786] = 2,
3556         [6788] = 3,
3557         [6790] = 4,
3558         [6804] = 5,
3559         [6806] = 6,
3560         [6808] = 7,
3561         [6810] = 8,
3562         [6812] = 9,
3563         [6814] = 10,
3564         [6816] = 11,
3565         [6818] = 12,
3566         [6820] = 13,
3567         [6822] = 14,
3568         [6840] = 15,
3569         [6842] = 16,
3570         [6844] = 17,
3571         [6846] = 18,
3572         [6848] = 19,
3573         [6850] = 20,
3574         [6852] = 21,
3575         [6854] = 22,
3576         [6856] = 23,
3577         [6912] = 0,
3578         [6913] = 1,
3579         [6914] = 2,
3580         [6916] = 3,
3581         [6918] = 4,
3582         [6952] = 5,
3583         [6954] = 6,
3584         [6956] = 7,
3585         [6958] = 8,
3586         [6960] = 9,
3587         [6962] = 10,
3588         [6964] = 11,
3589         [6966] = 12,
3590         [6986] = 13,
3591         [6988] = 14,
3592         [6990] = 15,
3593         [6992] = 16,
3594         [7040] = 0,
3595         [7041] = 1,
3596         [7042] = 2,
3597         [7044] = 3,
3598         [7046] = 4,
3599         [7060] = 5,
3600         [7062] = 6,
3601         [7064] = 7,
3602         [7066] = 8,
3603         [7068] = 9,
3604         [7070] = 10,
3605         [7072] = 11,
3606         [7074] = 12,
3607         [7076] = 13,
3608         [7078] = 14,
3609         [7114] = 15,
3610         [7116] = 16,
3611         [7118] = 17,
3612         [7120] = 18,
3613         [7168] = 0,
3614         [7169] = 1,
3615         [7170] = 2,
3616         [7172] = 3,
3617         [7174] = 4,
3618         [7208] = 8,
3619         [7210] = 9,
3620         [7212] = 10,
3621         [7214] = 11,
3622         [7216] = 12,
3623         [7218] = 13,
3624         [7220] = 14,
3625         [7222] = 15,
3626         [7224] = 16,
3627         [7226] = 17,
3628         [7228] = 18,
3629         [7230] = 19,
3630         [7232] = 20,
3631         [7234] = 21,
3632         [7236] = 22,
3633         [7238] = 23,
3634         [7240] = 24,
3635         [7250] = 5,
3636         [7254] = 6,
3637         [7258] = 7,
3638         [7296] = 0,
3639         [7297] = 1,
3640         [7298] = 2,
3641         [7300] = 3,
3642         [7302] = 4,
3643         [7316] = 8,
3644         [7318] = 9,
3645         [7320] = 10,
3646         [7322] = 11,
3647         [7324] = 12,
3648         [7326] = 13,
3649         [7328] = 14,
3650         [7330] = 15,
3651         [7332] = 16,
3652         [7334] = 17,
3653         [7352] = 18,
3654         [7354] = 19,
3655         [7356] = 20,
3656         [7358] = 21,
3657         [7360] = 22,
3658         [7362] = 23,
3659         [7364] = 24,
3660         [7366] = 25,
3661         [7368] = 26,
3662         [7378] = 5,
3663         [7382] = 6,
3664         [7386] = 7,
3665         [7424] = 0,
3666         [7425] = 1,
3667         [7426] = 2,
3668         [7428] = 3,
3669         [7430] = 4,
3670         [7464] = 8,
3671         [7466] = 9,
3672         [7468] = 10,
3673         [7470] = 11,
3674         [7472] = 12,
3675         [7474] = 13,
3676         [7476] = 14,
3677         [7478] = 15,
3678         [7498] = 16,
3679         [7500] = 17,
3680         [7502] = 18,
3681         [7504] = 19,
3682         [7506] = 5,
3683         [7510] = 6,
3684         [7514] = 7,
3685         [7552] = 0,
3686         [7553] = 1,
3687         [7554] = 2,
3688         [7556] = 3,
3689         [7558] = 4,
3690         [7572] = 8,
3691         [7574] = 9,
3692         [7576] = 10,
3693         [7578] = 11,
3694         [7580] = 12,
3695         [7582] = 13,
3696         [7584] = 14,
3697         [7586] = 15,
3698         [7588] = 16,
3699         [7590] = 17,
3700         [7626] = 18,
3701         [7628] = 19,
3702         [7630] = 20,
3703         [7632] = 21,
3704         [7634] = 5,
3705         [7638] = 6,
3706         [7642] = 7
3707 };
3708