1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2014-2021 Broadcom
6 /* date: Wed Mar 17 11:31:19 2021 */
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"
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,
22 .hash_tbl_entries = 0,
23 .result_byte_order = BNXT_ULP_BYTE_ORDER_LE
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,
32 .hash_tbl_entries = 0,
33 .result_byte_order = BNXT_ULP_BYTE_ORDER_LE
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 = 16,
42 .hash_tbl_entries = 0,
43 .result_byte_order = BNXT_ULP_BYTE_ORDER_LE
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 = 16,
52 .hash_tbl_entries = 0,
53 .result_byte_order = BNXT_ULP_BYTE_ORDER_LE
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,
62 .hash_tbl_entries = 0,
63 .result_byte_order = BNXT_ULP_BYTE_ORDER_LE
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,
72 .hash_tbl_entries = 0,
73 .result_byte_order = BNXT_ULP_BYTE_ORDER_LE
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,
82 .hash_tbl_entries = 1024,
83 .result_byte_order = BNXT_ULP_BYTE_ORDER_LE
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,
92 .hash_tbl_entries = 1024,
93 .result_byte_order = BNXT_ULP_BYTE_ORDER_LE
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,
102 .hash_tbl_entries = 0,
103 .result_byte_order = BNXT_ULP_BYTE_ORDER_LE
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,
112 .hash_tbl_entries = 0,
113 .result_byte_order = BNXT_ULP_BYTE_ORDER_LE
118 const struct bnxt_ulp_template_device_tbls ulp_template_wh_plus_tbls[] = {
119 [BNXT_ULP_TEMPLATE_TYPE_CLASS] = {
120 .tmpl_list = ulp_wh_plus_class_tmpl_list,
121 .tmpl_list_size = ULP_WH_PLUS_CLASS_TMPL_LIST_SIZE,
122 .tbl_list = ulp_wh_plus_class_tbl_list,
123 .tbl_list_size = ULP_WH_PLUS_CLASS_TBL_LIST_SIZE,
124 .key_info_list = ulp_wh_plus_class_key_info_list,
125 .key_info_list_size = ULP_WH_PLUS_CLASS_KEY_INFO_LIST_SIZE,
126 .ident_list = ulp_wh_plus_class_ident_list,
127 .ident_list_size = ULP_WH_PLUS_CLASS_IDENT_LIST_SIZE,
128 .cond_list = ulp_wh_plus_class_cond_list,
129 .cond_list_size = ULP_WH_PLUS_CLASS_COND_LIST_SIZE,
130 .result_field_list = ulp_wh_plus_class_result_field_list,
131 .result_field_list_size = ULP_WH_PLUS_CLASS_RESULT_FIELD_LIST_SIZE
133 [BNXT_ULP_TEMPLATE_TYPE_ACTION] = {
134 .tmpl_list = ulp_wh_plus_act_tmpl_list,
135 .tmpl_list_size = ULP_WH_PLUS_ACT_TMPL_LIST_SIZE,
136 .tbl_list = ulp_wh_plus_act_tbl_list,
137 .tbl_list_size = ULP_WH_PLUS_ACT_TBL_LIST_SIZE,
138 .key_info_list = ulp_wh_plus_act_key_info_list,
139 .key_info_list_size = ULP_WH_PLUS_ACT_KEY_INFO_LIST_SIZE,
140 .ident_list = ulp_wh_plus_act_ident_list,
141 .ident_list_size = ULP_WH_PLUS_ACT_IDENT_LIST_SIZE,
142 .cond_list = ulp_wh_plus_act_cond_list,
143 .cond_list_size = ULP_WH_PLUS_ACT_COND_LIST_SIZE,
144 .result_field_list = ulp_wh_plus_act_result_field_list,
145 .result_field_list_size = ULP_WH_PLUS_ACT_RESULT_FIELD_LIST_SIZE
150 const struct bnxt_ulp_template_device_tbls ulp_template_thor_tbls[] = {
151 [BNXT_ULP_TEMPLATE_TYPE_CLASS] = {
152 .tmpl_list = ulp_thor_class_tmpl_list,
153 .tmpl_list_size = ULP_THOR_CLASS_TMPL_LIST_SIZE,
154 .tbl_list = ulp_thor_class_tbl_list,
155 .tbl_list_size = ULP_THOR_CLASS_TBL_LIST_SIZE,
156 .key_info_list = ulp_thor_class_key_info_list,
157 .key_info_list_size = ULP_THOR_CLASS_KEY_INFO_LIST_SIZE,
158 .ident_list = ulp_thor_class_ident_list,
159 .ident_list_size = ULP_THOR_CLASS_IDENT_LIST_SIZE,
160 .cond_list = ulp_thor_class_cond_list,
161 .cond_list_size = ULP_THOR_CLASS_COND_LIST_SIZE,
162 .result_field_list = ulp_thor_class_result_field_list,
163 .result_field_list_size = ULP_THOR_CLASS_RESULT_FIELD_LIST_SIZE
165 [BNXT_ULP_TEMPLATE_TYPE_ACTION] = {
166 .tmpl_list = ulp_thor_act_tmpl_list,
167 .tmpl_list_size = ULP_THOR_ACT_TMPL_LIST_SIZE,
168 .tbl_list = ulp_thor_act_tbl_list,
169 .tbl_list_size = ULP_THOR_ACT_TBL_LIST_SIZE,
170 .result_field_list = ulp_thor_act_result_field_list,
171 .result_field_list_size = ULP_THOR_ACT_RESULT_FIELD_LIST_SIZE
175 /* List of device specific parameters */
176 struct bnxt_ulp_device_params ulp_device_params[BNXT_ULP_DEVICE_ID_LAST] = {
177 [BNXT_ULP_DEVICE_ID_WH_PLUS] = {
178 .description = "Whitney_Plus",
179 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
180 .encap_byte_swap = 1,
181 .int_flow_db_num_entries = 16384,
182 .ext_flow_db_num_entries = 32768,
183 .mark_db_lfid_entries = 65536,
184 .mark_db_gfid_entries = 65536,
185 .flow_count_db_entries = 16384,
186 .fdb_parent_flow_entries = 2,
187 .num_resources_per_flow = 8,
189 .ext_cntr_table_type = 0,
190 .byte_count_mask = 0x0000000fffffffff,
191 .packet_count_mask = 0xffffffff00000000,
192 .byte_count_shift = 0,
193 .packet_count_shift = 36,
195 .dev_tbls = ulp_template_wh_plus_tbls
197 [BNXT_ULP_DEVICE_ID_THOR] = {
198 .description = "Thor",
199 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
200 .encap_byte_swap = 1,
201 .int_flow_db_num_entries = 16384,
202 .ext_flow_db_num_entries = 32768,
203 .mark_db_lfid_entries = 0,
204 .mark_db_gfid_entries = 0,
205 .flow_count_db_entries = 0,
206 .fdb_parent_flow_entries = 2,
207 .num_resources_per_flow = 8,
209 .ext_cntr_table_type = 0,
210 .byte_count_mask = 0x0000000fffffffff,
211 .packet_count_mask = 0xffffffff00000000,
212 .byte_count_shift = 0,
213 .packet_count_shift = 36,
215 .em_blk_size_bits = 100,
216 .em_blk_align_bits = 128,
217 .em_key_align_bytes = 80,
218 .wc_slice_width = 160,
220 .wc_mode_list = {0x0000000c, 0x0000000e, 0x0000000f, 0x0000000f},
221 .wc_mod_list_max_size = 4,
222 .wc_ctl_size_bits = 32,
223 .dev_tbls = ulp_template_thor_tbls
227 /* Provides act_bitmask */
228 struct bnxt_ulp_shared_act_info ulp_shared_act_info[] = {
229 [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR << 1 |
230 BNXT_ULP_DIRECTION_INGRESS] = {
231 .act_bitmask = BNXT_ULP_ACT_BIT_SHARED_SAMPLE
233 [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR << 1 |
234 BNXT_ULP_DIRECTION_EGRESS] = {
235 .act_bitmask = BNXT_ULP_ACT_BIT_SHARED_SAMPLE
239 /* List of device specific parameters */
240 struct bnxt_ulp_app_capabilities_info ulp_app_cap_info_list[] = {
243 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
248 .device_id = BNXT_ULP_DEVICE_ID_THOR,
253 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
254 .flags = BNXT_ULP_APP_CAP_SHARED_EN
258 .device_id = BNXT_ULP_DEVICE_ID_THOR,
259 .flags = BNXT_ULP_APP_CAP_SHARED_EN
263 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
264 .flags = BNXT_ULP_APP_CAP_SHARED_EN
268 .device_id = BNXT_ULP_DEVICE_ID_THOR,
269 .flags = BNXT_ULP_APP_CAP_SHARED_EN
273 /* List of unnamed app tf resources required to be reserved per app/device */
274 struct bnxt_ulp_resource_resv_info ulp_app_resource_resv_list[] = {
277 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
278 .direction = TF_DIR_RX,
279 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
280 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
285 .device_id = BNXT_ULP_DEVICE_ID_THOR,
286 .direction = TF_DIR_RX,
287 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
288 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
293 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
294 .direction = TF_DIR_RX,
295 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
296 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
301 .device_id = BNXT_ULP_DEVICE_ID_THOR,
302 .direction = TF_DIR_RX,
303 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
304 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
309 /* List of device specific parameters */
310 struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = {
313 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
314 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
315 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
316 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0,
317 .direction = TF_DIR_RX
321 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
322 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
323 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
324 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0,
325 .direction = TF_DIR_RX
329 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
330 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
331 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
332 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1,
333 .direction = TF_DIR_RX
337 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
338 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
339 .resource_type = TF_IDENT_TYPE_EM_PROF,
340 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
341 .direction = TF_DIR_RX
345 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
346 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
347 .resource_type = TF_IDENT_TYPE_WC_PROF,
348 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
349 .direction = TF_DIR_RX
353 .device_id = BNXT_ULP_DEVICE_ID_THOR,
354 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
355 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
356 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0,
357 .direction = TF_DIR_RX
361 .device_id = BNXT_ULP_DEVICE_ID_THOR,
362 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
363 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
364 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0,
365 .direction = TF_DIR_RX
369 .device_id = BNXT_ULP_DEVICE_ID_THOR,
370 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
371 .resource_type = TF_IDENT_TYPE_EM_PROF,
372 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
373 .direction = TF_DIR_RX
377 .device_id = BNXT_ULP_DEVICE_ID_THOR,
378 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
379 .resource_type = TF_IDENT_TYPE_WC_PROF,
380 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
381 .direction = TF_DIR_RX
385 .device_id = BNXT_ULP_DEVICE_ID_THOR,
386 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
387 .resource_type = TF_TBL_TYPE_EM_FKB,
388 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_KEY_ID_0,
389 .direction = TF_DIR_RX
393 .device_id = BNXT_ULP_DEVICE_ID_THOR,
394 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
395 .resource_type = TF_TBL_TYPE_WC_FKB,
396 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
397 .direction = TF_DIR_RX
401 .device_id = BNXT_ULP_DEVICE_ID_THOR,
402 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
403 .resource_type = TF_TBL_TYPE_WC_FKB,
404 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
405 .direction = TF_DIR_TX
409 .device_id = BNXT_ULP_DEVICE_ID_THOR,
410 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
411 .resource_type = TF_IDENT_TYPE_EM_PROF,
412 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
413 .direction = TF_DIR_TX
417 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
418 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
419 .resource_type = TF_IDENT_TYPE_WC_PROF,
420 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
421 .direction = TF_DIR_TX
425 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
426 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
427 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
428 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0,
429 .direction = TF_DIR_RX
433 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
434 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
435 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
436 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0,
437 .direction = TF_DIR_RX
441 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
442 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
443 .resource_type = TF_IDENT_TYPE_EM_PROF,
444 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
445 .direction = TF_DIR_RX
449 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
450 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
451 .resource_type = TF_IDENT_TYPE_WC_PROF,
452 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
453 .direction = TF_DIR_RX
457 .device_id = BNXT_ULP_DEVICE_ID_THOR,
458 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
459 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
460 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0,
461 .direction = TF_DIR_RX
465 .device_id = BNXT_ULP_DEVICE_ID_THOR,
466 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
467 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
468 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0,
469 .direction = TF_DIR_RX
473 .device_id = BNXT_ULP_DEVICE_ID_THOR,
474 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
475 .resource_type = TF_IDENT_TYPE_EM_PROF,
476 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
477 .direction = TF_DIR_RX
481 .device_id = BNXT_ULP_DEVICE_ID_THOR,
482 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
483 .resource_type = TF_IDENT_TYPE_WC_PROF,
484 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
485 .direction = TF_DIR_RX
489 .device_id = BNXT_ULP_DEVICE_ID_THOR,
490 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
491 .resource_type = TF_TBL_TYPE_EM_FKB,
492 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_KEY_ID_0,
493 .direction = TF_DIR_RX
497 .device_id = BNXT_ULP_DEVICE_ID_THOR,
498 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
499 .resource_type = TF_TBL_TYPE_WC_FKB,
500 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
501 .direction = TF_DIR_RX
505 .device_id = BNXT_ULP_DEVICE_ID_THOR,
506 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
507 .resource_type = TF_TBL_TYPE_WC_FKB,
508 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
509 .direction = TF_DIR_TX
513 .device_id = BNXT_ULP_DEVICE_ID_THOR,
514 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
515 .resource_type = TF_IDENT_TYPE_EM_PROF,
516 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
517 .direction = TF_DIR_TX
521 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
522 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
523 .resource_type = TF_IDENT_TYPE_WC_PROF,
524 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
525 .direction = TF_DIR_TX
529 /* List of device specific parameters */
530 struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
533 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
534 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
535 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
536 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
537 .direction = TF_DIR_RX
541 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
542 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
543 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
544 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
545 .direction = TF_DIR_TX
549 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
550 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
551 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
552 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
553 .direction = TF_DIR_TX
557 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
558 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
559 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
560 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
561 .direction = TF_DIR_RX
565 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
566 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
567 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
568 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
569 .direction = TF_DIR_TX
573 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
574 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
575 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
576 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID,
577 .direction = TF_DIR_RX
581 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
582 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
583 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
584 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
585 .direction = TF_DIR_RX
589 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
590 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
591 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
592 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
593 .direction = TF_DIR_TX
597 .device_id = BNXT_ULP_DEVICE_ID_THOR,
598 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
599 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
600 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
601 .direction = TF_DIR_RX
605 .device_id = BNXT_ULP_DEVICE_ID_THOR,
606 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
607 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
608 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
609 .direction = TF_DIR_TX
613 .device_id = BNXT_ULP_DEVICE_ID_THOR,
614 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
615 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
616 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
617 .direction = TF_DIR_TX
621 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
622 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
623 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
624 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
625 .direction = TF_DIR_RX
629 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
630 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
631 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
632 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
633 .direction = TF_DIR_TX
637 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
638 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
639 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
640 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
641 .direction = TF_DIR_TX
645 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
646 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
647 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
648 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
649 .direction = TF_DIR_RX
653 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
654 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
655 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
656 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
657 .direction = TF_DIR_TX
661 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
662 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
663 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
664 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID,
665 .direction = TF_DIR_RX
669 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
670 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
671 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
672 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
673 .direction = TF_DIR_RX
677 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
678 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
679 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
680 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
681 .direction = TF_DIR_TX
685 .device_id = BNXT_ULP_DEVICE_ID_THOR,
686 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
687 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
688 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
689 .direction = TF_DIR_RX
693 .device_id = BNXT_ULP_DEVICE_ID_THOR,
694 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
695 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
696 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
697 .direction = TF_DIR_TX
701 .device_id = BNXT_ULP_DEVICE_ID_THOR,
702 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
703 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
704 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
705 .direction = TF_DIR_TX
709 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
710 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
711 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
712 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
713 .direction = TF_DIR_RX
717 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
718 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
719 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
720 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
721 .direction = TF_DIR_TX
725 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
726 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
727 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
728 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
729 .direction = TF_DIR_TX
733 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
734 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
735 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
736 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
737 .direction = TF_DIR_RX
741 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
742 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
743 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
744 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
745 .direction = TF_DIR_TX
749 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
750 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
751 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
752 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID,
753 .direction = TF_DIR_RX
757 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
758 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
759 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
760 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
761 .direction = TF_DIR_RX
765 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
766 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
767 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
768 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
769 .direction = TF_DIR_TX
773 .device_id = BNXT_ULP_DEVICE_ID_THOR,
774 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
775 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
776 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
777 .direction = TF_DIR_RX
781 .device_id = BNXT_ULP_DEVICE_ID_THOR,
782 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
783 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
784 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
785 .direction = TF_DIR_TX
789 .device_id = BNXT_ULP_DEVICE_ID_THOR,
790 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
791 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
792 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
793 .direction = TF_DIR_TX
797 /* List of tf resources required to be reserved per app/device */
798 struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
801 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
802 .direction = TF_DIR_RX,
803 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
804 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
809 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
810 .direction = TF_DIR_RX,
811 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
812 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
817 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
818 .direction = TF_DIR_RX,
819 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
820 .resource_type = TF_IDENT_TYPE_WC_PROF,
825 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
826 .direction = TF_DIR_RX,
827 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
828 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
833 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
834 .direction = TF_DIR_RX,
835 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
836 .resource_type = TF_IDENT_TYPE_EM_PROF,
841 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
842 .direction = TF_DIR_RX,
843 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
844 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
849 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
850 .direction = TF_DIR_RX,
851 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
852 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
857 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
858 .direction = TF_DIR_RX,
859 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
860 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
865 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
866 .direction = TF_DIR_RX,
867 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
868 .resource_type = TF_TBL_TYPE_ACT_ENCAP_8B,
873 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
874 .direction = TF_DIR_RX,
875 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
876 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
881 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
882 .direction = TF_DIR_RX,
883 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
884 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC,
889 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
890 .direction = TF_DIR_RX,
891 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
892 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
897 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
898 .direction = TF_DIR_RX,
899 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
900 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
905 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
906 .direction = TF_DIR_RX,
907 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
908 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
913 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
914 .direction = TF_DIR_RX,
915 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
916 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
921 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
922 .direction = TF_DIR_RX,
923 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
924 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
929 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
930 .direction = TF_DIR_RX,
931 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
932 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
937 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
938 .direction = TF_DIR_RX,
939 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
940 .resource_type = TF_EM_TBL_TYPE_TBL_SCOPE,
945 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
946 .direction = TF_DIR_TX,
947 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
948 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
953 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
954 .direction = TF_DIR_TX,
955 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
956 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
961 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
962 .direction = TF_DIR_TX,
963 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
964 .resource_type = TF_IDENT_TYPE_WC_PROF,
969 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
970 .direction = TF_DIR_TX,
971 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
972 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
977 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
978 .direction = TF_DIR_TX,
979 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
980 .resource_type = TF_IDENT_TYPE_EM_PROF,
985 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
986 .direction = TF_DIR_TX,
987 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
988 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
993 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
994 .direction = TF_DIR_TX,
995 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
996 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
1001 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1002 .direction = TF_DIR_TX,
1003 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1004 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
1009 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1010 .direction = TF_DIR_TX,
1011 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1012 .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
1017 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1018 .direction = TF_DIR_TX,
1019 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1020 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
1025 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1026 .direction = TF_DIR_TX,
1027 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1028 .resource_type = TF_TBL_TYPE_ACT_ENCAP_8B,
1033 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1034 .direction = TF_DIR_TX,
1035 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1036 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1041 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1042 .direction = TF_DIR_TX,
1043 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1044 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV6,
1049 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1050 .direction = TF_DIR_TX,
1051 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1052 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
1057 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1058 .direction = TF_DIR_TX,
1059 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1060 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1065 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1066 .direction = TF_DIR_TX,
1067 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1068 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1073 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1074 .direction = TF_DIR_TX,
1075 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1076 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
1081 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1082 .direction = TF_DIR_TX,
1083 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1084 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
1089 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1090 .direction = TF_DIR_TX,
1091 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1092 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
1097 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1098 .direction = TF_DIR_TX,
1099 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1100 .resource_type = TF_EM_TBL_TYPE_TBL_SCOPE,
1105 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1106 .direction = TF_DIR_RX,
1107 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1108 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
1113 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1114 .direction = TF_DIR_RX,
1115 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1116 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
1121 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1122 .direction = TF_DIR_RX,
1123 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1124 .resource_type = TF_IDENT_TYPE_WC_PROF,
1129 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1130 .direction = TF_DIR_RX,
1131 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1132 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
1137 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1138 .direction = TF_DIR_RX,
1139 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1140 .resource_type = TF_IDENT_TYPE_EM_PROF,
1145 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1146 .direction = TF_DIR_RX,
1147 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1148 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1153 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1154 .direction = TF_DIR_RX,
1155 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1156 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
1161 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1162 .direction = TF_DIR_RX,
1163 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1164 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
1169 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1170 .direction = TF_DIR_RX,
1171 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1172 .resource_type = TF_TBL_TYPE_EM_FKB,
1177 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1178 .direction = TF_DIR_RX,
1179 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1180 .resource_type = TF_TBL_TYPE_WC_FKB,
1185 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1186 .direction = TF_DIR_RX,
1187 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1188 .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
1193 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1194 .direction = TF_DIR_RX,
1195 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1196 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1201 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1202 .direction = TF_DIR_RX,
1203 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1204 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1209 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1210 .direction = TF_DIR_RX,
1211 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1212 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1217 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1218 .direction = TF_DIR_RX,
1219 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1220 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
1225 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1226 .direction = TF_DIR_RX,
1227 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1228 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
1233 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1234 .direction = TF_DIR_RX,
1235 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1236 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
1241 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1242 .direction = TF_DIR_TX,
1243 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1244 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
1249 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1250 .direction = TF_DIR_TX,
1251 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1252 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
1257 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1258 .direction = TF_DIR_TX,
1259 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1260 .resource_type = TF_IDENT_TYPE_WC_PROF,
1265 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1266 .direction = TF_DIR_TX,
1267 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1268 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
1273 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1274 .direction = TF_DIR_TX,
1275 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1276 .resource_type = TF_IDENT_TYPE_EM_PROF,
1281 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1282 .direction = TF_DIR_TX,
1283 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1284 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1289 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1290 .direction = TF_DIR_TX,
1291 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1292 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
1297 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1298 .direction = TF_DIR_TX,
1299 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1300 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
1305 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1306 .direction = TF_DIR_TX,
1307 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1308 .resource_type = TF_TBL_TYPE_EM_FKB,
1313 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1314 .direction = TF_DIR_TX,
1315 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1316 .resource_type = TF_TBL_TYPE_WC_FKB,
1321 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1322 .direction = TF_DIR_TX,
1323 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1324 .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
1329 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1330 .direction = TF_DIR_TX,
1331 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1332 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1337 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1338 .direction = TF_DIR_TX,
1339 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1340 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
1345 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1346 .direction = TF_DIR_TX,
1347 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1348 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1353 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1354 .direction = TF_DIR_TX,
1355 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1356 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1361 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1362 .direction = TF_DIR_TX,
1363 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1364 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
1369 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1370 .direction = TF_DIR_TX,
1371 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1372 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
1377 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1378 .direction = TF_DIR_TX,
1379 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1380 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
1385 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1386 .direction = TF_DIR_RX,
1387 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1388 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
1393 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1394 .direction = TF_DIR_RX,
1395 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1396 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
1401 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1402 .direction = TF_DIR_RX,
1403 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1404 .resource_type = TF_IDENT_TYPE_WC_PROF,
1409 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1410 .direction = TF_DIR_RX,
1411 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1412 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
1417 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1418 .direction = TF_DIR_RX,
1419 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1420 .resource_type = TF_IDENT_TYPE_EM_PROF,
1425 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1426 .direction = TF_DIR_RX,
1427 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1428 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1433 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1434 .direction = TF_DIR_RX,
1435 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1436 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
1441 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1442 .direction = TF_DIR_RX,
1443 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1444 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
1449 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1450 .direction = TF_DIR_RX,
1451 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1452 .resource_type = TF_TBL_TYPE_ACT_ENCAP_8B,
1457 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1458 .direction = TF_DIR_RX,
1459 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1460 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
1465 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1466 .direction = TF_DIR_RX,
1467 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1468 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC,
1473 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1474 .direction = TF_DIR_RX,
1475 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1476 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
1481 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1482 .direction = TF_DIR_RX,
1483 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1484 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1489 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1490 .direction = TF_DIR_RX,
1491 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1492 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1497 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1498 .direction = TF_DIR_RX,
1499 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1500 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
1505 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1506 .direction = TF_DIR_RX,
1507 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1508 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
1513 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1514 .direction = TF_DIR_RX,
1515 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1516 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
1521 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1522 .direction = TF_DIR_RX,
1523 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1524 .resource_type = TF_EM_TBL_TYPE_TBL_SCOPE,
1529 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1530 .direction = TF_DIR_TX,
1531 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1532 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
1537 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1538 .direction = TF_DIR_TX,
1539 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1540 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
1545 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1546 .direction = TF_DIR_TX,
1547 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1548 .resource_type = TF_IDENT_TYPE_WC_PROF,
1553 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1554 .direction = TF_DIR_TX,
1555 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1556 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
1561 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1562 .direction = TF_DIR_TX,
1563 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1564 .resource_type = TF_IDENT_TYPE_EM_PROF,
1569 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1570 .direction = TF_DIR_TX,
1571 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1572 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1577 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1578 .direction = TF_DIR_TX,
1579 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1580 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
1585 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1586 .direction = TF_DIR_TX,
1587 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1588 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
1593 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1594 .direction = TF_DIR_TX,
1595 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1596 .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
1601 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1602 .direction = TF_DIR_TX,
1603 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1604 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
1609 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1610 .direction = TF_DIR_TX,
1611 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1612 .resource_type = TF_TBL_TYPE_ACT_ENCAP_8B,
1617 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1618 .direction = TF_DIR_TX,
1619 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1620 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1625 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1626 .direction = TF_DIR_TX,
1627 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1628 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV6,
1633 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1634 .direction = TF_DIR_TX,
1635 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1636 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
1641 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1642 .direction = TF_DIR_TX,
1643 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1644 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1649 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1650 .direction = TF_DIR_TX,
1651 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1652 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1657 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1658 .direction = TF_DIR_TX,
1659 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1660 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
1665 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1666 .direction = TF_DIR_TX,
1667 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1668 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
1673 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1674 .direction = TF_DIR_TX,
1675 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1676 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
1681 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1682 .direction = TF_DIR_TX,
1683 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1684 .resource_type = TF_EM_TBL_TYPE_TBL_SCOPE,
1689 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1690 .direction = TF_DIR_RX,
1691 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1692 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
1697 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1698 .direction = TF_DIR_RX,
1699 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1700 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
1705 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1706 .direction = TF_DIR_RX,
1707 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1708 .resource_type = TF_IDENT_TYPE_WC_PROF,
1713 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1714 .direction = TF_DIR_RX,
1715 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1716 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
1721 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1722 .direction = TF_DIR_RX,
1723 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1724 .resource_type = TF_IDENT_TYPE_EM_PROF,
1729 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1730 .direction = TF_DIR_RX,
1731 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1732 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1737 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1738 .direction = TF_DIR_RX,
1739 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1740 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
1745 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1746 .direction = TF_DIR_RX,
1747 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1748 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
1753 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1754 .direction = TF_DIR_RX,
1755 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1756 .resource_type = TF_TBL_TYPE_EM_FKB,
1761 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1762 .direction = TF_DIR_RX,
1763 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1764 .resource_type = TF_TBL_TYPE_WC_FKB,
1769 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1770 .direction = TF_DIR_RX,
1771 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1772 .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
1777 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1778 .direction = TF_DIR_RX,
1779 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1780 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1785 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1786 .direction = TF_DIR_RX,
1787 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1788 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1793 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1794 .direction = TF_DIR_RX,
1795 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1796 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1801 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1802 .direction = TF_DIR_RX,
1803 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1804 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
1809 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1810 .direction = TF_DIR_RX,
1811 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1812 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
1817 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1818 .direction = TF_DIR_RX,
1819 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1820 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
1825 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1826 .direction = TF_DIR_TX,
1827 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1828 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
1833 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1834 .direction = TF_DIR_TX,
1835 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1836 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
1841 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1842 .direction = TF_DIR_TX,
1843 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1844 .resource_type = TF_IDENT_TYPE_WC_PROF,
1849 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1850 .direction = TF_DIR_TX,
1851 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1852 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
1857 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1858 .direction = TF_DIR_TX,
1859 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1860 .resource_type = TF_IDENT_TYPE_EM_PROF,
1865 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1866 .direction = TF_DIR_TX,
1867 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1868 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1873 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1874 .direction = TF_DIR_TX,
1875 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1876 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
1881 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1882 .direction = TF_DIR_TX,
1883 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1884 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
1889 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1890 .direction = TF_DIR_TX,
1891 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1892 .resource_type = TF_TBL_TYPE_EM_FKB,
1897 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1898 .direction = TF_DIR_TX,
1899 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1900 .resource_type = TF_TBL_TYPE_WC_FKB,
1905 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1906 .direction = TF_DIR_TX,
1907 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1908 .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
1913 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1914 .direction = TF_DIR_TX,
1915 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1916 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1921 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1922 .direction = TF_DIR_TX,
1923 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1924 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
1929 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1930 .direction = TF_DIR_TX,
1931 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1932 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1937 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1938 .direction = TF_DIR_TX,
1939 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1940 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1945 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1946 .direction = TF_DIR_TX,
1947 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1948 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
1953 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1954 .direction = TF_DIR_TX,
1955 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1956 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
1961 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1962 .direction = TF_DIR_TX,
1963 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1964 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
1969 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1970 .direction = TF_DIR_RX,
1971 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1972 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
1977 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1978 .direction = TF_DIR_RX,
1979 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1980 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
1985 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1986 .direction = TF_DIR_RX,
1987 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1988 .resource_type = TF_IDENT_TYPE_WC_PROF,
1993 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1994 .direction = TF_DIR_RX,
1995 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1996 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
2001 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2002 .direction = TF_DIR_RX,
2003 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2004 .resource_type = TF_IDENT_TYPE_EM_PROF,
2009 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2010 .direction = TF_DIR_RX,
2011 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2012 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
2017 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2018 .direction = TF_DIR_RX,
2019 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2020 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
2025 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2026 .direction = TF_DIR_RX,
2027 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2028 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
2033 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2034 .direction = TF_DIR_RX,
2035 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2036 .resource_type = TF_TBL_TYPE_ACT_ENCAP_8B,
2041 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2042 .direction = TF_DIR_RX,
2043 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2044 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
2049 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2050 .direction = TF_DIR_RX,
2051 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2052 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC,
2057 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2058 .direction = TF_DIR_RX,
2059 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2060 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
2065 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2066 .direction = TF_DIR_RX,
2067 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2068 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
2073 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2074 .direction = TF_DIR_RX,
2075 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2076 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2081 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2082 .direction = TF_DIR_RX,
2083 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2084 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
2089 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2090 .direction = TF_DIR_RX,
2091 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2092 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
2097 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2098 .direction = TF_DIR_RX,
2099 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2100 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
2105 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2106 .direction = TF_DIR_RX,
2107 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2108 .resource_type = TF_EM_TBL_TYPE_TBL_SCOPE,
2113 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2114 .direction = TF_DIR_TX,
2115 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2116 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
2121 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2122 .direction = TF_DIR_TX,
2123 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2124 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
2129 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2130 .direction = TF_DIR_TX,
2131 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2132 .resource_type = TF_IDENT_TYPE_WC_PROF,
2137 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2138 .direction = TF_DIR_TX,
2139 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2140 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
2145 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2146 .direction = TF_DIR_TX,
2147 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2148 .resource_type = TF_IDENT_TYPE_EM_PROF,
2153 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2154 .direction = TF_DIR_TX,
2155 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2156 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
2161 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2162 .direction = TF_DIR_TX,
2163 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2164 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
2169 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2170 .direction = TF_DIR_TX,
2171 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2172 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
2177 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2178 .direction = TF_DIR_TX,
2179 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2180 .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
2185 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2186 .direction = TF_DIR_TX,
2187 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2188 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
2193 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2194 .direction = TF_DIR_TX,
2195 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2196 .resource_type = TF_TBL_TYPE_ACT_ENCAP_8B,
2201 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2202 .direction = TF_DIR_TX,
2203 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2204 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
2209 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2210 .direction = TF_DIR_TX,
2211 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2212 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV6,
2217 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2218 .direction = TF_DIR_TX,
2219 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2220 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
2225 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2226 .direction = TF_DIR_TX,
2227 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2228 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
2233 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2234 .direction = TF_DIR_TX,
2235 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2236 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2241 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2242 .direction = TF_DIR_TX,
2243 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2244 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
2249 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2250 .direction = TF_DIR_TX,
2251 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2252 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
2257 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2258 .direction = TF_DIR_TX,
2259 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2260 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
2265 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2266 .direction = TF_DIR_TX,
2267 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2268 .resource_type = TF_EM_TBL_TYPE_TBL_SCOPE,
2273 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2274 .direction = TF_DIR_RX,
2275 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2276 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
2281 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2282 .direction = TF_DIR_RX,
2283 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2284 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
2289 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2290 .direction = TF_DIR_RX,
2291 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2292 .resource_type = TF_IDENT_TYPE_WC_PROF,
2297 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2298 .direction = TF_DIR_RX,
2299 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2300 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
2305 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2306 .direction = TF_DIR_RX,
2307 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2308 .resource_type = TF_IDENT_TYPE_EM_PROF,
2313 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2314 .direction = TF_DIR_RX,
2315 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2316 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
2321 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2322 .direction = TF_DIR_RX,
2323 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2324 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
2329 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2330 .direction = TF_DIR_RX,
2331 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2332 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
2337 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2338 .direction = TF_DIR_RX,
2339 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2340 .resource_type = TF_TBL_TYPE_EM_FKB,
2345 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2346 .direction = TF_DIR_RX,
2347 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2348 .resource_type = TF_TBL_TYPE_WC_FKB,
2353 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2354 .direction = TF_DIR_RX,
2355 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2356 .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
2361 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2362 .direction = TF_DIR_RX,
2363 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2364 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
2369 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2370 .direction = TF_DIR_RX,
2371 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2372 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
2377 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2378 .direction = TF_DIR_RX,
2379 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2380 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2385 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2386 .direction = TF_DIR_RX,
2387 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2388 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
2393 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2394 .direction = TF_DIR_RX,
2395 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2396 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
2401 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2402 .direction = TF_DIR_RX,
2403 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2404 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
2409 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2410 .direction = TF_DIR_TX,
2411 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2412 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
2417 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2418 .direction = TF_DIR_TX,
2419 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2420 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
2425 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2426 .direction = TF_DIR_TX,
2427 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2428 .resource_type = TF_IDENT_TYPE_WC_PROF,
2433 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2434 .direction = TF_DIR_TX,
2435 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2436 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
2441 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2442 .direction = TF_DIR_TX,
2443 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2444 .resource_type = TF_IDENT_TYPE_EM_PROF,
2449 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2450 .direction = TF_DIR_TX,
2451 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2452 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
2457 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2458 .direction = TF_DIR_TX,
2459 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2460 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
2465 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2466 .direction = TF_DIR_TX,
2467 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2468 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
2473 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2474 .direction = TF_DIR_TX,
2475 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2476 .resource_type = TF_TBL_TYPE_EM_FKB,
2481 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2482 .direction = TF_DIR_TX,
2483 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2484 .resource_type = TF_TBL_TYPE_WC_FKB,
2489 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2490 .direction = TF_DIR_TX,
2491 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2492 .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
2497 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2498 .direction = TF_DIR_TX,
2499 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2500 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
2505 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2506 .direction = TF_DIR_TX,
2507 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2508 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
2513 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2514 .direction = TF_DIR_TX,
2515 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2516 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
2521 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2522 .direction = TF_DIR_TX,
2523 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2524 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2529 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2530 .direction = TF_DIR_TX,
2531 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2532 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
2537 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2538 .direction = TF_DIR_TX,
2539 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2540 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
2545 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2546 .direction = TF_DIR_TX,
2547 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2548 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
2553 uint32_t ulp_act_prop_map_table[] = {
2554 [BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ] =
2555 BNXT_ULP_ACT_PROP_SZ_ENCAP_TUN_SZ,
2556 [BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ] =
2557 BNXT_ULP_ACT_PROP_SZ_ENCAP_IP_SZ,
2558 [BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ] =
2559 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG_SZ,
2560 [BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE] =
2561 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG_TYPE,
2562 [BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_NUM] =
2563 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG_NUM,
2564 [BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE] =
2565 BNXT_ULP_ACT_PROP_SZ_ENCAP_L3_TYPE,
2566 [BNXT_ULP_ACT_PROP_IDX_MPLS_POP_NUM] =
2567 BNXT_ULP_ACT_PROP_SZ_MPLS_POP_NUM,
2568 [BNXT_ULP_ACT_PROP_IDX_MPLS_PUSH_NUM] =
2569 BNXT_ULP_ACT_PROP_SZ_MPLS_PUSH_NUM,
2570 [BNXT_ULP_ACT_PROP_IDX_PORT_ID] =
2571 BNXT_ULP_ACT_PROP_SZ_PORT_ID,
2572 [BNXT_ULP_ACT_PROP_IDX_VNIC] =
2573 BNXT_ULP_ACT_PROP_SZ_VNIC,
2574 [BNXT_ULP_ACT_PROP_IDX_VPORT] =
2575 BNXT_ULP_ACT_PROP_SZ_VPORT,
2576 [BNXT_ULP_ACT_PROP_IDX_MARK] =
2577 BNXT_ULP_ACT_PROP_SZ_MARK,
2578 [BNXT_ULP_ACT_PROP_IDX_COUNT] =
2579 BNXT_ULP_ACT_PROP_SZ_COUNT,
2580 [BNXT_ULP_ACT_PROP_IDX_METER] =
2581 BNXT_ULP_ACT_PROP_SZ_METER,
2582 [BNXT_ULP_ACT_PROP_IDX_SET_MAC_SRC] =
2583 BNXT_ULP_ACT_PROP_SZ_SET_MAC_SRC,
2584 [BNXT_ULP_ACT_PROP_IDX_SET_MAC_DST] =
2585 BNXT_ULP_ACT_PROP_SZ_SET_MAC_DST,
2586 [BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN] =
2587 BNXT_ULP_ACT_PROP_SZ_PUSH_VLAN,
2588 [BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP] =
2589 BNXT_ULP_ACT_PROP_SZ_SET_VLAN_PCP,
2590 [BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID] =
2591 BNXT_ULP_ACT_PROP_SZ_SET_VLAN_VID,
2592 [BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC] =
2593 BNXT_ULP_ACT_PROP_SZ_SET_IPV4_SRC,
2594 [BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST] =
2595 BNXT_ULP_ACT_PROP_SZ_SET_IPV4_DST,
2596 [BNXT_ULP_ACT_PROP_IDX_SET_IPV6_SRC] =
2597 BNXT_ULP_ACT_PROP_SZ_SET_IPV6_SRC,
2598 [BNXT_ULP_ACT_PROP_IDX_SET_IPV6_DST] =
2599 BNXT_ULP_ACT_PROP_SZ_SET_IPV6_DST,
2600 [BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC] =
2601 BNXT_ULP_ACT_PROP_SZ_SET_TP_SRC,
2602 [BNXT_ULP_ACT_PROP_IDX_SET_TP_DST] =
2603 BNXT_ULP_ACT_PROP_SZ_SET_TP_DST,
2604 [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_0] =
2605 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_0,
2606 [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_1] =
2607 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_1,
2608 [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_2] =
2609 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_2,
2610 [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_3] =
2611 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_3,
2612 [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_4] =
2613 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_4,
2614 [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_5] =
2615 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_5,
2616 [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_6] =
2617 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_6,
2618 [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_7] =
2619 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_7,
2620 [BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC] =
2621 BNXT_ULP_ACT_PROP_SZ_ENCAP_L2_DMAC,
2622 [BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC] =
2623 BNXT_ULP_ACT_PROP_SZ_ENCAP_L2_SMAC,
2624 [BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG] =
2625 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG,
2626 [BNXT_ULP_ACT_PROP_IDX_ENCAP_IP] =
2627 BNXT_ULP_ACT_PROP_SZ_ENCAP_IP,
2628 [BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC] =
2629 BNXT_ULP_ACT_PROP_SZ_ENCAP_IP_SRC,
2630 [BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP] =
2631 BNXT_ULP_ACT_PROP_SZ_ENCAP_UDP,
2632 [BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN] =
2633 BNXT_ULP_ACT_PROP_SZ_ENCAP_TUN,
2634 [BNXT_ULP_ACT_PROP_IDX_JUMP] =
2635 BNXT_ULP_ACT_PROP_SZ_JUMP,
2636 [BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE] =
2637 BNXT_ULP_ACT_PROP_SZ_SHARED_HANDLE,
2638 [BNXT_ULP_ACT_PROP_IDX_LAST] =
2639 BNXT_ULP_ACT_PROP_SZ_LAST
2642 uint8_t ulp_glb_field_tbl[] = {