net/bnxt: support clear on read
[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 Aug 26 17:43:36 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         [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SOURCE_PROPERTY_CACHE << 1 |
136                 BNXT_ULP_DIRECTION_INGRESS] = {
137         .name                    = "INGRESS GEN_TABLE_SOURCE_PROPERTY_CACHE",
138         .result_num_entries      = 0,
139         .result_num_bytes        = 6,
140         .key_num_bytes           = 10,
141         .num_buckets             = 4,
142         .hash_tbl_entries        = 0,
143         .result_byte_order       = BNXT_ULP_BYTE_ORDER_LE
144         },
145         [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SOURCE_PROPERTY_CACHE << 1 |
146                                 BNXT_ULP_DIRECTION_EGRESS] = {
147         .name                    = "INGRESS GEN_TABLE_SOURCE_PROPERTY_CACHE",
148         .result_num_entries      = 128,
149         .result_num_bytes        = 6,
150         .key_num_bytes           = 10,
151         .num_buckets             = 4,
152         .hash_tbl_entries        = 512,
153         .result_byte_order       = BNXT_ULP_BYTE_ORDER_LE
154         },
155         [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_VXLAN_ENCAP_REC_CACHE << 1 |
156                 BNXT_ULP_DIRECTION_INGRESS] = {
157         .name                    = "INGRESS GEN_TABLE_VXLAN_ENCAP_REC_CACHE",
158         .result_num_entries      = 0,
159         .result_num_bytes        = 6,
160         .key_num_bytes           = 17,
161         .num_buckets             = 8,
162         .hash_tbl_entries        = 0,
163         .result_byte_order       = BNXT_ULP_BYTE_ORDER_LE
164         },
165         [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_VXLAN_ENCAP_REC_CACHE << 1 |
166                 BNXT_ULP_DIRECTION_EGRESS] = {
167         .name                    = "INGRESS GEN_TABLE_VXLAN_ENCAP_REC_CACHE",
168         .result_num_entries      = 256,
169         .result_num_bytes        = 6,
170         .key_num_bytes           = 17,
171         .num_buckets             = 8,
172         .hash_tbl_entries        = 1024,
173         .result_byte_order       = BNXT_ULP_BYTE_ORDER_LE
174         }
175 };
176
177 /* device tables */
178 const struct bnxt_ulp_template_device_tbls ulp_template_wh_plus_tbls[] = {
179         [BNXT_ULP_TEMPLATE_TYPE_CLASS] = {
180         .tmpl_list               = ulp_wh_plus_class_tmpl_list,
181         .tmpl_list_size          = ULP_WH_PLUS_CLASS_TMPL_LIST_SIZE,
182         .tbl_list                = ulp_wh_plus_class_tbl_list,
183         .tbl_list_size           = ULP_WH_PLUS_CLASS_TBL_LIST_SIZE,
184         .key_info_list           = ulp_wh_plus_class_key_info_list,
185         .key_info_list_size      = ULP_WH_PLUS_CLASS_KEY_INFO_LIST_SIZE,
186         .ident_list              = ulp_wh_plus_class_ident_list,
187         .ident_list_size         = ULP_WH_PLUS_CLASS_IDENT_LIST_SIZE,
188         .cond_list               = ulp_wh_plus_class_cond_list,
189         .cond_list_size          = ULP_WH_PLUS_CLASS_COND_LIST_SIZE,
190         .result_field_list       = ulp_wh_plus_class_result_field_list,
191         .result_field_list_size  = ULP_WH_PLUS_CLASS_RESULT_FIELD_LIST_SIZE
192         },
193         [BNXT_ULP_TEMPLATE_TYPE_ACTION] = {
194         .tmpl_list               = ulp_wh_plus_act_tmpl_list,
195         .tmpl_list_size          = ULP_WH_PLUS_ACT_TMPL_LIST_SIZE,
196         .tbl_list                = ulp_wh_plus_act_tbl_list,
197         .tbl_list_size           = ULP_WH_PLUS_ACT_TBL_LIST_SIZE,
198         .key_info_list           = ulp_wh_plus_act_key_info_list,
199         .key_info_list_size      = ULP_WH_PLUS_ACT_KEY_INFO_LIST_SIZE,
200         .ident_list              = ulp_wh_plus_act_ident_list,
201         .ident_list_size         = ULP_WH_PLUS_ACT_IDENT_LIST_SIZE,
202         .cond_list               = ulp_wh_plus_act_cond_list,
203         .cond_list_size          = ULP_WH_PLUS_ACT_COND_LIST_SIZE,
204         .result_field_list       = ulp_wh_plus_act_result_field_list,
205         .result_field_list_size  = ULP_WH_PLUS_ACT_RESULT_FIELD_LIST_SIZE
206         }
207 };
208
209 /* device tables */
210 const struct bnxt_ulp_template_device_tbls ulp_template_thor_tbls[] = {
211         [BNXT_ULP_TEMPLATE_TYPE_CLASS] = {
212         .tmpl_list               = ulp_thor_class_tmpl_list,
213         .tmpl_list_size          = ULP_THOR_CLASS_TMPL_LIST_SIZE,
214         .tbl_list                = ulp_thor_class_tbl_list,
215         .tbl_list_size           = ULP_THOR_CLASS_TBL_LIST_SIZE,
216         .key_info_list           = ulp_thor_class_key_info_list,
217         .key_info_list_size      = ULP_THOR_CLASS_KEY_INFO_LIST_SIZE,
218         .ident_list              = ulp_thor_class_ident_list,
219         .ident_list_size         = ULP_THOR_CLASS_IDENT_LIST_SIZE,
220         .cond_list               = ulp_thor_class_cond_list,
221         .cond_list_size          = ULP_THOR_CLASS_COND_LIST_SIZE,
222         .result_field_list       = ulp_thor_class_result_field_list,
223         .result_field_list_size  = ULP_THOR_CLASS_RESULT_FIELD_LIST_SIZE
224         },
225         [BNXT_ULP_TEMPLATE_TYPE_ACTION] = {
226         .tmpl_list               = ulp_thor_act_tmpl_list,
227         .tmpl_list_size          = ULP_THOR_ACT_TMPL_LIST_SIZE,
228         .tbl_list                = ulp_thor_act_tbl_list,
229         .tbl_list_size           = ULP_THOR_ACT_TBL_LIST_SIZE,
230         .key_info_list           = ulp_thor_act_key_info_list,
231         .key_info_list_size      = ULP_THOR_ACT_KEY_INFO_LIST_SIZE,
232         .ident_list              = ulp_thor_act_ident_list,
233         .ident_list_size         = ULP_THOR_ACT_IDENT_LIST_SIZE,
234         .cond_list               = ulp_thor_act_cond_list,
235         .cond_list_size          = ULP_THOR_ACT_COND_LIST_SIZE,
236         .result_field_list       = ulp_thor_act_result_field_list,
237         .result_field_list_size  = ULP_THOR_ACT_RESULT_FIELD_LIST_SIZE
238         }
239 };
240
241 /* List of device specific parameters */
242 struct bnxt_ulp_device_params ulp_device_params[BNXT_ULP_DEVICE_ID_LAST] = {
243         [BNXT_ULP_DEVICE_ID_WH_PLUS] = {
244         .description             = "Whitney_Plus",
245         .key_byte_order          = BNXT_ULP_BYTE_ORDER_LE,
246         .result_byte_order       = BNXT_ULP_BYTE_ORDER_LE,
247         .encap_byte_order        = BNXT_ULP_BYTE_ORDER_BE,
248         .wc_key_byte_order       = BNXT_ULP_BYTE_ORDER_BE,
249         .em_byte_order           = BNXT_ULP_BYTE_ORDER_LE,
250         .encap_byte_swap         = 1,
251         .int_flow_db_num_entries = 16384,
252         .ext_flow_db_num_entries = 32768,
253         .mark_db_lfid_entries    = 65536,
254         .mark_db_gfid_entries    = 65536,
255         .flow_count_db_entries   = 16384,
256         .fdb_parent_flow_entries = 2,
257         .num_resources_per_flow  = 8,
258         .num_phy_ports           = 2,
259         .ext_cntr_table_type     = 0,
260         .byte_count_mask         = 0x0000000fffffffff,
261         .packet_count_mask       = 0xfffffff000000000,
262         .byte_count_shift        = 0,
263         .packet_count_shift      = 36,
264         .dynamic_pad_en          = 0,
265         .dynamic_sram_en         = 0,
266         .dev_tbls                = ulp_template_wh_plus_tbls
267         },
268         [BNXT_ULP_DEVICE_ID_THOR] = {
269         .description             = "Thor",
270         .key_byte_order          = BNXT_ULP_BYTE_ORDER_LE,
271         .result_byte_order       = BNXT_ULP_BYTE_ORDER_LE,
272         .encap_byte_order        = BNXT_ULP_BYTE_ORDER_BE,
273         .wc_key_byte_order       = BNXT_ULP_BYTE_ORDER_BE,
274         .em_byte_order           = BNXT_ULP_BYTE_ORDER_BE,
275         .encap_byte_swap         = 1,
276         .int_flow_db_num_entries = 16384,
277         .ext_flow_db_num_entries = 32768,
278         .mark_db_lfid_entries    = 65536,
279         .mark_db_gfid_entries    = 65536,
280         .flow_count_db_entries   = 16384,
281         .fdb_parent_flow_entries = 2,
282         .num_resources_per_flow  = 8,
283         .num_phy_ports           = 2,
284         .ext_cntr_table_type     = 0,
285         .byte_count_mask         = 0x00000007ffffffff,
286         .packet_count_mask       = 0xfffffff800000000,
287         .byte_count_shift        = 0,
288         .packet_count_shift      = 35,
289         .dynamic_pad_en          = 1,
290         .dynamic_sram_en         = 1,
291         .dyn_encap_list_size     = 4,
292         .dyn_encap_sizes         = {{64, TF_TBL_TYPE_ACT_ENCAP_8B},
293                                         {128, TF_TBL_TYPE_ACT_ENCAP_16B},
294                                         {256, TF_TBL_TYPE_ACT_ENCAP_32B},
295                                         {512, TF_TBL_TYPE_ACT_ENCAP_64B}},
296         .dyn_modify_list_size    = 4,
297         .dyn_modify_sizes        = {{64, TF_TBL_TYPE_ACT_MODIFY_8B},
298                                         {128, TF_TBL_TYPE_ACT_MODIFY_16B},
299                                         {256, TF_TBL_TYPE_ACT_MODIFY_32B},
300                                         {512, TF_TBL_TYPE_ACT_MODIFY_64B}},
301         .em_blk_size_bits        = 100,
302         .em_blk_align_bits       = 128,
303         .em_key_align_bytes      = 80,
304         .wc_slice_width          = 160,
305         .wc_max_slices           = 4,
306         .wc_mode_list            = {0x0000000c, 0x0000000e,
307                                         0x0000000f, 0x0000000f},
308         .wc_mod_list_max_size    = 4,
309         .wc_ctl_size_bits        = 32,
310         .dev_tbls                = ulp_template_thor_tbls
311         }
312 };
313
314 /* Provides act_bitmask */
315 struct bnxt_ulp_shared_act_info ulp_shared_act_info[] = {
316         [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR << 1 |
317                 BNXT_ULP_DIRECTION_INGRESS] = {
318         .act_bitmask             = BNXT_ULP_ACT_BIT_SHARED_SAMPLE
319         },
320         [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR << 1 |
321                 BNXT_ULP_DIRECTION_EGRESS] = {
322         .act_bitmask             = BNXT_ULP_ACT_BIT_SHARED_SAMPLE
323         }
324 };
325
326 /* List of device specific parameters */
327 struct bnxt_ulp_app_capabilities_info ulp_app_cap_info_list[] = {
328         {
329         .app_id                  = 0,
330         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
331         .flags                   = 0
332         },
333         {
334         .app_id                  = 0,
335         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
336         .flags                   = 0
337         },
338         {
339         .app_id                  = 1,
340         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
341         .flags                   = BNXT_ULP_APP_CAP_SHARED_EN |
342                                    BNXT_ULP_APP_CAP_HOT_UPGRADE_EN |
343                                    BNXT_ULP_APP_CAP_UNICAST_ONLY
344         },
345         {
346         .app_id                  = 1,
347         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
348         .flags                   = BNXT_ULP_APP_CAP_SHARED_EN |
349                                    BNXT_ULP_APP_CAP_HOT_UPGRADE_EN |
350                                    BNXT_ULP_APP_CAP_UNICAST_ONLY
351         },
352         {
353         .app_id                  = 2,
354         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
355         .flags                   = BNXT_ULP_APP_CAP_SHARED_EN |
356                                    BNXT_ULP_APP_CAP_UNICAST_ONLY
357         },
358         {
359         .app_id                  = 2,
360         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
361         .flags                   = BNXT_ULP_APP_CAP_SHARED_EN |
362                                    BNXT_ULP_APP_CAP_UNICAST_ONLY
363         },
364         {
365         .app_id                  = 3,
366         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
367         .flags                   = BNXT_ULP_APP_CAP_UNICAST_ONLY
368         },
369         {
370         .app_id                  = 3,
371         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
372         .flags                   = BNXT_ULP_APP_CAP_UNICAST_ONLY
373         }
374 };
375
376 /* List of unnamed app tf resources required to be reserved per app/device */
377 struct bnxt_ulp_resource_resv_info ulp_app_resource_resv_list[] = {
378         {
379         .app_id                  = 1,
380         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
381         .direction               = TF_DIR_RX,
382         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
383         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
384         .count                   = 2
385         },
386         {
387         .app_id                  = 1,
388         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
389         .direction               = TF_DIR_RX,
390         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
391         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
392         .count                   = 128
393         },
394         {
395         .app_id                  = 1,
396         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
397         .direction               = TF_DIR_RX,
398         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
399         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
400         .count                   = 2
401         },
402         {
403         .app_id                  = 1,
404         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
405         .direction               = TF_DIR_RX,
406         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
407         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
408         .count                   = 1024
409         },
410         {
411         .app_id                  = 2,
412         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
413         .direction               = TF_DIR_RX,
414         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
415         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
416         .count                   = 2
417         },
418         {
419         .app_id                  = 2,
420         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
421         .direction               = TF_DIR_RX,
422         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
423         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
424         .count                   = 128
425         },
426         {
427         .app_id                  = 2,
428         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
429         .direction               = TF_DIR_RX,
430         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
431         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
432         .count                   = 2
433         },
434         {
435         .app_id                  = 2,
436         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
437         .direction               = TF_DIR_RX,
438         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
439         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
440         .count                   = 1024
441         }
442 };
443
444 /* List of global app tf resources required to be reserved per app/device */
445 struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = {
446         {
447         .app_id                  = 1,
448         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
449         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
450         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
451         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0,
452         .direction               = TF_DIR_RX
453         },
454         {
455         .app_id                  = 1,
456         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
457         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
458         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
459         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_1,
460         .direction               = TF_DIR_RX
461         },
462         {
463         .app_id                  = 1,
464         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
465         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
466         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
467         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_2,
468         .direction               = TF_DIR_RX
469         },
470         {
471         .app_id                  = 1,
472         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
473         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
474         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
475         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0,
476         .direction               = TF_DIR_RX
477         },
478         {
479         .app_id                  = 1,
480         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
481         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
482         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
483         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1,
484         .direction               = TF_DIR_RX
485         },
486         {
487         .app_id                  = 1,
488         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
489         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
490         .resource_type           = TF_IDENT_TYPE_EM_PROF,
491         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
492         .direction               = TF_DIR_RX
493         },
494         {
495         .app_id                  = 1,
496         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
497         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
498         .resource_type           = TF_IDENT_TYPE_WC_PROF,
499         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
500         .direction               = TF_DIR_RX
501         },
502         {
503         .app_id                  = 1,
504         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
505         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
506         .resource_type           = TF_IDENT_TYPE_WC_PROF,
507         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1,
508         .direction               = TF_DIR_RX
509         },
510         {
511         .app_id                  = 1,
512         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
513         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
514         .resource_type           = TF_IDENT_TYPE_WC_PROF,
515         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_2,
516         .direction               = TF_DIR_RX
517         },
518         {
519         .app_id                  = 1,
520         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
521         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
522         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
523         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_0,
524         .direction               = TF_DIR_RX
525         },
526         {
527         .app_id                  = 1,
528         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
529         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
530         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
531         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_1,
532         .direction               = TF_DIR_RX
533         },
534         {
535         .app_id                  = 1,
536         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
537         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
538         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
539         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0,
540         .direction               = TF_DIR_RX
541         },
542         {
543         .app_id                  = 1,
544         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
545         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
546         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
547         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_1,
548         .direction               = TF_DIR_RX
549         },
550         {
551         .app_id                  = 1,
552         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
553         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
554         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
555         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_2,
556         .direction               = TF_DIR_RX
557         },
558         {
559         .app_id                  = 1,
560         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
561         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
562         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
563         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0,
564         .direction               = TF_DIR_RX
565         },
566         {
567         .app_id                  = 1,
568         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
569         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
570         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
571         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1,
572         .direction               = TF_DIR_RX
573         },
574         {
575         .app_id                  = 1,
576         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
577         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
578         .resource_type           = TF_IDENT_TYPE_EM_PROF,
579         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
580         .direction               = TF_DIR_RX
581         },
582         {
583         .app_id                  = 1,
584         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
585         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
586         .resource_type           = TF_IDENT_TYPE_WC_PROF,
587         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
588         .direction               = TF_DIR_RX
589         },
590         {
591         .app_id                  = 1,
592         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
593         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
594         .resource_type           = TF_IDENT_TYPE_WC_PROF,
595         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1,
596         .direction               = TF_DIR_RX
597         },
598         {
599         .app_id                  = 1,
600         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
601         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
602         .resource_type           = TF_IDENT_TYPE_WC_PROF,
603         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_2,
604         .direction               = TF_DIR_RX
605         },
606         {
607         .app_id                  = 1,
608         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
609         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
610         .resource_type           = TF_TBL_TYPE_EM_FKB,
611         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_KEY_ID_0,
612         .direction               = TF_DIR_RX
613         },
614         {
615         .app_id                  = 1,
616         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
617         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
618         .resource_type           = TF_TBL_TYPE_WC_FKB,
619         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
620         .direction               = TF_DIR_RX
621         },
622         {
623         .app_id                  = 1,
624         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
625         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
626         .resource_type           = TF_TBL_TYPE_WC_FKB,
627         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_1,
628         .direction               = TF_DIR_RX
629         },
630         {
631         .app_id                  = 1,
632         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
633         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
634         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
635         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_0,
636         .direction               = TF_DIR_RX
637         },
638         {
639         .app_id                  = 1,
640         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
641         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
642         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
643         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_1,
644         .direction               = TF_DIR_RX
645         },
646         {
647         .app_id                  = 2,
648         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
649         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
650         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
651         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0,
652         .direction               = TF_DIR_RX
653         },
654         {
655         .app_id                  = 2,
656         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
657         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
658         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
659         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_1,
660         .direction               = TF_DIR_RX
661         },
662         {
663         .app_id                  = 2,
664         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
665         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
666         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
667         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_2,
668         .direction               = TF_DIR_RX
669         },
670         {
671         .app_id                  = 2,
672         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
673         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
674         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
675         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0,
676         .direction               = TF_DIR_RX
677         },
678         {
679         .app_id                  = 2,
680         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
681         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
682         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
683         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1,
684         .direction               = TF_DIR_RX
685         },
686         {
687         .app_id                  = 2,
688         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
689         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
690         .resource_type           = TF_IDENT_TYPE_EM_PROF,
691         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
692         .direction               = TF_DIR_RX
693         },
694         {
695         .app_id                  = 2,
696         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
697         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
698         .resource_type           = TF_IDENT_TYPE_WC_PROF,
699         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
700         .direction               = TF_DIR_RX
701         },
702         {
703         .app_id                  = 2,
704         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
705         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
706         .resource_type           = TF_IDENT_TYPE_WC_PROF,
707         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1,
708         .direction               = TF_DIR_RX
709         },
710         {
711         .app_id                  = 2,
712         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
713         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
714         .resource_type           = TF_IDENT_TYPE_WC_PROF,
715         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_2,
716         .direction               = TF_DIR_RX
717         },
718         {
719         .app_id                  = 2,
720         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
721         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
722         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
723         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_0,
724         .direction               = TF_DIR_RX
725         },
726         {
727         .app_id                  = 2,
728         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
729         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
730         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
731         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_1,
732         .direction               = TF_DIR_RX
733         },
734         {
735         .app_id                  = 2,
736         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
737         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
738         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
739         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0,
740         .direction               = TF_DIR_RX
741         },
742         {
743         .app_id                  = 2,
744         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
745         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
746         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
747         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_1,
748         .direction               = TF_DIR_RX
749         },
750         {
751         .app_id                  = 2,
752         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
753         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
754         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
755         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_2,
756         .direction               = TF_DIR_RX
757         },
758         {
759         .app_id                  = 2,
760         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
761         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
762         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
763         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0,
764         .direction               = TF_DIR_RX
765         },
766         {
767         .app_id                  = 2,
768         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
769         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
770         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
771         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1,
772         .direction               = TF_DIR_RX
773         },
774         {
775         .app_id                  = 2,
776         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
777         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
778         .resource_type           = TF_IDENT_TYPE_EM_PROF,
779         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
780         .direction               = TF_DIR_RX
781         },
782         {
783         .app_id                  = 2,
784         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
785         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
786         .resource_type           = TF_IDENT_TYPE_WC_PROF,
787         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
788         .direction               = TF_DIR_RX
789         },
790         {
791         .app_id                  = 2,
792         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
793         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
794         .resource_type           = TF_IDENT_TYPE_WC_PROF,
795         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1,
796         .direction               = TF_DIR_RX
797         },
798         {
799         .app_id                  = 2,
800         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
801         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
802         .resource_type           = TF_IDENT_TYPE_WC_PROF,
803         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_2,
804         .direction               = TF_DIR_RX
805         },
806         {
807         .app_id                  = 2,
808         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
809         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
810         .resource_type           = TF_TBL_TYPE_EM_FKB,
811         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_KEY_ID_0,
812         .direction               = TF_DIR_RX
813         },
814         {
815         .app_id                  = 2,
816         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
817         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
818         .resource_type           = TF_TBL_TYPE_WC_FKB,
819         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
820         .direction               = TF_DIR_RX
821         },
822         {
823         .app_id                  = 2,
824         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
825         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
826         .resource_type           = TF_TBL_TYPE_WC_FKB,
827         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_1,
828         .direction               = TF_DIR_RX
829         },
830         {
831         .app_id                  = 2,
832         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
833         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
834         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
835         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_0,
836         .direction               = TF_DIR_RX
837         },
838         {
839         .app_id                  = 2,
840         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
841         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
842         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
843         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_1,
844         .direction               = TF_DIR_RX
845         }
846 };
847
848 /* List of global tf resources required to be reserved per app/device */
849 struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
850         {
851         .app_id                  = 0,
852         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
853         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
854         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
855         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
856         .direction               = TF_DIR_RX
857         },
858         {
859         .app_id                  = 0,
860         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
861         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
862         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
863         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
864         .direction               = TF_DIR_TX
865         },
866         {
867         .app_id                  = 0,
868         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
869         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
870         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
871         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
872         .direction               = TF_DIR_TX
873         },
874         {
875         .app_id                  = 0,
876         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
877         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
878         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
879         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
880         .direction               = TF_DIR_RX
881         },
882         {
883         .app_id                  = 0,
884         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
885         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
886         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
887         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
888         .direction               = TF_DIR_TX
889         },
890         {
891         .app_id                  = 0,
892         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
893         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
894         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
895         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID,
896         .direction               = TF_DIR_RX
897         },
898         {
899         .app_id                  = 0,
900         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
901         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
902         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
903         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
904         .direction               = TF_DIR_RX
905         },
906         {
907         .app_id                  = 0,
908         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
909         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
910         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
911         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
912         .direction               = TF_DIR_TX
913         },
914         {
915         .app_id                  = 0,
916         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
917         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
918         .resource_type           = TF_IDENT_TYPE_EM_PROF,
919         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_EM_PROFILE_ID_0,
920         .direction               = TF_DIR_RX
921         },
922         {
923         .app_id                  = 0,
924         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
925         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
926         .resource_type           = TF_IDENT_TYPE_WC_PROF,
927         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_0,
928         .direction               = TF_DIR_RX
929         },
930         {
931         .app_id                  = 0,
932         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
933         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
934         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
935         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
936         .direction               = TF_DIR_RX
937         },
938         {
939         .app_id                  = 0,
940         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
941         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
942         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
943         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
944         .direction               = TF_DIR_TX
945         },
946         {
947         .app_id                  = 0,
948         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
949         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
950         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
951         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
952         .direction               = TF_DIR_TX
953         },
954         {
955         .app_id                  = 0,
956         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
957         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
958         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
959         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
960         .direction               = TF_DIR_RX
961         },
962         {
963         .app_id                  = 0,
964         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
965         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
966         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
967         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
968         .direction               = TF_DIR_TX
969         },
970         {
971         .app_id                  = 0,
972         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
973         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
974         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
975         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID,
976         .direction               = TF_DIR_RX
977         },
978         {
979         .app_id                  = 0,
980         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
981         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
982         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
983         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GRE_PROF_FUNC_ID,
984         .direction               = TF_DIR_RX
985         },
986         {
987         .app_id                  = 0,
988         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
989         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
990         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
991         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
992         .direction               = TF_DIR_RX
993         },
994         {
995         .app_id                  = 0,
996         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
997         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
998         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
999         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
1000         .direction               = TF_DIR_TX
1001         },
1002         {
1003         .app_id                  = 0,
1004         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1005         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1006         .resource_type           = TF_IDENT_TYPE_EM_PROF,
1007         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_EM_PROFILE_ID_0,
1008         .direction               = TF_DIR_RX
1009         },
1010         {
1011         .app_id                  = 0,
1012         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1013         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1014         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1015         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_0,
1016         .direction               = TF_DIR_RX
1017         },
1018         {
1019         .app_id                  = 0,
1020         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1021         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1022         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1023         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_1,
1024         .direction               = TF_DIR_RX
1025         },
1026         {
1027         .app_id                  = 0,
1028         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1029         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1030         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1031         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_2,
1032         .direction               = TF_DIR_RX
1033         },
1034         {
1035         .app_id                  = 0,
1036         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1037         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1038         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1039         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_3,
1040         .direction               = TF_DIR_RX
1041         },
1042         {
1043         .app_id                  = 0,
1044         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1045         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1046         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1047         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_4,
1048         .direction               = TF_DIR_RX
1049         },
1050         {
1051         .app_id                  = 0,
1052         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1053         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1054         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1055         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_5,
1056         .direction               = TF_DIR_RX
1057         },
1058         {
1059         .app_id                  = 0,
1060         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1061         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1062         .resource_type           = TF_TBL_TYPE_WC_FKB,
1063         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_0,
1064         .direction               = TF_DIR_RX
1065         },
1066         {
1067         .app_id                  = 0,
1068         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1069         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1070         .resource_type           = TF_TBL_TYPE_WC_FKB,
1071         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_1,
1072         .direction               = TF_DIR_RX
1073         },
1074         {
1075         .app_id                  = 0,
1076         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1077         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1078         .resource_type           = TF_TBL_TYPE_WC_FKB,
1079         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_2,
1080         .direction               = TF_DIR_RX
1081         },
1082         {
1083         .app_id                  = 0,
1084         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1085         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1086         .resource_type           = TF_TBL_TYPE_WC_FKB,
1087         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_3,
1088         .direction               = TF_DIR_RX
1089         },
1090         {
1091         .app_id                  = 0,
1092         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1093         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1094         .resource_type           = TF_TBL_TYPE_WC_FKB,
1095         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_4,
1096         .direction               = TF_DIR_RX
1097         },
1098         {
1099         .app_id                  = 0,
1100         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1101         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1102         .resource_type           = TF_TBL_TYPE_WC_FKB,
1103         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_0,
1104         .direction               = TF_DIR_TX
1105         },
1106         {
1107         .app_id                  = 0,
1108         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1109         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1110         .resource_type           = TF_TBL_TYPE_WC_FKB,
1111         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_1,
1112         .direction               = TF_DIR_TX
1113         },
1114         {
1115         .app_id                  = 0,
1116         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1117         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1118         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1119         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_0,
1120         .direction               = TF_DIR_TX
1121         },
1122         {
1123         .app_id                  = 0,
1124         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1125         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1126         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1127         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_1,
1128         .direction               = TF_DIR_TX
1129         },
1130         {
1131         .app_id                  = 0,
1132         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1133         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1134         .resource_type           = TF_TBL_TYPE_WC_FKB,
1135         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_1,
1136         .direction               = TF_DIR_TX
1137         },
1138         {
1139         .app_id                  = 0,
1140         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1141         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1142         .resource_type           = TF_TBL_TYPE_METADATA,
1143         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_PROF_0,
1144         .direction               = TF_DIR_TX
1145         },
1146         {
1147         .app_id                  = 0,
1148         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1149         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1150         .resource_type           = TF_IDENT_TYPE_EM_PROF,
1151         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_PROF_ID_0,
1152         .direction               = TF_DIR_RX
1153         },
1154         {
1155         .app_id                  = 0,
1156         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1157         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1158         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1159         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_VFR_PROF_FUNC_0,
1160         .direction               = TF_DIR_RX
1161         },
1162         {
1163         .app_id                  = 0,
1164         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1165         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1166         .resource_type           = TF_TBL_TYPE_EM_FKB,
1167         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_KEY_ID_0,
1168         .direction               = TF_DIR_RX
1169         },
1170         {
1171         .app_id                  = 1,
1172         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1173         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1174         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1175         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
1176         .direction               = TF_DIR_RX
1177         },
1178         {
1179         .app_id                  = 1,
1180         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1181         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1182         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1183         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
1184         .direction               = TF_DIR_TX
1185         },
1186         {
1187         .app_id                  = 1,
1188         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1189         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1190         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
1191         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
1192         .direction               = TF_DIR_TX
1193         },
1194         {
1195         .app_id                  = 1,
1196         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1197         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1198         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1199         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
1200         .direction               = TF_DIR_RX
1201         },
1202         {
1203         .app_id                  = 1,
1204         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1205         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1206         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1207         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
1208         .direction               = TF_DIR_TX
1209         },
1210         {
1211         .app_id                  = 1,
1212         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1213         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1214         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1215         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID,
1216         .direction               = TF_DIR_RX
1217         },
1218         {
1219         .app_id                  = 1,
1220         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1221         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1222         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
1223         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
1224         .direction               = TF_DIR_RX
1225         },
1226         {
1227         .app_id                  = 1,
1228         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1229         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1230         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
1231         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
1232         .direction               = TF_DIR_TX
1233         },
1234         {
1235         .app_id                  = 1,
1236         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1237         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1238         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1239         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
1240         .direction               = TF_DIR_RX
1241         },
1242         {
1243         .app_id                  = 1,
1244         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1245         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1246         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1247         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
1248         .direction               = TF_DIR_TX
1249         },
1250         {
1251         .app_id                  = 1,
1252         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1253         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1254         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
1255         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
1256         .direction               = TF_DIR_TX
1257         },
1258         {
1259         .app_id                  = 2,
1260         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1261         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1262         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1263         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
1264         .direction               = TF_DIR_RX
1265         },
1266         {
1267         .app_id                  = 2,
1268         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1269         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1270         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1271         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
1272         .direction               = TF_DIR_TX
1273         },
1274         {
1275         .app_id                  = 2,
1276         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1277         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1278         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
1279         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
1280         .direction               = TF_DIR_TX
1281         },
1282         {
1283         .app_id                  = 2,
1284         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1285         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1286         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1287         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
1288         .direction               = TF_DIR_RX
1289         },
1290         {
1291         .app_id                  = 2,
1292         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1293         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1294         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1295         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
1296         .direction               = TF_DIR_TX
1297         },
1298         {
1299         .app_id                  = 2,
1300         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1301         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1302         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1303         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID,
1304         .direction               = TF_DIR_RX
1305         },
1306         {
1307         .app_id                  = 2,
1308         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1309         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1310         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
1311         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
1312         .direction               = TF_DIR_RX
1313         },
1314         {
1315         .app_id                  = 2,
1316         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1317         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1318         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
1319         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
1320         .direction               = TF_DIR_TX
1321         },
1322         {
1323         .app_id                  = 2,
1324         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1325         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1326         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1327         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
1328         .direction               = TF_DIR_RX
1329         },
1330         {
1331         .app_id                  = 2,
1332         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1333         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1334         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1335         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
1336         .direction               = TF_DIR_TX
1337         },
1338         {
1339         .app_id                  = 2,
1340         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1341         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1342         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
1343         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
1344         .direction               = TF_DIR_TX
1345         },
1346         {
1347         .app_id                  = 3,
1348         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1349         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1350         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1351         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
1352         .direction               = TF_DIR_RX
1353         },
1354         {
1355         .app_id                  = 3,
1356         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1357         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1358         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1359         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
1360         .direction               = TF_DIR_TX
1361         },
1362         {
1363         .app_id                  = 3,
1364         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1365         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1366         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
1367         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
1368         .direction               = TF_DIR_TX
1369         },
1370         {
1371         .app_id                  = 3,
1372         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1373         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1374         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1375         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
1376         .direction               = TF_DIR_RX
1377         },
1378         {
1379         .app_id                  = 3,
1380         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1381         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1382         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1383         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
1384         .direction               = TF_DIR_TX
1385         },
1386         {
1387         .app_id                  = 3,
1388         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1389         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1390         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1391         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID,
1392         .direction               = TF_DIR_RX
1393         },
1394         {
1395         .app_id                  = 3,
1396         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1397         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1398         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
1399         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
1400         .direction               = TF_DIR_RX
1401         },
1402         {
1403         .app_id                  = 3,
1404         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1405         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1406         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
1407         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
1408         .direction               = TF_DIR_TX
1409         },
1410         {
1411         .app_id                  = 3,
1412         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1413         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1414         .resource_type           = TF_IDENT_TYPE_EM_PROF,
1415         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_EM_PROFILE_ID_0,
1416         .direction               = TF_DIR_RX
1417         },
1418         {
1419         .app_id                  = 3,
1420         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1421         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1422         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1423         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_0,
1424         .direction               = TF_DIR_RX
1425         },
1426         {
1427         .app_id                  = 3,
1428         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1429         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1430         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1431         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
1432         .direction               = TF_DIR_RX
1433         },
1434         {
1435         .app_id                  = 3,
1436         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1437         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1438         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1439         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
1440         .direction               = TF_DIR_TX
1441         },
1442         {
1443         .app_id                  = 3,
1444         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1445         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1446         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
1447         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
1448         .direction               = TF_DIR_TX
1449         },
1450         {
1451         .app_id                  = 3,
1452         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1453         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1454         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1455         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
1456         .direction               = TF_DIR_RX
1457         },
1458         {
1459         .app_id                  = 3,
1460         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1461         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1462         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1463         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
1464         .direction               = TF_DIR_TX
1465         },
1466         {
1467         .app_id                  = 3,
1468         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1469         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1470         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1471         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID,
1472         .direction               = TF_DIR_RX
1473         },
1474         {
1475         .app_id                  = 3,
1476         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1477         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1478         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1479         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GRE_PROF_FUNC_ID,
1480         .direction               = TF_DIR_RX
1481         },
1482         {
1483         .app_id                  = 3,
1484         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1485         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1486         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
1487         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
1488         .direction               = TF_DIR_RX
1489         },
1490         {
1491         .app_id                  = 3,
1492         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1493         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1494         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
1495         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
1496         .direction               = TF_DIR_TX
1497         },
1498         {
1499         .app_id                  = 3,
1500         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1501         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1502         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1503         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_0,
1504         .direction               = TF_DIR_RX
1505         },
1506         {
1507         .app_id                  = 3,
1508         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1509         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1510         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1511         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_1,
1512         .direction               = TF_DIR_RX
1513         },
1514         {
1515         .app_id                  = 3,
1516         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1517         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1518         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1519         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_2,
1520         .direction               = TF_DIR_RX
1521         },
1522         {
1523         .app_id                  = 3,
1524         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1525         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1526         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1527         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_3,
1528         .direction               = TF_DIR_RX
1529         },
1530         {
1531         .app_id                  = 3,
1532         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1533         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1534         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1535         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_4,
1536         .direction               = TF_DIR_RX
1537         },
1538         {
1539         .app_id                  = 3,
1540         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1541         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1542         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1543         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_5,
1544         .direction               = TF_DIR_RX
1545         },
1546         {
1547         .app_id                  = 3,
1548         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1549         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1550         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1551         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_6,
1552         .direction               = TF_DIR_RX
1553         },
1554         {
1555         .app_id                  = 3,
1556         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1557         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1558         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1559         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_7,
1560         .direction               = TF_DIR_RX
1561         },
1562         {
1563         .app_id                  = 3,
1564         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1565         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1566         .resource_type           = TF_TBL_TYPE_WC_FKB,
1567         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_0,
1568         .direction               = TF_DIR_RX
1569         },
1570         {
1571         .app_id                  = 3,
1572         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1573         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1574         .resource_type           = TF_TBL_TYPE_WC_FKB,
1575         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_1,
1576         .direction               = TF_DIR_RX
1577         },
1578         {
1579         .app_id                  = 3,
1580         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1581         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1582         .resource_type           = TF_TBL_TYPE_WC_FKB,
1583         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_2,
1584         .direction               = TF_DIR_RX
1585         },
1586         {
1587         .app_id                  = 3,
1588         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1589         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1590         .resource_type           = TF_TBL_TYPE_WC_FKB,
1591         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_3,
1592         .direction               = TF_DIR_RX
1593         },
1594         {
1595         .app_id                  = 3,
1596         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1597         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1598         .resource_type           = TF_TBL_TYPE_WC_FKB,
1599         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_4,
1600         .direction               = TF_DIR_RX
1601         },
1602         {
1603         .app_id                  = 3,
1604         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1605         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1606         .resource_type           = TF_TBL_TYPE_WC_FKB,
1607         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_0,
1608         .direction               = TF_DIR_TX
1609         },
1610         {
1611         .app_id                  = 3,
1612         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1613         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1614         .resource_type           = TF_TBL_TYPE_WC_FKB,
1615         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_1,
1616         .direction               = TF_DIR_TX
1617         },
1618         {
1619         .app_id                  = 3,
1620         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1621         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1622         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1623         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_0,
1624         .direction               = TF_DIR_TX
1625         },
1626         {
1627         .app_id                  = 3,
1628         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1629         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1630         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1631         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_1,
1632         .direction               = TF_DIR_TX
1633         },
1634         {
1635         .app_id                  = 3,
1636         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1637         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1638         .resource_type           = TF_IDENT_TYPE_EM_PROF,
1639         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_EM_PROFILE_ID_0,
1640         .direction               = TF_DIR_RX
1641         },
1642         {
1643         .app_id                  = 3,
1644         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1645         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1646         .resource_type           = TF_IDENT_TYPE_EM_PROF,
1647         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_EM_PROFILE_ID_1,
1648         .direction               = TF_DIR_RX
1649         },
1650         {
1651         .app_id                  = 3,
1652         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1653         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1654         .resource_type           = TF_IDENT_TYPE_EM_PROF,
1655         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_EM_PROFILE_ID_2,
1656         .direction               = TF_DIR_RX
1657         },
1658         {
1659         .app_id                  = 3,
1660         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1661         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1662         .resource_type           = TF_IDENT_TYPE_EM_PROF,
1663         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_EM_PROFILE_ID_3,
1664         .direction               = TF_DIR_RX
1665         },
1666         {
1667         .app_id                  = 3,
1668         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1669         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1670         .resource_type           = TF_IDENT_TYPE_EM_PROF,
1671         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_EM_PROFILE_ID_4,
1672         .direction               = TF_DIR_RX
1673         },
1674         {
1675         .app_id                  = 3,
1676         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1677         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1678         .resource_type           = TF_IDENT_TYPE_EM_PROF,
1679         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_EM_PROFILE_ID_5,
1680         .direction               = TF_DIR_RX
1681         },
1682         {
1683         .app_id                  = 3,
1684         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1685         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1686         .resource_type           = TF_IDENT_TYPE_EM_PROF,
1687         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_EM_PROFILE_ID_6,
1688         .direction               = TF_DIR_RX
1689         },
1690         {
1691         .app_id                  = 3,
1692         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1693         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1694         .resource_type           = TF_IDENT_TYPE_EM_PROF,
1695         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_EM_PROFILE_ID_7,
1696         .direction               = TF_DIR_RX
1697         },
1698         {
1699         .app_id                  = 3,
1700         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1701         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1702         .resource_type           = TF_TBL_TYPE_EM_FKB,
1703         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_EM_KEY_ID_0,
1704         .direction               = TF_DIR_RX
1705         },
1706         {
1707         .app_id                  = 3,
1708         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1709         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1710         .resource_type           = TF_TBL_TYPE_EM_FKB,
1711         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_EM_KEY_ID_1,
1712         .direction               = TF_DIR_RX
1713         },
1714         {
1715         .app_id                  = 3,
1716         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1717         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1718         .resource_type           = TF_TBL_TYPE_EM_FKB,
1719         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_EM_KEY_ID_2,
1720         .direction               = TF_DIR_RX
1721         },
1722         {
1723         .app_id                  = 3,
1724         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
1725         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1726         .resource_type           = TF_TBL_TYPE_EM_FKB,
1727         .glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_GLB_EM_KEY_ID_3,
1728         .direction               = TF_DIR_RX
1729         }
1730 };
1731
1732 /* List of tf resources required to be reserved per app/device */
1733 struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
1734         {
1735         .app_id                  = 0,
1736         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1737         .direction               = TF_DIR_RX,
1738         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1739         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
1740         .count                   = 422
1741         },
1742         {
1743         .app_id                  = 0,
1744         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1745         .direction               = TF_DIR_RX,
1746         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1747         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
1748         .count                   = 6
1749         },
1750         {
1751         .app_id                  = 0,
1752         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1753         .direction               = TF_DIR_RX,
1754         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1755         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1756         .count                   = 191
1757         },
1758         {
1759         .app_id                  = 0,
1760         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1761         .direction               = TF_DIR_RX,
1762         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1763         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1764         .count                   = 63
1765         },
1766         {
1767         .app_id                  = 0,
1768         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1769         .direction               = TF_DIR_RX,
1770         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1771         .resource_type           = TF_IDENT_TYPE_EM_PROF,
1772         .count                   = 192
1773         },
1774         {
1775         .app_id                  = 0,
1776         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1777         .direction               = TF_DIR_RX,
1778         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1779         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
1780         .count                   = 8192
1781         },
1782         {
1783         .app_id                  = 0,
1784         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1785         .direction               = TF_DIR_RX,
1786         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1787         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
1788         .count                   = 6912
1789         },
1790         {
1791         .app_id                  = 0,
1792         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1793         .direction               = TF_DIR_RX,
1794         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1795         .resource_type           = TF_TBL_TYPE_ACT_MODIFY_IPV4,
1796         .count                   = 1023
1797         },
1798         {
1799         .app_id                  = 0,
1800         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1801         .direction               = TF_DIR_RX,
1802         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1803         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_8B,
1804         .count                   = 511
1805         },
1806         {
1807         .app_id                  = 0,
1808         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1809         .direction               = TF_DIR_RX,
1810         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1811         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
1812         .count                   = 15
1813         },
1814         {
1815         .app_id                  = 0,
1816         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1817         .direction               = TF_DIR_RX,
1818         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1819         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC,
1820         .count                   = 255
1821         },
1822         {
1823         .app_id                  = 0,
1824         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1825         .direction               = TF_DIR_RX,
1826         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1827         .resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
1828         .count                   = 1
1829         },
1830         {
1831         .app_id                  = 0,
1832         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1833         .direction               = TF_DIR_RX,
1834         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1835         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1836         .count                   = 422
1837         },
1838         {
1839         .app_id                  = 0,
1840         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1841         .direction               = TF_DIR_RX,
1842         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1843         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1844         .count                   = 6
1845         },
1846         {
1847         .app_id                  = 0,
1848         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1849         .direction               = TF_DIR_RX,
1850         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1851         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
1852         .count                   = 960
1853         },
1854         {
1855         .app_id                  = 0,
1856         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1857         .direction               = TF_DIR_RX,
1858         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1859         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
1860         .count                   = 88
1861         },
1862         {
1863         .app_id                  = 0,
1864         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1865         .direction               = TF_DIR_RX,
1866         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1867         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
1868         .count                   = 13168
1869         },
1870         {
1871         .app_id                  = 0,
1872         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1873         .direction               = TF_DIR_RX,
1874         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1875         .resource_type           = TF_EM_TBL_TYPE_TBL_SCOPE,
1876         .count                   = 1
1877         },
1878         {
1879         .app_id                  = 0,
1880         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1881         .direction               = TF_DIR_TX,
1882         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1883         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
1884         .count                   = 292
1885         },
1886         {
1887         .app_id                  = 0,
1888         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1889         .direction               = TF_DIR_TX,
1890         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1891         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
1892         .count                   = 148
1893         },
1894         {
1895         .app_id                  = 0,
1896         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1897         .direction               = TF_DIR_TX,
1898         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1899         .resource_type           = TF_IDENT_TYPE_WC_PROF,
1900         .count                   = 191
1901         },
1902         {
1903         .app_id                  = 0,
1904         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1905         .direction               = TF_DIR_TX,
1906         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1907         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
1908         .count                   = 63
1909         },
1910         {
1911         .app_id                  = 0,
1912         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1913         .direction               = TF_DIR_TX,
1914         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1915         .resource_type           = TF_IDENT_TYPE_EM_PROF,
1916         .count                   = 192
1917         },
1918         {
1919         .app_id                  = 0,
1920         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1921         .direction               = TF_DIR_TX,
1922         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1923         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
1924         .count                   = 8192
1925         },
1926         {
1927         .app_id                  = 0,
1928         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1929         .direction               = TF_DIR_TX,
1930         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1931         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
1932         .count                   = 6912
1933         },
1934         {
1935         .app_id                  = 0,
1936         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1937         .direction               = TF_DIR_TX,
1938         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1939         .resource_type           = TF_TBL_TYPE_ACT_MODIFY_IPV4,
1940         .count                   = 1023
1941         },
1942         {
1943         .app_id                  = 0,
1944         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1945         .direction               = TF_DIR_TX,
1946         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1947         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
1948         .count                   = 511
1949         },
1950         {
1951         .app_id                  = 0,
1952         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1953         .direction               = TF_DIR_TX,
1954         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1955         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
1956         .count                   = 223
1957         },
1958         {
1959         .app_id                  = 0,
1960         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1961         .direction               = TF_DIR_TX,
1962         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1963         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_8B,
1964         .count                   = 255
1965         },
1966         {
1967         .app_id                  = 0,
1968         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1969         .direction               = TF_DIR_TX,
1970         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1971         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1972         .count                   = 488
1973         },
1974         {
1975         .app_id                  = 0,
1976         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1977         .direction               = TF_DIR_TX,
1978         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1979         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV6,
1980         .count                   = 511
1981         },
1982         {
1983         .app_id                  = 0,
1984         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1985         .direction               = TF_DIR_TX,
1986         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1987         .resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
1988         .count                   = 1
1989         },
1990         {
1991         .app_id                  = 0,
1992         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
1993         .direction               = TF_DIR_TX,
1994         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1995         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1996         .count                   = 292
1997         },
1998         {
1999         .app_id                  = 0,
2000         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2001         .direction               = TF_DIR_TX,
2002         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2003         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2004         .count                   = 144
2005         },
2006         {
2007         .app_id                  = 0,
2008         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2009         .direction               = TF_DIR_TX,
2010         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2011         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
2012         .count                   = 960
2013         },
2014         {
2015         .app_id                  = 0,
2016         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2017         .direction               = TF_DIR_TX,
2018         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2019         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
2020         .count                   = 928
2021         },
2022         {
2023         .app_id                  = 0,
2024         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2025         .direction               = TF_DIR_TX,
2026         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2027         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
2028         .count                   = 15232
2029         },
2030         {
2031         .app_id                  = 0,
2032         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2033         .direction               = TF_DIR_TX,
2034         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2035         .resource_type           = TF_EM_TBL_TYPE_TBL_SCOPE,
2036         .count                   = 1
2037         },
2038         {
2039         .app_id                  = 0,
2040         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2041         .direction               = TF_DIR_RX,
2042         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2043         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
2044         .count                   = 272
2045         },
2046         {
2047         .app_id                  = 0,
2048         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2049         .direction               = TF_DIR_RX,
2050         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2051         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
2052         .count                   = 6
2053         },
2054         {
2055         .app_id                  = 0,
2056         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2057         .direction               = TF_DIR_RX,
2058         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2059         .resource_type           = TF_IDENT_TYPE_WC_PROF,
2060         .count                   = 32
2061         },
2062         {
2063         .app_id                  = 0,
2064         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2065         .direction               = TF_DIR_RX,
2066         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2067         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
2068         .count                   = 32
2069         },
2070         {
2071         .app_id                  = 0,
2072         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2073         .direction               = TF_DIR_RX,
2074         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2075         .resource_type           = TF_IDENT_TYPE_EM_PROF,
2076         .count                   = 32
2077         },
2078         {
2079         .app_id                  = 0,
2080         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2081         .direction               = TF_DIR_RX,
2082         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2083         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
2084         .count                   = 8192
2085         },
2086         {
2087         .app_id                  = 0,
2088         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2089         .direction               = TF_DIR_RX,
2090         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2091         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
2092         .count                   = 8192
2093         },
2094         {
2095         .app_id                  = 0,
2096         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2097         .direction               = TF_DIR_RX,
2098         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2099         .resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
2100         .count                   = 5
2101         },
2102         {
2103         .app_id                  = 0,
2104         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2105         .direction               = TF_DIR_RX,
2106         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2107         .resource_type           = TF_TBL_TYPE_EM_FKB,
2108         .count                   = 32
2109         },
2110         {
2111         .app_id                  = 0,
2112         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2113         .direction               = TF_DIR_RX,
2114         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2115         .resource_type           = TF_TBL_TYPE_WC_FKB,
2116         .count                   = 31
2117         },
2118         {
2119         .app_id                  = 0,
2120         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2121         .direction               = TF_DIR_RX,
2122         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2123         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
2124         .count                   = 2048
2125         },
2126         {
2127         .app_id                  = 0,
2128         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2129         .direction               = TF_DIR_RX,
2130         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2131         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
2132         .count                   = 64
2133         },
2134         {
2135         .app_id                  = 0,
2136         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2137         .direction               = TF_DIR_RX,
2138         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2139         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
2140         .count                   = 272
2141         },
2142         {
2143         .app_id                  = 0,
2144         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2145         .direction               = TF_DIR_RX,
2146         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2147         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2148         .count                   = 6
2149         },
2150         {
2151         .app_id                  = 0,
2152         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2153         .direction               = TF_DIR_RX,
2154         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2155         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
2156         .count                   = 128
2157         },
2158         {
2159         .app_id                  = 0,
2160         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2161         .direction               = TF_DIR_RX,
2162         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2163         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
2164         .count                   = 4096
2165         },
2166         {
2167         .app_id                  = 0,
2168         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2169         .direction               = TF_DIR_RX,
2170         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2171         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
2172         .count                   = 16384
2173         },
2174         {
2175         .app_id                  = 0,
2176         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2177         .direction               = TF_DIR_TX,
2178         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2179         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
2180         .count                   = 272
2181         },
2182         {
2183         .app_id                  = 0,
2184         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2185         .direction               = TF_DIR_TX,
2186         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2187         .resource_type           = TF_IDENT_TYPE_WC_PROF,
2188         .count                   = 32
2189         },
2190         {
2191         .app_id                  = 0,
2192         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2193         .direction               = TF_DIR_TX,
2194         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2195         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
2196         .count                   = 63
2197         },
2198         {
2199         .app_id                  = 0,
2200         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2201         .direction               = TF_DIR_TX,
2202         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2203         .resource_type           = TF_IDENT_TYPE_EM_PROF,
2204         .count                   = 32
2205         },
2206         {
2207         .app_id                  = 0,
2208         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2209         .direction               = TF_DIR_TX,
2210         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2211         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
2212         .count                   = 8192
2213         },
2214         {
2215         .app_id                  = 0,
2216         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2217         .direction               = TF_DIR_TX,
2218         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2219         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
2220         .count                   = 8192
2221         },
2222         {
2223         .app_id                  = 0,
2224         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2225         .direction               = TF_DIR_TX,
2226         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2227         .resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
2228         .count                   = 5
2229         },
2230         {
2231         .app_id                  = 0,
2232         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2233         .direction               = TF_DIR_TX,
2234         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2235         .resource_type           = TF_TBL_TYPE_EM_FKB,
2236         .count                   = 32
2237         },
2238         {
2239         .app_id                  = 0,
2240         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2241         .direction               = TF_DIR_TX,
2242         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2243         .resource_type           = TF_TBL_TYPE_WC_FKB,
2244         .count                   = 32
2245         },
2246         {
2247         .app_id                  = 0,
2248         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2249         .direction               = TF_DIR_TX,
2250         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2251         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
2252         .count                   = 2048
2253         },
2254         {
2255         .app_id                  = 0,
2256         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2257         .direction               = TF_DIR_TX,
2258         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2259         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
2260         .count                   = 100
2261         },
2262         {
2263         .app_id                  = 0,
2264         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2265         .direction               = TF_DIR_TX,
2266         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2267         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2268         .count                   = 272
2269         },
2270         {
2271         .app_id                  = 0,
2272         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2273         .direction               = TF_DIR_TX,
2274         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2275         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
2276         .count                   = 128
2277         },
2278         {
2279         .app_id                  = 0,
2280         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2281         .direction               = TF_DIR_TX,
2282         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2283         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
2284         .count                   = 4096
2285         },
2286         {
2287         .app_id                  = 0,
2288         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2289         .direction               = TF_DIR_TX,
2290         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2291         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
2292         .count                   = 16384
2293         },
2294         {
2295         .app_id                  = 0,
2296         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2297         .direction               = TF_DIR_TX,
2298         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2299         .resource_type           = TF_TBL_TYPE_METADATA,
2300         .count                   = 1
2301         },
2302         {
2303         .app_id                  = 1,
2304         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2305         .direction               = TF_DIR_RX,
2306         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2307         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
2308         .count                   = 32
2309         },
2310         {
2311         .app_id                  = 1,
2312         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2313         .direction               = TF_DIR_RX,
2314         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2315         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
2316         .count                   = 2
2317         },
2318         {
2319         .app_id                  = 1,
2320         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2321         .direction               = TF_DIR_RX,
2322         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2323         .resource_type           = TF_IDENT_TYPE_WC_PROF,
2324         .count                   = 4
2325         },
2326         {
2327         .app_id                  = 1,
2328         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2329         .direction               = TF_DIR_RX,
2330         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2331         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
2332         .count                   = 4
2333         },
2334         {
2335         .app_id                  = 1,
2336         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2337         .direction               = TF_DIR_RX,
2338         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2339         .resource_type           = TF_IDENT_TYPE_EM_PROF,
2340         .count                   = 4
2341         },
2342         {
2343         .app_id                  = 1,
2344         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2345         .direction               = TF_DIR_RX,
2346         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2347         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
2348         .count                   = 128
2349         },
2350         {
2351         .app_id                  = 1,
2352         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2353         .direction               = TF_DIR_RX,
2354         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2355         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
2356         .count                   = 128
2357         },
2358         {
2359         .app_id                  = 1,
2360         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2361         .direction               = TF_DIR_RX,
2362         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2363         .resource_type           = TF_TBL_TYPE_ACT_MODIFY_IPV4,
2364         .count                   = 4
2365         },
2366         {
2367         .app_id                  = 1,
2368         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2369         .direction               = TF_DIR_RX,
2370         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2371         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_8B,
2372         .count                   = 4
2373         },
2374         {
2375         .app_id                  = 1,
2376         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2377         .direction               = TF_DIR_RX,
2378         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2379         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
2380         .count                   = 4
2381         },
2382         {
2383         .app_id                  = 1,
2384         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2385         .direction               = TF_DIR_RX,
2386         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2387         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC,
2388         .count                   = 4
2389         },
2390         {
2391         .app_id                  = 1,
2392         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2393         .direction               = TF_DIR_RX,
2394         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2395         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
2396         .count                   = 32
2397         },
2398         {
2399         .app_id                  = 1,
2400         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2401         .direction               = TF_DIR_RX,
2402         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2403         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2404         .count                   = 2
2405         },
2406         {
2407         .app_id                  = 1,
2408         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2409         .direction               = TF_DIR_RX,
2410         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2411         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
2412         .count                   = 32
2413         },
2414         {
2415         .app_id                  = 1,
2416         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2417         .direction               = TF_DIR_RX,
2418         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2419         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
2420         .count                   = 4
2421         },
2422         {
2423         .app_id                  = 1,
2424         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2425         .direction               = TF_DIR_RX,
2426         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2427         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
2428         .count                   = 1024
2429         },
2430         {
2431         .app_id                  = 1,
2432         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2433         .direction               = TF_DIR_TX,
2434         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2435         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
2436         .count                   = 32
2437         },
2438         {
2439         .app_id                  = 1,
2440         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2441         .direction               = TF_DIR_TX,
2442         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2443         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
2444         .count                   = 2
2445         },
2446         {
2447         .app_id                  = 1,
2448         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2449         .direction               = TF_DIR_TX,
2450         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2451         .resource_type           = TF_IDENT_TYPE_WC_PROF,
2452         .count                   = 4
2453         },
2454         {
2455         .app_id                  = 1,
2456         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2457         .direction               = TF_DIR_TX,
2458         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2459         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
2460         .count                   = 4
2461         },
2462         {
2463         .app_id                  = 1,
2464         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2465         .direction               = TF_DIR_TX,
2466         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2467         .resource_type           = TF_IDENT_TYPE_EM_PROF,
2468         .count                   = 4
2469         },
2470         {
2471         .app_id                  = 1,
2472         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2473         .direction               = TF_DIR_TX,
2474         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2475         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
2476         .count                   = 128
2477         },
2478         {
2479         .app_id                  = 1,
2480         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2481         .direction               = TF_DIR_TX,
2482         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2483         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
2484         .count                   = 128
2485         },
2486         {
2487         .app_id                  = 1,
2488         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2489         .direction               = TF_DIR_TX,
2490         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2491         .resource_type           = TF_TBL_TYPE_ACT_MODIFY_IPV4,
2492         .count                   = 4
2493         },
2494         {
2495         .app_id                  = 1,
2496         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2497         .direction               = TF_DIR_TX,
2498         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2499         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
2500         .count                   = 4
2501         },
2502         {
2503         .app_id                  = 1,
2504         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2505         .direction               = TF_DIR_TX,
2506         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2507         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
2508         .count                   = 4
2509         },
2510         {
2511         .app_id                  = 1,
2512         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2513         .direction               = TF_DIR_TX,
2514         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2515         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_8B,
2516         .count                   = 4
2517         },
2518         {
2519         .app_id                  = 1,
2520         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2521         .direction               = TF_DIR_TX,
2522         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2523         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
2524         .count                   = 4
2525         },
2526         {
2527         .app_id                  = 1,
2528         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2529         .direction               = TF_DIR_TX,
2530         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2531         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV6,
2532         .count                   = 4
2533         },
2534         {
2535         .app_id                  = 1,
2536         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2537         .direction               = TF_DIR_TX,
2538         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2539         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
2540         .count                   = 32
2541         },
2542         {
2543         .app_id                  = 1,
2544         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2545         .direction               = TF_DIR_TX,
2546         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2547         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2548         .count                   = 2
2549         },
2550         {
2551         .app_id                  = 1,
2552         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2553         .direction               = TF_DIR_TX,
2554         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2555         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
2556         .count                   = 32
2557         },
2558         {
2559         .app_id                  = 1,
2560         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2561         .direction               = TF_DIR_TX,
2562         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2563         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
2564         .count                   = 4
2565         },
2566         {
2567         .app_id                  = 1,
2568         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2569         .direction               = TF_DIR_TX,
2570         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2571         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
2572         .count                   = 1024
2573         },
2574         {
2575         .app_id                  = 1,
2576         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2577         .direction               = TF_DIR_RX,
2578         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2579         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
2580         .count                   = 32
2581         },
2582         {
2583         .app_id                  = 1,
2584         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2585         .direction               = TF_DIR_RX,
2586         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2587         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
2588         .count                   = 2
2589         },
2590         {
2591         .app_id                  = 1,
2592         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2593         .direction               = TF_DIR_RX,
2594         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2595         .resource_type           = TF_IDENT_TYPE_WC_PROF,
2596         .count                   = 32
2597         },
2598         {
2599         .app_id                  = 1,
2600         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2601         .direction               = TF_DIR_RX,
2602         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2603         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
2604         .count                   = 16
2605         },
2606         {
2607         .app_id                  = 1,
2608         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2609         .direction               = TF_DIR_RX,
2610         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2611         .resource_type           = TF_IDENT_TYPE_EM_PROF,
2612         .count                   = 32
2613         },
2614         {
2615         .app_id                  = 1,
2616         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2617         .direction               = TF_DIR_RX,
2618         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2619         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
2620         .count                   = 528
2621         },
2622         {
2623         .app_id                  = 1,
2624         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2625         .direction               = TF_DIR_RX,
2626         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2627         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
2628         .count                   = 256
2629         },
2630         {
2631         .app_id                  = 1,
2632         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2633         .direction               = TF_DIR_RX,
2634         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2635         .resource_type           = TF_TBL_TYPE_EM_FKB,
2636         .count                   = 4
2637         },
2638         {
2639         .app_id                  = 1,
2640         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2641         .direction               = TF_DIR_RX,
2642         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2643         .resource_type           = TF_TBL_TYPE_WC_FKB,
2644         .count                   = 4
2645         },
2646         {
2647         .app_id                  = 1,
2648         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2649         .direction               = TF_DIR_RX,
2650         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2651         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
2652         .count                   = 4
2653         },
2654         {
2655         .app_id                  = 1,
2656         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2657         .direction               = TF_DIR_RX,
2658         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2659         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
2660         .count                   = 4
2661         },
2662         {
2663         .app_id                  = 1,
2664         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2665         .direction               = TF_DIR_RX,
2666         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2667         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
2668         .count                   = 32
2669         },
2670         {
2671         .app_id                  = 1,
2672         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2673         .direction               = TF_DIR_RX,
2674         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2675         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2676         .count                   = 2
2677         },
2678         {
2679         .app_id                  = 1,
2680         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2681         .direction               = TF_DIR_RX,
2682         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2683         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
2684         .count                   = 32
2685         },
2686         {
2687         .app_id                  = 1,
2688         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2689         .direction               = TF_DIR_RX,
2690         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2691         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
2692         .count                   = 4
2693         },
2694         {
2695         .app_id                  = 1,
2696         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2697         .direction               = TF_DIR_RX,
2698         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2699         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
2700         .count                   = 1024
2701         },
2702         {
2703         .app_id                  = 1,
2704         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2705         .direction               = TF_DIR_TX,
2706         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2707         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
2708         .count                   = 32
2709         },
2710         {
2711         .app_id                  = 1,
2712         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2713         .direction               = TF_DIR_TX,
2714         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2715         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
2716         .count                   = 2
2717         },
2718         {
2719         .app_id                  = 1,
2720         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2721         .direction               = TF_DIR_TX,
2722         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2723         .resource_type           = TF_IDENT_TYPE_WC_PROF,
2724         .count                   = 4
2725         },
2726         {
2727         .app_id                  = 1,
2728         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2729         .direction               = TF_DIR_TX,
2730         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2731         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
2732         .count                   = 4
2733         },
2734         {
2735         .app_id                  = 1,
2736         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2737         .direction               = TF_DIR_TX,
2738         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2739         .resource_type           = TF_IDENT_TYPE_EM_PROF,
2740         .count                   = 4
2741         },
2742         {
2743         .app_id                  = 1,
2744         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2745         .direction               = TF_DIR_TX,
2746         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2747         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
2748         .count                   = 512
2749         },
2750         {
2751         .app_id                  = 1,
2752         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2753         .direction               = TF_DIR_TX,
2754         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2755         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
2756         .count                   = 256
2757         },
2758         {
2759         .app_id                  = 1,
2760         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2761         .direction               = TF_DIR_TX,
2762         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2763         .resource_type           = TF_TBL_TYPE_EM_FKB,
2764         .count                   = 4
2765         },
2766         {
2767         .app_id                  = 1,
2768         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2769         .direction               = TF_DIR_TX,
2770         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2771         .resource_type           = TF_TBL_TYPE_WC_FKB,
2772         .count                   = 4
2773         },
2774         {
2775         .app_id                  = 1,
2776         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2777         .direction               = TF_DIR_TX,
2778         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2779         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
2780         .count                   = 4
2781         },
2782         {
2783         .app_id                  = 1,
2784         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2785         .direction               = TF_DIR_TX,
2786         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2787         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
2788         .count                   = 4
2789         },
2790         {
2791         .app_id                  = 1,
2792         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2793         .direction               = TF_DIR_TX,
2794         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2795         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
2796         .count                   = 32
2797         },
2798         {
2799         .app_id                  = 1,
2800         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2801         .direction               = TF_DIR_TX,
2802         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2803         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2804         .count                   = 2
2805         },
2806         {
2807         .app_id                  = 1,
2808         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2809         .direction               = TF_DIR_TX,
2810         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2811         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
2812         .count                   = 32
2813         },
2814         {
2815         .app_id                  = 1,
2816         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2817         .direction               = TF_DIR_TX,
2818         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2819         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
2820         .count                   = 4
2821         },
2822         {
2823         .app_id                  = 1,
2824         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
2825         .direction               = TF_DIR_TX,
2826         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2827         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
2828         .count                   = 1024
2829         },
2830         {
2831         .app_id                  = 2,
2832         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2833         .direction               = TF_DIR_RX,
2834         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2835         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
2836         .count                   = 32
2837         },
2838         {
2839         .app_id                  = 2,
2840         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2841         .direction               = TF_DIR_RX,
2842         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2843         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
2844         .count                   = 2
2845         },
2846         {
2847         .app_id                  = 2,
2848         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2849         .direction               = TF_DIR_RX,
2850         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2851         .resource_type           = TF_IDENT_TYPE_WC_PROF,
2852         .count                   = 4
2853         },
2854         {
2855         .app_id                  = 2,
2856         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2857         .direction               = TF_DIR_RX,
2858         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2859         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
2860         .count                   = 4
2861         },
2862         {
2863         .app_id                  = 2,
2864         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2865         .direction               = TF_DIR_RX,
2866         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2867         .resource_type           = TF_IDENT_TYPE_EM_PROF,
2868         .count                   = 4
2869         },
2870         {
2871         .app_id                  = 2,
2872         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2873         .direction               = TF_DIR_RX,
2874         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2875         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
2876         .count                   = 128
2877         },
2878         {
2879         .app_id                  = 2,
2880         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2881         .direction               = TF_DIR_RX,
2882         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2883         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
2884         .count                   = 128
2885         },
2886         {
2887         .app_id                  = 2,
2888         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2889         .direction               = TF_DIR_RX,
2890         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2891         .resource_type           = TF_TBL_TYPE_ACT_MODIFY_IPV4,
2892         .count                   = 4
2893         },
2894         {
2895         .app_id                  = 2,
2896         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2897         .direction               = TF_DIR_RX,
2898         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2899         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_8B,
2900         .count                   = 4
2901         },
2902         {
2903         .app_id                  = 2,
2904         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2905         .direction               = TF_DIR_RX,
2906         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2907         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
2908         .count                   = 4
2909         },
2910         {
2911         .app_id                  = 2,
2912         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2913         .direction               = TF_DIR_RX,
2914         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2915         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC,
2916         .count                   = 4
2917         },
2918         {
2919         .app_id                  = 2,
2920         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2921         .direction               = TF_DIR_RX,
2922         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2923         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
2924         .count                   = 32
2925         },
2926         {
2927         .app_id                  = 2,
2928         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2929         .direction               = TF_DIR_RX,
2930         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2931         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2932         .count                   = 2
2933         },
2934         {
2935         .app_id                  = 2,
2936         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2937         .direction               = TF_DIR_RX,
2938         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2939         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
2940         .count                   = 32
2941         },
2942         {
2943         .app_id                  = 2,
2944         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2945         .direction               = TF_DIR_RX,
2946         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2947         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
2948         .count                   = 64
2949         },
2950         {
2951         .app_id                  = 2,
2952         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2953         .direction               = TF_DIR_RX,
2954         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2955         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
2956         .count                   = 1024
2957         },
2958         {
2959         .app_id                  = 2,
2960         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2961         .direction               = TF_DIR_TX,
2962         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2963         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
2964         .count                   = 32
2965         },
2966         {
2967         .app_id                  = 2,
2968         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2969         .direction               = TF_DIR_TX,
2970         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2971         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
2972         .count                   = 2
2973         },
2974         {
2975         .app_id                  = 2,
2976         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2977         .direction               = TF_DIR_TX,
2978         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2979         .resource_type           = TF_IDENT_TYPE_WC_PROF,
2980         .count                   = 4
2981         },
2982         {
2983         .app_id                  = 2,
2984         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2985         .direction               = TF_DIR_TX,
2986         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2987         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
2988         .count                   = 4
2989         },
2990         {
2991         .app_id                  = 2,
2992         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
2993         .direction               = TF_DIR_TX,
2994         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2995         .resource_type           = TF_IDENT_TYPE_EM_PROF,
2996         .count                   = 4
2997         },
2998         {
2999         .app_id                  = 2,
3000         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3001         .direction               = TF_DIR_TX,
3002         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3003         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
3004         .count                   = 128
3005         },
3006         {
3007         .app_id                  = 2,
3008         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3009         .direction               = TF_DIR_TX,
3010         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3011         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
3012         .count                   = 128
3013         },
3014         {
3015         .app_id                  = 2,
3016         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3017         .direction               = TF_DIR_TX,
3018         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3019         .resource_type           = TF_TBL_TYPE_ACT_MODIFY_IPV4,
3020         .count                   = 4
3021         },
3022         {
3023         .app_id                  = 2,
3024         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3025         .direction               = TF_DIR_TX,
3026         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3027         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
3028         .count                   = 4
3029         },
3030         {
3031         .app_id                  = 2,
3032         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3033         .direction               = TF_DIR_TX,
3034         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3035         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
3036         .count                   = 4
3037         },
3038         {
3039         .app_id                  = 2,
3040         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3041         .direction               = TF_DIR_TX,
3042         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3043         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_8B,
3044         .count                   = 4
3045         },
3046         {
3047         .app_id                  = 2,
3048         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3049         .direction               = TF_DIR_TX,
3050         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3051         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
3052         .count                   = 4
3053         },
3054         {
3055         .app_id                  = 2,
3056         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3057         .direction               = TF_DIR_TX,
3058         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3059         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV6,
3060         .count                   = 4
3061         },
3062         {
3063         .app_id                  = 2,
3064         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3065         .direction               = TF_DIR_TX,
3066         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
3067         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
3068         .count                   = 32
3069         },
3070         {
3071         .app_id                  = 2,
3072         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3073         .direction               = TF_DIR_TX,
3074         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
3075         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
3076         .count                   = 2
3077         },
3078         {
3079         .app_id                  = 2,
3080         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3081         .direction               = TF_DIR_TX,
3082         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
3083         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
3084         .count                   = 32
3085         },
3086         {
3087         .app_id                  = 2,
3088         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3089         .direction               = TF_DIR_TX,
3090         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
3091         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
3092         .count                   = 4
3093         },
3094         {
3095         .app_id                  = 2,
3096         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3097         .direction               = TF_DIR_TX,
3098         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
3099         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
3100         .count                   = 1024
3101         },
3102         {
3103         .app_id                  = 2,
3104         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3105         .direction               = TF_DIR_RX,
3106         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3107         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
3108         .count                   = 32
3109         },
3110         {
3111         .app_id                  = 2,
3112         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3113         .direction               = TF_DIR_RX,
3114         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3115         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
3116         .count                   = 2
3117         },
3118         {
3119         .app_id                  = 2,
3120         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3121         .direction               = TF_DIR_RX,
3122         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3123         .resource_type           = TF_IDENT_TYPE_WC_PROF,
3124         .count                   = 32
3125         },
3126         {
3127         .app_id                  = 2,
3128         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3129         .direction               = TF_DIR_RX,
3130         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3131         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
3132         .count                   = 16
3133         },
3134         {
3135         .app_id                  = 2,
3136         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3137         .direction               = TF_DIR_RX,
3138         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3139         .resource_type           = TF_IDENT_TYPE_EM_PROF,
3140         .count                   = 32
3141         },
3142         {
3143         .app_id                  = 2,
3144         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3145         .direction               = TF_DIR_RX,
3146         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3147         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
3148         .count                   = 528
3149         },
3150         {
3151         .app_id                  = 2,
3152         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3153         .direction               = TF_DIR_RX,
3154         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3155         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
3156         .count                   = 256
3157         },
3158         {
3159         .app_id                  = 2,
3160         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3161         .direction               = TF_DIR_RX,
3162         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3163         .resource_type           = TF_TBL_TYPE_EM_FKB,
3164         .count                   = 4
3165         },
3166         {
3167         .app_id                  = 2,
3168         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3169         .direction               = TF_DIR_RX,
3170         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3171         .resource_type           = TF_TBL_TYPE_WC_FKB,
3172         .count                   = 4
3173         },
3174         {
3175         .app_id                  = 2,
3176         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3177         .direction               = TF_DIR_RX,
3178         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3179         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
3180         .count                   = 4
3181         },
3182         {
3183         .app_id                  = 2,
3184         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3185         .direction               = TF_DIR_RX,
3186         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3187         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
3188         .count                   = 4
3189         },
3190         {
3191         .app_id                  = 2,
3192         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3193         .direction               = TF_DIR_RX,
3194         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
3195         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
3196         .count                   = 32
3197         },
3198         {
3199         .app_id                  = 2,
3200         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3201         .direction               = TF_DIR_RX,
3202         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
3203         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
3204         .count                   = 2
3205         },
3206         {
3207         .app_id                  = 2,
3208         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3209         .direction               = TF_DIR_RX,
3210         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
3211         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
3212         .count                   = 32
3213         },
3214         {
3215         .app_id                  = 2,
3216         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3217         .direction               = TF_DIR_RX,
3218         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
3219         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
3220         .count                   = 512
3221         },
3222         {
3223         .app_id                  = 2,
3224         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3225         .direction               = TF_DIR_RX,
3226         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
3227         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
3228         .count                   = 1024
3229         },
3230         {
3231         .app_id                  = 2,
3232         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3233         .direction               = TF_DIR_TX,
3234         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3235         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
3236         .count                   = 32
3237         },
3238         {
3239         .app_id                  = 2,
3240         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3241         .direction               = TF_DIR_TX,
3242         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3243         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
3244         .count                   = 2
3245         },
3246         {
3247         .app_id                  = 2,
3248         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3249         .direction               = TF_DIR_TX,
3250         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3251         .resource_type           = TF_IDENT_TYPE_WC_PROF,
3252         .count                   = 4
3253         },
3254         {
3255         .app_id                  = 2,
3256         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3257         .direction               = TF_DIR_TX,
3258         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3259         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
3260         .count                   = 4
3261         },
3262         {
3263         .app_id                  = 2,
3264         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3265         .direction               = TF_DIR_TX,
3266         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3267         .resource_type           = TF_IDENT_TYPE_EM_PROF,
3268         .count                   = 4
3269         },
3270         {
3271         .app_id                  = 2,
3272         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3273         .direction               = TF_DIR_TX,
3274         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3275         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
3276         .count                   = 512
3277         },
3278         {
3279         .app_id                  = 2,
3280         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3281         .direction               = TF_DIR_TX,
3282         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3283         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
3284         .count                   = 256
3285         },
3286         {
3287         .app_id                  = 2,
3288         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3289         .direction               = TF_DIR_TX,
3290         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3291         .resource_type           = TF_TBL_TYPE_EM_FKB,
3292         .count                   = 4
3293         },
3294         {
3295         .app_id                  = 2,
3296         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3297         .direction               = TF_DIR_TX,
3298         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3299         .resource_type           = TF_TBL_TYPE_WC_FKB,
3300         .count                   = 4
3301         },
3302         {
3303         .app_id                  = 2,
3304         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3305         .direction               = TF_DIR_TX,
3306         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3307         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
3308         .count                   = 4
3309         },
3310         {
3311         .app_id                  = 2,
3312         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3313         .direction               = TF_DIR_TX,
3314         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3315         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
3316         .count                   = 4
3317         },
3318         {
3319         .app_id                  = 2,
3320         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3321         .direction               = TF_DIR_TX,
3322         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
3323         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
3324         .count                   = 32
3325         },
3326         {
3327         .app_id                  = 2,
3328         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3329         .direction               = TF_DIR_TX,
3330         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
3331         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
3332         .count                   = 2
3333         },
3334         {
3335         .app_id                  = 2,
3336         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3337         .direction               = TF_DIR_TX,
3338         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
3339         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
3340         .count                   = 32
3341         },
3342         {
3343         .app_id                  = 2,
3344         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3345         .direction               = TF_DIR_TX,
3346         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
3347         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
3348         .count                   = 4
3349         },
3350         {
3351         .app_id                  = 2,
3352         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3353         .direction               = TF_DIR_TX,
3354         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
3355         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
3356         .count                   = 1024
3357         },
3358         {
3359         .app_id                  = 3,
3360         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3361         .direction               = TF_DIR_RX,
3362         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3363         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
3364         .count                   = 422
3365         },
3366         {
3367         .app_id                  = 3,
3368         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3369         .direction               = TF_DIR_RX,
3370         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3371         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
3372         .count                   = 6
3373         },
3374         {
3375         .app_id                  = 3,
3376         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3377         .direction               = TF_DIR_RX,
3378         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3379         .resource_type           = TF_IDENT_TYPE_WC_PROF,
3380         .count                   = 191
3381         },
3382         {
3383         .app_id                  = 3,
3384         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3385         .direction               = TF_DIR_RX,
3386         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3387         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
3388         .count                   = 63
3389         },
3390         {
3391         .app_id                  = 3,
3392         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3393         .direction               = TF_DIR_RX,
3394         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3395         .resource_type           = TF_IDENT_TYPE_EM_PROF,
3396         .count                   = 192
3397         },
3398         {
3399         .app_id                  = 3,
3400         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3401         .direction               = TF_DIR_RX,
3402         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3403         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
3404         .count                   = 8192
3405         },
3406         {
3407         .app_id                  = 3,
3408         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3409         .direction               = TF_DIR_RX,
3410         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3411         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
3412         .count                   = 7168
3413         },
3414         {
3415         .app_id                  = 3,
3416         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3417         .direction               = TF_DIR_RX,
3418         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3419         .resource_type           = TF_TBL_TYPE_ACT_MODIFY_IPV4,
3420         .count                   = 1023
3421         },
3422         {
3423         .app_id                  = 3,
3424         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3425         .direction               = TF_DIR_RX,
3426         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3427         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_8B,
3428         .count                   = 511
3429         },
3430         {
3431         .app_id                  = 3,
3432         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3433         .direction               = TF_DIR_RX,
3434         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3435         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
3436         .count                   = 15
3437         },
3438         {
3439         .app_id                  = 3,
3440         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3441         .direction               = TF_DIR_RX,
3442         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3443         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC,
3444         .count                   = 255
3445         },
3446         {
3447         .app_id                  = 3,
3448         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3449         .direction               = TF_DIR_RX,
3450         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3451         .resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
3452         .count                   = 1
3453         },
3454         {
3455         .app_id                  = 3,
3456         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3457         .direction               = TF_DIR_RX,
3458         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
3459         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
3460         .count                   = 422
3461         },
3462         {
3463         .app_id                  = 3,
3464         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3465         .direction               = TF_DIR_RX,
3466         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
3467         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
3468         .count                   = 6
3469         },
3470         {
3471         .app_id                  = 3,
3472         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3473         .direction               = TF_DIR_RX,
3474         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
3475         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
3476         .count                   = 960
3477         },
3478         {
3479         .app_id                  = 3,
3480         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3481         .direction               = TF_DIR_RX,
3482         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
3483         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
3484         .count                   = 88
3485         },
3486         {
3487         .app_id                  = 3,
3488         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3489         .direction               = TF_DIR_RX,
3490         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
3491         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
3492         .count                   = 13168
3493         },
3494         {
3495         .app_id                  = 3,
3496         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3497         .direction               = TF_DIR_RX,
3498         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
3499         .resource_type           = TF_EM_TBL_TYPE_TBL_SCOPE,
3500         .count                   = 1
3501         },
3502         {
3503         .app_id                  = 3,
3504         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3505         .direction               = TF_DIR_TX,
3506         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3507         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
3508         .count                   = 292
3509         },
3510         {
3511         .app_id                  = 3,
3512         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3513         .direction               = TF_DIR_TX,
3514         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3515         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
3516         .count                   = 148
3517         },
3518         {
3519         .app_id                  = 3,
3520         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3521         .direction               = TF_DIR_TX,
3522         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3523         .resource_type           = TF_IDENT_TYPE_WC_PROF,
3524         .count                   = 191
3525         },
3526         {
3527         .app_id                  = 3,
3528         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3529         .direction               = TF_DIR_TX,
3530         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3531         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
3532         .count                   = 63
3533         },
3534         {
3535         .app_id                  = 3,
3536         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3537         .direction               = TF_DIR_TX,
3538         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3539         .resource_type           = TF_IDENT_TYPE_EM_PROF,
3540         .count                   = 192
3541         },
3542         {
3543         .app_id                  = 3,
3544         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3545         .direction               = TF_DIR_TX,
3546         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3547         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
3548         .count                   = 8192
3549         },
3550         {
3551         .app_id                  = 3,
3552         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3553         .direction               = TF_DIR_TX,
3554         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3555         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
3556         .count                   = 7168
3557         },
3558         {
3559         .app_id                  = 3,
3560         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3561         .direction               = TF_DIR_TX,
3562         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3563         .resource_type           = TF_TBL_TYPE_ACT_MODIFY_IPV4,
3564         .count                   = 1023
3565         },
3566         {
3567         .app_id                  = 3,
3568         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3569         .direction               = TF_DIR_TX,
3570         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3571         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
3572         .count                   = 511
3573         },
3574         {
3575         .app_id                  = 3,
3576         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3577         .direction               = TF_DIR_TX,
3578         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3579         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_16B,
3580         .count                   = 223
3581         },
3582         {
3583         .app_id                  = 3,
3584         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3585         .direction               = TF_DIR_TX,
3586         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3587         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_8B,
3588         .count                   = 255
3589         },
3590         {
3591         .app_id                  = 3,
3592         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3593         .direction               = TF_DIR_TX,
3594         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3595         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
3596         .count                   = 488
3597         },
3598         {
3599         .app_id                  = 3,
3600         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3601         .direction               = TF_DIR_TX,
3602         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3603         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV6,
3604         .count                   = 511
3605         },
3606         {
3607         .app_id                  = 3,
3608         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3609         .direction               = TF_DIR_TX,
3610         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3611         .resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
3612         .count                   = 1
3613         },
3614         {
3615         .app_id                  = 3,
3616         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3617         .direction               = TF_DIR_TX,
3618         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
3619         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
3620         .count                   = 292
3621         },
3622         {
3623         .app_id                  = 3,
3624         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3625         .direction               = TF_DIR_TX,
3626         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
3627         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
3628         .count                   = 144
3629         },
3630         {
3631         .app_id                  = 3,
3632         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3633         .direction               = TF_DIR_TX,
3634         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
3635         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
3636         .count                   = 960
3637         },
3638         {
3639         .app_id                  = 3,
3640         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3641         .direction               = TF_DIR_TX,
3642         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
3643         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
3644         .count                   = 928
3645         },
3646         {
3647         .app_id                  = 3,
3648         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3649         .direction               = TF_DIR_TX,
3650         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
3651         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
3652         .count                   = 15232
3653         },
3654         {
3655         .app_id                  = 3,
3656         .device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,
3657         .direction               = TF_DIR_TX,
3658         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
3659         .resource_type           = TF_EM_TBL_TYPE_TBL_SCOPE,
3660         .count                   = 1
3661         },
3662         {
3663         .app_id                  = 3,
3664         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3665         .direction               = TF_DIR_RX,
3666         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3667         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
3668         .count                   = 128
3669         },
3670         {
3671         .app_id                  = 3,
3672         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3673         .direction               = TF_DIR_RX,
3674         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3675         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
3676         .count                   = 6
3677         },
3678         {
3679         .app_id                  = 3,
3680         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3681         .direction               = TF_DIR_RX,
3682         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3683         .resource_type           = TF_IDENT_TYPE_WC_PROF,
3684         .count                   = 128
3685         },
3686         {
3687         .app_id                  = 3,
3688         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3689         .direction               = TF_DIR_RX,
3690         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3691         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
3692         .count                   = 63
3693         },
3694         {
3695         .app_id                  = 3,
3696         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3697         .direction               = TF_DIR_RX,
3698         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3699         .resource_type           = TF_IDENT_TYPE_EM_PROF,
3700         .count                   = 128
3701         },
3702         {
3703         .app_id                  = 3,
3704         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3705         .direction               = TF_DIR_RX,
3706         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3707         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
3708         .count                   = 4096
3709         },
3710         {
3711         .app_id                  = 3,
3712         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3713         .direction               = TF_DIR_RX,
3714         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3715         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
3716         .count                   = 1024
3717         },
3718         {
3719         .app_id                  = 3,
3720         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3721         .direction               = TF_DIR_RX,
3722         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3723         .resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
3724         .count                   = 1
3725         },
3726         {
3727         .app_id                  = 3,
3728         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3729         .direction               = TF_DIR_RX,
3730         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3731         .resource_type           = TF_TBL_TYPE_EM_FKB,
3732         .count                   = 32
3733         },
3734         {
3735         .app_id                  = 3,
3736         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3737         .direction               = TF_DIR_RX,
3738         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3739         .resource_type           = TF_TBL_TYPE_WC_FKB,
3740         .count                   = 32
3741         },
3742         {
3743         .app_id                  = 3,
3744         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3745         .direction               = TF_DIR_RX,
3746         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3747         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
3748         .count                   = 1024
3749         },
3750         {
3751         .app_id                  = 3,
3752         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3753         .direction               = TF_DIR_RX,
3754         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3755         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
3756         .count                   = 1024
3757         },
3758         {
3759         .app_id                  = 3,
3760         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3761         .direction               = TF_DIR_RX,
3762         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3763         .resource_type           = TF_TBL_TYPE_ACT_MODIFY_64B,
3764         .count                   = 1024
3765         },
3766         {
3767         .app_id                  = 3,
3768         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3769         .direction               = TF_DIR_RX,
3770         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
3771         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
3772         .count                   = 128
3773         },
3774         {
3775         .app_id                  = 3,
3776         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3777         .direction               = TF_DIR_RX,
3778         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
3779         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
3780         .count                   = 6
3781         },
3782         {
3783         .app_id                  = 3,
3784         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3785         .direction               = TF_DIR_RX,
3786         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
3787         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
3788         .count                   = 128
3789         },
3790         {
3791         .app_id                  = 3,
3792         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3793         .direction               = TF_DIR_RX,
3794         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
3795         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
3796         .count                   = 2048
3797         },
3798         {
3799         .app_id                  = 3,
3800         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3801         .direction               = TF_DIR_RX,
3802         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
3803         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
3804         .count                   = 6144
3805         },
3806         {
3807         .app_id                  = 3,
3808         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3809         .direction               = TF_DIR_TX,
3810         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3811         .resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
3812         .count                   = 128
3813         },
3814         {
3815         .app_id                  = 3,
3816         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3817         .direction               = TF_DIR_TX,
3818         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3819         .resource_type           = TF_IDENT_TYPE_L2_CTXT_LOW,
3820         .count                   = 6
3821         },
3822         {
3823         .app_id                  = 3,
3824         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3825         .direction               = TF_DIR_TX,
3826         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3827         .resource_type           = TF_IDENT_TYPE_WC_PROF,
3828         .count                   = 128
3829         },
3830         {
3831         .app_id                  = 3,
3832         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3833         .direction               = TF_DIR_TX,
3834         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3835         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
3836         .count                   = 63
3837         },
3838         {
3839         .app_id                  = 3,
3840         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3841         .direction               = TF_DIR_TX,
3842         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3843         .resource_type           = TF_IDENT_TYPE_EM_PROF,
3844         .count                   = 128
3845         },
3846         {
3847         .app_id                  = 3,
3848         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3849         .direction               = TF_DIR_TX,
3850         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3851         .resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,
3852         .count                   = 4096
3853         },
3854         {
3855         .app_id                  = 3,
3856         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3857         .direction               = TF_DIR_TX,
3858         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3859         .resource_type           = TF_TBL_TYPE_ACT_STATS_64,
3860         .count                   = 1024
3861         },
3862         {
3863         .app_id                  = 3,
3864         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3865         .direction               = TF_DIR_TX,
3866         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3867         .resource_type           = TF_TBL_TYPE_MIRROR_CONFIG,
3868         .count                   = 1
3869         },
3870         {
3871         .app_id                  = 3,
3872         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3873         .direction               = TF_DIR_TX,
3874         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3875         .resource_type           = TF_TBL_TYPE_EM_FKB,
3876         .count                   = 32
3877         },
3878         {
3879         .app_id                  = 3,
3880         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3881         .direction               = TF_DIR_TX,
3882         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3883         .resource_type           = TF_TBL_TYPE_WC_FKB,
3884         .count                   = 32
3885         },
3886         {
3887         .app_id                  = 3,
3888         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3889         .direction               = TF_DIR_TX,
3890         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3891         .resource_type           = TF_TBL_TYPE_ACT_ENCAP_64B,
3892         .count                   = 1024
3893         },
3894         {
3895         .app_id                  = 3,
3896         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3897         .direction               = TF_DIR_TX,
3898         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3899         .resource_type           = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
3900         .count                   = 1024
3901         },
3902         {
3903         .app_id                  = 3,
3904         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3905         .direction               = TF_DIR_TX,
3906         .resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3907         .resource_type           = TF_TBL_TYPE_ACT_MODIFY_64B,
3908         .count                   = 1024
3909         },
3910         {
3911         .app_id                  = 3,
3912         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3913         .direction               = TF_DIR_TX,
3914         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
3915         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
3916         .count                   = 128
3917         },
3918         {
3919         .app_id                  = 3,
3920         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3921         .direction               = TF_DIR_TX,
3922         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
3923         .resource_type           = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
3924         .count                   = 6
3925         },
3926         {
3927         .app_id                  = 3,
3928         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3929         .direction               = TF_DIR_TX,
3930         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
3931         .resource_type           = TF_TCAM_TBL_TYPE_PROF_TCAM,
3932         .count                   = 128
3933         },
3934         {
3935         .app_id                  = 3,
3936         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3937         .direction               = TF_DIR_TX,
3938         .resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
3939         .resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,
3940         .count                   = 2048
3941         },
3942         {
3943         .app_id                  = 3,
3944         .device_id               = BNXT_ULP_DEVICE_ID_THOR,
3945         .direction               = TF_DIR_TX,
3946         .resource_func           = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
3947         .resource_type           = TF_EM_TBL_TYPE_EM_RECORD,
3948         .count                   = 6144
3949         }
3950 };
3951
3952 uint32_t ulp_act_prop_map_table[] = {
3953         [BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ] =
3954                 BNXT_ULP_ACT_PROP_SZ_ENCAP_TUN_SZ,
3955         [BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ] =
3956                 BNXT_ULP_ACT_PROP_SZ_ENCAP_IP_SZ,
3957         [BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ] =
3958                 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG_SZ,
3959         [BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE] =
3960                 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG_TYPE,
3961         [BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_NUM] =
3962                 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG_NUM,
3963         [BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE] =
3964                 BNXT_ULP_ACT_PROP_SZ_ENCAP_L3_TYPE,
3965         [BNXT_ULP_ACT_PROP_IDX_MPLS_POP_NUM] =
3966                 BNXT_ULP_ACT_PROP_SZ_MPLS_POP_NUM,
3967         [BNXT_ULP_ACT_PROP_IDX_MPLS_PUSH_NUM] =
3968                 BNXT_ULP_ACT_PROP_SZ_MPLS_PUSH_NUM,
3969         [BNXT_ULP_ACT_PROP_IDX_PORT_ID] =
3970                 BNXT_ULP_ACT_PROP_SZ_PORT_ID,
3971         [BNXT_ULP_ACT_PROP_IDX_VNIC] =
3972                 BNXT_ULP_ACT_PROP_SZ_VNIC,
3973         [BNXT_ULP_ACT_PROP_IDX_VPORT] =
3974                 BNXT_ULP_ACT_PROP_SZ_VPORT,
3975         [BNXT_ULP_ACT_PROP_IDX_MARK] =
3976                 BNXT_ULP_ACT_PROP_SZ_MARK,
3977         [BNXT_ULP_ACT_PROP_IDX_COUNT] =
3978                 BNXT_ULP_ACT_PROP_SZ_COUNT,
3979         [BNXT_ULP_ACT_PROP_IDX_METER] =
3980                 BNXT_ULP_ACT_PROP_SZ_METER,
3981         [BNXT_ULP_ACT_PROP_IDX_SET_MAC_SRC] =
3982                 BNXT_ULP_ACT_PROP_SZ_SET_MAC_SRC,
3983         [BNXT_ULP_ACT_PROP_IDX_SET_MAC_DST] =
3984                 BNXT_ULP_ACT_PROP_SZ_SET_MAC_DST,
3985         [BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN] =
3986                 BNXT_ULP_ACT_PROP_SZ_PUSH_VLAN,
3987         [BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP] =
3988                 BNXT_ULP_ACT_PROP_SZ_SET_VLAN_PCP,
3989         [BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID] =
3990                 BNXT_ULP_ACT_PROP_SZ_SET_VLAN_VID,
3991         [BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC] =
3992                 BNXT_ULP_ACT_PROP_SZ_SET_IPV4_SRC,
3993         [BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST] =
3994                 BNXT_ULP_ACT_PROP_SZ_SET_IPV4_DST,
3995         [BNXT_ULP_ACT_PROP_IDX_SET_IPV6_SRC] =
3996                 BNXT_ULP_ACT_PROP_SZ_SET_IPV6_SRC,
3997         [BNXT_ULP_ACT_PROP_IDX_SET_IPV6_DST] =
3998                 BNXT_ULP_ACT_PROP_SZ_SET_IPV6_DST,
3999         [BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC] =
4000                 BNXT_ULP_ACT_PROP_SZ_SET_TP_SRC,
4001         [BNXT_ULP_ACT_PROP_IDX_SET_TP_DST] =
4002                 BNXT_ULP_ACT_PROP_SZ_SET_TP_DST,
4003         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_0] =
4004                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_0,
4005         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_1] =
4006                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_1,
4007         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_2] =
4008                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_2,
4009         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_3] =
4010                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_3,
4011         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_4] =
4012                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_4,
4013         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_5] =
4014                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_5,
4015         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_6] =
4016                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_6,
4017         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_7] =
4018                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_7,
4019         [BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC] =
4020                 BNXT_ULP_ACT_PROP_SZ_ENCAP_L2_DMAC,
4021         [BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC] =
4022                 BNXT_ULP_ACT_PROP_SZ_ENCAP_L2_SMAC,
4023         [BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG] =
4024                 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG,
4025         [BNXT_ULP_ACT_PROP_IDX_ENCAP_IP] =
4026                 BNXT_ULP_ACT_PROP_SZ_ENCAP_IP,
4027         [BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC] =
4028                 BNXT_ULP_ACT_PROP_SZ_ENCAP_IP_SRC,
4029         [BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP] =
4030                 BNXT_ULP_ACT_PROP_SZ_ENCAP_UDP,
4031         [BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN] =
4032                 BNXT_ULP_ACT_PROP_SZ_ENCAP_TUN,
4033         [BNXT_ULP_ACT_PROP_IDX_JUMP] =
4034                 BNXT_ULP_ACT_PROP_SZ_JUMP,
4035         [BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE] =
4036                 BNXT_ULP_ACT_PROP_SZ_SHARED_HANDLE,
4037         [BNXT_ULP_ACT_PROP_IDX_RSS_TYPES] =
4038                 BNXT_ULP_ACT_PROP_SZ_RSS_TYPES,
4039         [BNXT_ULP_ACT_PROP_IDX_RSS_LEVEL] =
4040                 BNXT_ULP_ACT_PROP_SZ_RSS_LEVEL,
4041         [BNXT_ULP_ACT_PROP_IDX_RSS_KEY_LEN] =
4042                 BNXT_ULP_ACT_PROP_SZ_RSS_KEY_LEN,
4043         [BNXT_ULP_ACT_PROP_IDX_RSS_KEY] =
4044                 BNXT_ULP_ACT_PROP_SZ_RSS_KEY,
4045         [BNXT_ULP_ACT_PROP_IDX_LAST] =
4046                 BNXT_ULP_ACT_PROP_SZ_LAST
4047 };
4048
4049 uint8_t ulp_glb_field_tbl[] = {
4050         [2048] = 0,
4051         [2049] = 1,
4052         [2050] = 2,
4053         [2052] = 3,
4054         [2054] = 4,
4055         [2088] = 5,
4056         [2090] = 6,
4057         [2092] = 7,
4058         [2094] = 8,
4059         [2096] = 9,
4060         [2098] = 10,
4061         [2100] = 11,
4062         [2102] = 12,
4063         [2176] = 0,
4064         [2177] = 1,
4065         [2178] = 2,
4066         [2180] = 3,
4067         [2182] = 4,
4068         [2196] = 5,
4069         [2198] = 6,
4070         [2200] = 7,
4071         [2202] = 8,
4072         [2204] = 9,
4073         [2206] = 10,
4074         [2208] = 11,
4075         [2210] = 12,
4076         [2212] = 13,
4077         [2214] = 14,
4078         [2304] = 0,
4079         [2305] = 1,
4080         [2306] = 2,
4081         [2308] = 3,
4082         [2310] = 4,
4083         [2344] = 8,
4084         [2346] = 9,
4085         [2348] = 10,
4086         [2350] = 11,
4087         [2352] = 12,
4088         [2354] = 13,
4089         [2356] = 14,
4090         [2358] = 15,
4091         [2386] = 5,
4092         [2390] = 6,
4093         [2394] = 7,
4094         [2432] = 0,
4095         [2433] = 1,
4096         [2434] = 2,
4097         [2436] = 3,
4098         [2438] = 4,
4099         [2452] = 8,
4100         [2454] = 9,
4101         [2456] = 10,
4102         [2458] = 11,
4103         [2460] = 12,
4104         [2462] = 13,
4105         [2464] = 14,
4106         [2466] = 15,
4107         [2468] = 16,
4108         [2470] = 17,
4109         [2514] = 5,
4110         [2518] = 6,
4111         [2522] = 7,
4112         [2560] = 0,
4113         [2561] = 1,
4114         [2562] = 2,
4115         [2564] = 3,
4116         [2566] = 4,
4117         [2600] = 5,
4118         [2602] = 6,
4119         [2604] = 7,
4120         [2606] = 8,
4121         [2608] = 9,
4122         [2610] = 10,
4123         [2612] = 11,
4124         [2614] = 12,
4125         [2616] = 13,
4126         [2618] = 14,
4127         [2620] = 15,
4128         [2622] = 16,
4129         [2624] = 17,
4130         [2626] = 18,
4131         [2628] = 19,
4132         [2630] = 20,
4133         [2632] = 21,
4134         [2688] = 0,
4135         [2689] = 1,
4136         [2690] = 2,
4137         [2692] = 3,
4138         [2694] = 4,
4139         [2708] = 5,
4140         [2710] = 6,
4141         [2712] = 7,
4142         [2714] = 8,
4143         [2716] = 9,
4144         [2718] = 10,
4145         [2720] = 11,
4146         [2722] = 12,
4147         [2724] = 13,
4148         [2726] = 14,
4149         [2744] = 15,
4150         [2746] = 16,
4151         [2748] = 17,
4152         [2750] = 18,
4153         [2752] = 19,
4154         [2754] = 20,
4155         [2756] = 21,
4156         [2758] = 22,
4157         [2760] = 23,
4158         [2816] = 0,
4159         [2817] = 1,
4160         [2818] = 2,
4161         [2820] = 3,
4162         [2822] = 4,
4163         [2856] = 5,
4164         [2858] = 6,
4165         [2860] = 7,
4166         [2862] = 8,
4167         [2864] = 9,
4168         [2866] = 10,
4169         [2868] = 11,
4170         [2870] = 12,
4171         [2890] = 13,
4172         [2892] = 14,
4173         [2894] = 15,
4174         [2896] = 16,
4175         [2944] = 0,
4176         [2945] = 1,
4177         [2946] = 2,
4178         [2948] = 3,
4179         [2950] = 4,
4180         [2964] = 5,
4181         [2966] = 6,
4182         [2968] = 7,
4183         [2970] = 8,
4184         [2972] = 9,
4185         [2974] = 10,
4186         [2976] = 11,
4187         [2978] = 12,
4188         [2980] = 13,
4189         [2982] = 14,
4190         [3018] = 15,
4191         [3020] = 16,
4192         [3022] = 17,
4193         [3024] = 18,
4194         [3072] = 0,
4195         [3073] = 1,
4196         [3074] = 2,
4197         [3076] = 3,
4198         [3078] = 4,
4199         [3112] = 8,
4200         [3114] = 9,
4201         [3116] = 10,
4202         [3118] = 11,
4203         [3120] = 12,
4204         [3122] = 13,
4205         [3124] = 14,
4206         [3126] = 15,
4207         [3128] = 16,
4208         [3130] = 17,
4209         [3132] = 18,
4210         [3134] = 19,
4211         [3136] = 20,
4212         [3138] = 21,
4213         [3140] = 22,
4214         [3142] = 23,
4215         [3144] = 24,
4216         [3154] = 5,
4217         [3158] = 6,
4218         [3162] = 7,
4219         [3200] = 0,
4220         [3201] = 1,
4221         [3202] = 2,
4222         [3204] = 3,
4223         [3206] = 4,
4224         [3220] = 8,
4225         [3222] = 9,
4226         [3224] = 10,
4227         [3226] = 11,
4228         [3228] = 12,
4229         [3230] = 13,
4230         [3232] = 14,
4231         [3234] = 15,
4232         [3236] = 16,
4233         [3238] = 17,
4234         [3256] = 18,
4235         [3258] = 19,
4236         [3260] = 20,
4237         [3262] = 21,
4238         [3264] = 22,
4239         [3266] = 23,
4240         [3268] = 24,
4241         [3270] = 25,
4242         [3272] = 26,
4243         [3282] = 5,
4244         [3286] = 6,
4245         [3290] = 7,
4246         [3328] = 0,
4247         [3329] = 1,
4248         [3330] = 2,
4249         [3332] = 3,
4250         [3334] = 4,
4251         [3368] = 8,
4252         [3370] = 9,
4253         [3372] = 10,
4254         [3374] = 11,
4255         [3376] = 12,
4256         [3378] = 13,
4257         [3380] = 14,
4258         [3382] = 15,
4259         [3402] = 16,
4260         [3404] = 17,
4261         [3406] = 18,
4262         [3408] = 19,
4263         [3410] = 5,
4264         [3414] = 6,
4265         [3418] = 7,
4266         [3456] = 0,
4267         [3457] = 1,
4268         [3458] = 2,
4269         [3460] = 3,
4270         [3462] = 4,
4271         [3476] = 8,
4272         [3478] = 9,
4273         [3480] = 10,
4274         [3482] = 11,
4275         [3484] = 12,
4276         [3486] = 13,
4277         [3488] = 14,
4278         [3490] = 15,
4279         [3492] = 16,
4280         [3494] = 17,
4281         [3530] = 18,
4282         [3532] = 19,
4283         [3534] = 20,
4284         [3536] = 21,
4285         [3538] = 5,
4286         [3542] = 6,
4287         [3546] = 7,
4288         [3584] = 0,
4289         [3585] = 1,
4290         [3586] = 2,
4291         [3588] = 3,
4292         [3590] = 4,
4293         [3604] = 5,
4294         [3606] = 6,
4295         [3608] = 7,
4296         [3610] = 8,
4297         [3612] = 9,
4298         [3614] = 10,
4299         [3616] = 11,
4300         [3618] = 12,
4301         [3620] = 13,
4302         [3622] = 14,
4303         [3658] = 15,
4304         [3660] = 16,
4305         [3662] = 17,
4306         [3664] = 18,
4307         [3678] = 19,
4308         [3679] = 20,
4309         [3680] = 21,
4310         [3681] = 22,
4311         [4096] = 0,
4312         [4097] = 1,
4313         [4098] = 2,
4314         [4100] = 3,
4315         [4102] = 4,
4316         [4116] = 5,
4317         [4118] = 6,
4318         [4120] = 7,
4319         [4122] = 8,
4320         [4124] = 9,
4321         [4126] = 10,
4322         [4128] = 11,
4323         [4130] = 12,
4324         [4132] = 13,
4325         [4134] = 14,
4326         [4170] = 15,
4327         [4172] = 16,
4328         [4174] = 17,
4329         [4176] = 18,
4330         [4190] = 19,
4331         [4191] = 20,
4332         [4192] = 21,
4333         [4193] = 22,
4334         [4224] = 0,
4335         [4225] = 1,
4336         [4227] = 20,
4337         [4229] = 21,
4338         [4231] = 22,
4339         [4244] = 2,
4340         [4246] = 3,
4341         [4248] = 4,
4342         [4250] = 5,
4343         [4252] = 6,
4344         [4254] = 7,
4345         [4256] = 8,
4346         [4258] = 9,
4347         [4260] = 10,
4348         [4262] = 11,
4349         [4265] = 23,
4350         [4267] = 24,
4351         [4269] = 25,
4352         [4271] = 26,
4353         [4273] = 27,
4354         [4275] = 28,
4355         [4277] = 29,
4356         [4279] = 30,
4357         [4298] = 12,
4358         [4300] = 13,
4359         [4302] = 14,
4360         [4304] = 15,
4361         [4318] = 16,
4362         [4319] = 17,
4363         [4320] = 18,
4364         [4321] = 19,
4365         [4352] = 0,
4366         [4353] = 1,
4367         [4355] = 20,
4368         [4357] = 21,
4369         [4359] = 22,
4370         [4372] = 2,
4371         [4373] = 23,
4372         [4374] = 3,
4373         [4375] = 24,
4374         [4376] = 4,
4375         [4377] = 25,
4376         [4378] = 5,
4377         [4379] = 26,
4378         [4380] = 6,
4379         [4381] = 27,
4380         [4382] = 7,
4381         [4383] = 28,
4382         [4384] = 8,
4383         [4385] = 29,
4384         [4386] = 9,
4385         [4387] = 30,
4386         [4388] = 10,
4387         [4389] = 31,
4388         [4390] = 11,
4389         [4391] = 32,
4390         [4426] = 12,
4391         [4428] = 13,
4392         [4430] = 14,
4393         [4432] = 15,
4394         [4446] = 16,
4395         [4447] = 17,
4396         [4448] = 18,
4397         [4449] = 19,
4398         [4480] = 0,
4399         [4481] = 1,
4400         [4483] = 20,
4401         [4485] = 21,
4402         [4487] = 22,
4403         [4500] = 2,
4404         [4502] = 3,
4405         [4504] = 4,
4406         [4506] = 5,
4407         [4508] = 6,
4408         [4510] = 7,
4409         [4512] = 8,
4410         [4514] = 9,
4411         [4516] = 10,
4412         [4518] = 11,
4413         [4521] = 23,
4414         [4523] = 24,
4415         [4525] = 25,
4416         [4527] = 26,
4417         [4529] = 27,
4418         [4531] = 28,
4419         [4533] = 29,
4420         [4535] = 30,
4421         [4537] = 31,
4422         [4539] = 32,
4423         [4541] = 33,
4424         [4543] = 34,
4425         [4545] = 35,
4426         [4547] = 36,
4427         [4549] = 37,
4428         [4551] = 38,
4429         [4553] = 39,
4430         [4554] = 12,
4431         [4556] = 13,
4432         [4558] = 14,
4433         [4560] = 15,
4434         [4574] = 16,
4435         [4575] = 17,
4436         [4576] = 18,
4437         [4577] = 19,
4438         [4608] = 0,
4439         [4609] = 1,
4440         [4611] = 20,
4441         [4613] = 21,
4442         [4615] = 22,
4443         [4628] = 2,
4444         [4629] = 23,
4445         [4630] = 3,
4446         [4631] = 24,
4447         [4632] = 4,
4448         [4633] = 25,
4449         [4634] = 5,
4450         [4635] = 26,
4451         [4636] = 6,
4452         [4637] = 27,
4453         [4638] = 7,
4454         [4639] = 28,
4455         [4640] = 8,
4456         [4641] = 29,
4457         [4642] = 9,
4458         [4643] = 30,
4459         [4644] = 10,
4460         [4645] = 31,
4461         [4646] = 11,
4462         [4647] = 32,
4463         [4665] = 33,
4464         [4667] = 34,
4465         [4669] = 35,
4466         [4671] = 36,
4467         [4673] = 37,
4468         [4675] = 38,
4469         [4677] = 39,
4470         [4679] = 40,
4471         [4681] = 41,
4472         [4682] = 12,
4473         [4684] = 13,
4474         [4686] = 14,
4475         [4688] = 15,
4476         [4702] = 16,
4477         [4703] = 17,
4478         [4704] = 18,
4479         [4705] = 19,
4480         [4736] = 0,
4481         [4737] = 1,
4482         [4739] = 20,
4483         [4741] = 21,
4484         [4743] = 22,
4485         [4756] = 2,
4486         [4758] = 3,
4487         [4760] = 4,
4488         [4762] = 5,
4489         [4764] = 6,
4490         [4766] = 7,
4491         [4768] = 8,
4492         [4770] = 9,
4493         [4772] = 10,
4494         [4774] = 11,
4495         [4777] = 23,
4496         [4779] = 24,
4497         [4781] = 25,
4498         [4783] = 26,
4499         [4785] = 27,
4500         [4787] = 28,
4501         [4789] = 29,
4502         [4791] = 30,
4503         [4810] = 12,
4504         [4811] = 31,
4505         [4812] = 13,
4506         [4813] = 32,
4507         [4814] = 14,
4508         [4815] = 33,
4509         [4816] = 15,
4510         [4817] = 34,
4511         [4830] = 16,
4512         [4831] = 17,
4513         [4832] = 18,
4514         [4833] = 19,
4515         [4864] = 0,
4516         [4865] = 1,
4517         [4867] = 20,
4518         [4869] = 21,
4519         [4871] = 22,
4520         [4884] = 2,
4521         [4885] = 23,
4522         [4886] = 3,
4523         [4887] = 24,
4524         [4888] = 4,
4525         [4889] = 25,
4526         [4890] = 5,
4527         [4891] = 26,
4528         [4892] = 6,
4529         [4893] = 27,
4530         [4894] = 7,
4531         [4895] = 28,
4532         [4896] = 8,
4533         [4897] = 29,
4534         [4898] = 9,
4535         [4899] = 30,
4536         [4900] = 10,
4537         [4901] = 31,
4538         [4902] = 11,
4539         [4903] = 32,
4540         [4938] = 12,
4541         [4939] = 33,
4542         [4940] = 13,
4543         [4941] = 34,
4544         [4942] = 14,
4545         [4943] = 35,
4546         [4944] = 15,
4547         [4945] = 36,
4548         [4958] = 16,
4549         [4959] = 17,
4550         [4960] = 18,
4551         [4961] = 19,
4552         [4992] = 0,
4553         [4993] = 1,
4554         [4995] = 20,
4555         [4997] = 21,
4556         [4999] = 22,
4557         [5003] = 33,
4558         [5005] = 34,
4559         [5007] = 35,
4560         [5009] = 36,
4561         [5011] = 37,
4562         [5012] = 2,
4563         [5013] = 23,
4564         [5014] = 3,
4565         [5015] = 24,
4566         [5016] = 4,
4567         [5017] = 25,
4568         [5018] = 5,
4569         [5019] = 26,
4570         [5020] = 6,
4571         [5021] = 27,
4572         [5022] = 7,
4573         [5023] = 28,
4574         [5024] = 8,
4575         [5025] = 29,
4576         [5026] = 9,
4577         [5027] = 30,
4578         [5028] = 10,
4579         [5029] = 31,
4580         [5030] = 11,
4581         [5031] = 32,
4582         [5066] = 12,
4583         [5068] = 13,
4584         [5070] = 14,
4585         [5072] = 15,
4586         [5086] = 16,
4587         [5087] = 17,
4588         [5088] = 18,
4589         [5089] = 19,
4590         [6144] = 0,
4591         [6145] = 1,
4592         [6146] = 2,
4593         [6148] = 3,
4594         [6150] = 4,
4595         [6184] = 5,
4596         [6186] = 6,
4597         [6188] = 7,
4598         [6190] = 8,
4599         [6192] = 9,
4600         [6194] = 10,
4601         [6196] = 11,
4602         [6198] = 12,
4603         [6272] = 0,
4604         [6273] = 1,
4605         [6274] = 2,
4606         [6276] = 3,
4607         [6278] = 4,
4608         [6292] = 5,
4609         [6294] = 6,
4610         [6296] = 7,
4611         [6298] = 8,
4612         [6300] = 9,
4613         [6302] = 10,
4614         [6304] = 11,
4615         [6306] = 12,
4616         [6308] = 13,
4617         [6310] = 14,
4618         [6400] = 0,
4619         [6401] = 1,
4620         [6402] = 2,
4621         [6404] = 3,
4622         [6406] = 4,
4623         [6440] = 8,
4624         [6442] = 9,
4625         [6444] = 10,
4626         [6446] = 11,
4627         [6448] = 12,
4628         [6450] = 13,
4629         [6452] = 14,
4630         [6454] = 15,
4631         [6482] = 5,
4632         [6486] = 6,
4633         [6490] = 7,
4634         [6528] = 0,
4635         [6529] = 1,
4636         [6530] = 2,
4637         [6532] = 3,
4638         [6534] = 4,
4639         [6548] = 8,
4640         [6550] = 9,
4641         [6552] = 10,
4642         [6554] = 11,
4643         [6556] = 12,
4644         [6558] = 13,
4645         [6560] = 14,
4646         [6562] = 15,
4647         [6564] = 16,
4648         [6566] = 17,
4649         [6610] = 5,
4650         [6614] = 6,
4651         [6618] = 7,
4652         [6656] = 0,
4653         [6657] = 1,
4654         [6658] = 2,
4655         [6660] = 3,
4656         [6662] = 4,
4657         [6696] = 5,
4658         [6698] = 6,
4659         [6700] = 7,
4660         [6702] = 8,
4661         [6704] = 9,
4662         [6706] = 10,
4663         [6708] = 11,
4664         [6710] = 12,
4665         [6712] = 13,
4666         [6714] = 14,
4667         [6716] = 15,
4668         [6718] = 16,
4669         [6720] = 17,
4670         [6722] = 18,
4671         [6724] = 19,
4672         [6726] = 20,
4673         [6728] = 21,
4674         [6784] = 0,
4675         [6785] = 1,
4676         [6786] = 2,
4677         [6788] = 3,
4678         [6790] = 4,
4679         [6804] = 5,
4680         [6806] = 6,
4681         [6808] = 7,
4682         [6810] = 8,
4683         [6812] = 9,
4684         [6814] = 10,
4685         [6816] = 11,
4686         [6818] = 12,
4687         [6820] = 13,
4688         [6822] = 14,
4689         [6840] = 15,
4690         [6842] = 16,
4691         [6844] = 17,
4692         [6846] = 18,
4693         [6848] = 19,
4694         [6850] = 20,
4695         [6852] = 21,
4696         [6854] = 22,
4697         [6856] = 23,
4698         [6912] = 0,
4699         [6913] = 1,
4700         [6914] = 2,
4701         [6916] = 3,
4702         [6918] = 4,
4703         [6952] = 5,
4704         [6954] = 6,
4705         [6956] = 7,
4706         [6958] = 8,
4707         [6960] = 9,
4708         [6962] = 10,
4709         [6964] = 11,
4710         [6966] = 12,
4711         [6986] = 13,
4712         [6988] = 14,
4713         [6990] = 15,
4714         [6992] = 16,
4715         [7040] = 0,
4716         [7041] = 1,
4717         [7042] = 2,
4718         [7044] = 3,
4719         [7046] = 4,
4720         [7060] = 5,
4721         [7062] = 6,
4722         [7064] = 7,
4723         [7066] = 8,
4724         [7068] = 9,
4725         [7070] = 10,
4726         [7072] = 11,
4727         [7074] = 12,
4728         [7076] = 13,
4729         [7078] = 14,
4730         [7114] = 15,
4731         [7116] = 16,
4732         [7118] = 17,
4733         [7120] = 18,
4734         [7168] = 0,
4735         [7169] = 1,
4736         [7170] = 2,
4737         [7172] = 3,
4738         [7174] = 4,
4739         [7208] = 8,
4740         [7210] = 9,
4741         [7212] = 10,
4742         [7214] = 11,
4743         [7216] = 12,
4744         [7218] = 13,
4745         [7220] = 14,
4746         [7222] = 15,
4747         [7224] = 16,
4748         [7226] = 17,
4749         [7228] = 18,
4750         [7230] = 19,
4751         [7232] = 20,
4752         [7234] = 21,
4753         [7236] = 22,
4754         [7238] = 23,
4755         [7240] = 24,
4756         [7250] = 5,
4757         [7254] = 6,
4758         [7258] = 7,
4759         [7296] = 0,
4760         [7297] = 1,
4761         [7298] = 2,
4762         [7300] = 3,
4763         [7302] = 4,
4764         [7316] = 8,
4765         [7318] = 9,
4766         [7320] = 10,
4767         [7322] = 11,
4768         [7324] = 12,
4769         [7326] = 13,
4770         [7328] = 14,
4771         [7330] = 15,
4772         [7332] = 16,
4773         [7334] = 17,
4774         [7352] = 18,
4775         [7354] = 19,
4776         [7356] = 20,
4777         [7358] = 21,
4778         [7360] = 22,
4779         [7362] = 23,
4780         [7364] = 24,
4781         [7366] = 25,
4782         [7368] = 26,
4783         [7378] = 5,
4784         [7382] = 6,
4785         [7386] = 7,
4786         [7424] = 0,
4787         [7425] = 1,
4788         [7426] = 2,
4789         [7428] = 3,
4790         [7430] = 4,
4791         [7464] = 8,
4792         [7466] = 9,
4793         [7468] = 10,
4794         [7470] = 11,
4795         [7472] = 12,
4796         [7474] = 13,
4797         [7476] = 14,
4798         [7478] = 15,
4799         [7498] = 16,
4800         [7500] = 17,
4801         [7502] = 18,
4802         [7504] = 19,
4803         [7506] = 5,
4804         [7510] = 6,
4805         [7514] = 7,
4806         [7552] = 0,
4807         [7553] = 1,
4808         [7554] = 2,
4809         [7556] = 3,
4810         [7558] = 4,
4811         [7572] = 8,
4812         [7574] = 9,
4813         [7576] = 10,
4814         [7578] = 11,
4815         [7580] = 12,
4816         [7582] = 13,
4817         [7584] = 14,
4818         [7586] = 15,
4819         [7588] = 16,
4820         [7590] = 17,
4821         [7626] = 18,
4822         [7628] = 19,
4823         [7630] = 20,
4824         [7632] = 21,
4825         [7634] = 5,
4826         [7638] = 6,
4827         [7642] = 7
4828 };