1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2014-2021 Broadcom
6 /* date: Wed Apr 14 09:56:27 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 = 16384,
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 |
255 BNXT_ULP_APP_CAP_HOT_UPGRADE_EN
259 .device_id = BNXT_ULP_DEVICE_ID_THOR,
260 .flags = BNXT_ULP_APP_CAP_SHARED_EN |
261 BNXT_ULP_APP_CAP_HOT_UPGRADE_EN
265 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
266 .flags = BNXT_ULP_APP_CAP_SHARED_EN
270 .device_id = BNXT_ULP_DEVICE_ID_THOR,
271 .flags = BNXT_ULP_APP_CAP_SHARED_EN
275 /* List of unnamed app tf resources required to be reserved per app/device */
276 struct bnxt_ulp_resource_resv_info ulp_app_resource_resv_list[] = {
279 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
280 .direction = TF_DIR_RX,
281 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
282 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
287 .device_id = BNXT_ULP_DEVICE_ID_THOR,
288 .direction = TF_DIR_RX,
289 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
290 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
295 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
296 .direction = TF_DIR_RX,
297 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
298 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
303 .device_id = BNXT_ULP_DEVICE_ID_THOR,
304 .direction = TF_DIR_RX,
305 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
306 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
311 /* List of global app tf resources required to be reserved per app/device */
312 struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = {
315 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
316 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
317 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
318 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0,
319 .direction = TF_DIR_RX
323 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
324 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
325 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
326 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0,
327 .direction = TF_DIR_RX
331 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
332 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
333 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
334 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1,
335 .direction = TF_DIR_RX
339 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
340 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
341 .resource_type = TF_IDENT_TYPE_EM_PROF,
342 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
343 .direction = TF_DIR_RX
347 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
348 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
349 .resource_type = TF_IDENT_TYPE_WC_PROF,
350 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
351 .direction = TF_DIR_RX
355 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
356 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
357 .resource_type = TF_IDENT_TYPE_WC_PROF,
358 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1,
359 .direction = TF_DIR_RX
363 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
364 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
365 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
366 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_0,
367 .direction = TF_DIR_RX
371 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
372 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
373 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
374 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_1,
375 .direction = TF_DIR_RX
379 .device_id = BNXT_ULP_DEVICE_ID_THOR,
380 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
381 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
382 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0,
383 .direction = TF_DIR_RX
387 .device_id = BNXT_ULP_DEVICE_ID_THOR,
388 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
389 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
390 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0,
391 .direction = TF_DIR_RX
395 .device_id = BNXT_ULP_DEVICE_ID_THOR,
396 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
397 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
398 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1,
399 .direction = TF_DIR_RX
403 .device_id = BNXT_ULP_DEVICE_ID_THOR,
404 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
405 .resource_type = TF_IDENT_TYPE_EM_PROF,
406 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
407 .direction = TF_DIR_RX
411 .device_id = BNXT_ULP_DEVICE_ID_THOR,
412 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
413 .resource_type = TF_IDENT_TYPE_WC_PROF,
414 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
415 .direction = TF_DIR_RX
419 .device_id = BNXT_ULP_DEVICE_ID_THOR,
420 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
421 .resource_type = TF_IDENT_TYPE_WC_PROF,
422 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1,
423 .direction = TF_DIR_RX
427 .device_id = BNXT_ULP_DEVICE_ID_THOR,
428 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
429 .resource_type = TF_TBL_TYPE_EM_FKB,
430 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_KEY_ID_0,
431 .direction = TF_DIR_RX
435 .device_id = BNXT_ULP_DEVICE_ID_THOR,
436 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
437 .resource_type = TF_TBL_TYPE_WC_FKB,
438 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
439 .direction = TF_DIR_RX
443 .device_id = BNXT_ULP_DEVICE_ID_THOR,
444 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
445 .resource_type = TF_TBL_TYPE_WC_FKB,
446 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_1,
447 .direction = TF_DIR_RX
451 .device_id = BNXT_ULP_DEVICE_ID_THOR,
452 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
453 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
454 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_0,
455 .direction = TF_DIR_RX
459 .device_id = BNXT_ULP_DEVICE_ID_THOR,
460 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
461 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
462 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_1,
463 .direction = TF_DIR_RX
467 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
468 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
469 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
470 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0,
471 .direction = TF_DIR_RX
475 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
476 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
477 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
478 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0,
479 .direction = TF_DIR_RX
483 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
484 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
485 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
486 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1,
487 .direction = TF_DIR_RX
491 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
492 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
493 .resource_type = TF_IDENT_TYPE_EM_PROF,
494 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
495 .direction = TF_DIR_RX
499 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
500 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
501 .resource_type = TF_IDENT_TYPE_WC_PROF,
502 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
503 .direction = TF_DIR_RX
507 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
508 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
509 .resource_type = TF_IDENT_TYPE_WC_PROF,
510 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1,
511 .direction = TF_DIR_RX
515 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
516 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
517 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
518 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_0,
519 .direction = TF_DIR_RX
523 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
524 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
525 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
526 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_1,
527 .direction = TF_DIR_RX
531 .device_id = BNXT_ULP_DEVICE_ID_THOR,
532 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
533 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
534 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0,
535 .direction = TF_DIR_RX
539 .device_id = BNXT_ULP_DEVICE_ID_THOR,
540 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
541 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
542 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0,
543 .direction = TF_DIR_RX
547 .device_id = BNXT_ULP_DEVICE_ID_THOR,
548 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
549 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
550 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1,
551 .direction = TF_DIR_RX
555 .device_id = BNXT_ULP_DEVICE_ID_THOR,
556 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
557 .resource_type = TF_IDENT_TYPE_EM_PROF,
558 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
559 .direction = TF_DIR_RX
563 .device_id = BNXT_ULP_DEVICE_ID_THOR,
564 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
565 .resource_type = TF_IDENT_TYPE_WC_PROF,
566 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
567 .direction = TF_DIR_RX
571 .device_id = BNXT_ULP_DEVICE_ID_THOR,
572 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
573 .resource_type = TF_IDENT_TYPE_WC_PROF,
574 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1,
575 .direction = TF_DIR_RX
579 .device_id = BNXT_ULP_DEVICE_ID_THOR,
580 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
581 .resource_type = TF_TBL_TYPE_EM_FKB,
582 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_KEY_ID_0,
583 .direction = TF_DIR_RX
587 .device_id = BNXT_ULP_DEVICE_ID_THOR,
588 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
589 .resource_type = TF_TBL_TYPE_WC_FKB,
590 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
591 .direction = TF_DIR_RX
595 .device_id = BNXT_ULP_DEVICE_ID_THOR,
596 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
597 .resource_type = TF_TBL_TYPE_WC_FKB,
598 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_1,
599 .direction = TF_DIR_RX
603 .device_id = BNXT_ULP_DEVICE_ID_THOR,
604 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
605 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
606 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_0,
607 .direction = TF_DIR_RX
611 .device_id = BNXT_ULP_DEVICE_ID_THOR,
612 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
613 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
614 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_1,
615 .direction = TF_DIR_RX
619 /* List of global tf resources required to be reserved per app/device */
620 struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
623 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
624 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
625 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
626 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
627 .direction = TF_DIR_RX
631 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
632 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
633 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
634 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
635 .direction = TF_DIR_TX
639 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
640 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
641 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
642 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
643 .direction = TF_DIR_TX
647 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
648 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
649 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
650 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
651 .direction = TF_DIR_RX
655 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
656 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
657 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
658 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
659 .direction = TF_DIR_TX
663 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
664 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
665 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
666 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID,
667 .direction = TF_DIR_RX
671 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
672 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
673 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
674 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
675 .direction = TF_DIR_RX
679 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
680 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
681 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
682 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
683 .direction = TF_DIR_TX
687 .device_id = BNXT_ULP_DEVICE_ID_THOR,
688 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
689 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
690 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
691 .direction = TF_DIR_RX
695 .device_id = BNXT_ULP_DEVICE_ID_THOR,
696 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
697 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
698 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
699 .direction = TF_DIR_TX
703 .device_id = BNXT_ULP_DEVICE_ID_THOR,
704 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
705 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
706 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
707 .direction = TF_DIR_TX
711 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
712 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
713 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
714 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
715 .direction = TF_DIR_RX
719 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
720 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
721 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
722 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
723 .direction = TF_DIR_TX
727 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
728 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
729 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
730 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
731 .direction = TF_DIR_TX
735 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
736 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
737 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
738 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
739 .direction = TF_DIR_RX
743 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
744 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
745 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
746 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
747 .direction = TF_DIR_TX
751 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
752 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
753 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
754 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID,
755 .direction = TF_DIR_RX
759 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
760 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
761 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
762 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
763 .direction = TF_DIR_RX
767 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
768 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
769 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
770 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
771 .direction = TF_DIR_TX
775 .device_id = BNXT_ULP_DEVICE_ID_THOR,
776 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
777 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
778 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
779 .direction = TF_DIR_RX
783 .device_id = BNXT_ULP_DEVICE_ID_THOR,
784 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
785 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
786 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
787 .direction = TF_DIR_TX
791 .device_id = BNXT_ULP_DEVICE_ID_THOR,
792 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
793 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
794 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
795 .direction = TF_DIR_TX
799 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
800 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
801 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
802 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
803 .direction = TF_DIR_RX
807 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
808 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
809 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
810 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
811 .direction = TF_DIR_TX
815 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
816 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
817 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
818 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
819 .direction = TF_DIR_TX
823 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
824 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
825 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
826 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
827 .direction = TF_DIR_RX
831 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
832 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
833 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
834 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
835 .direction = TF_DIR_TX
839 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
840 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
841 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
842 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID,
843 .direction = TF_DIR_RX
847 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
848 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
849 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
850 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
851 .direction = TF_DIR_RX
855 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
856 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
857 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
858 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
859 .direction = TF_DIR_TX
863 .device_id = BNXT_ULP_DEVICE_ID_THOR,
864 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
865 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
866 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
867 .direction = TF_DIR_RX
871 .device_id = BNXT_ULP_DEVICE_ID_THOR,
872 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
873 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
874 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
875 .direction = TF_DIR_TX
879 .device_id = BNXT_ULP_DEVICE_ID_THOR,
880 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
881 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
882 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
883 .direction = TF_DIR_TX
887 /* List of tf resources required to be reserved per app/device */
888 struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
891 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
892 .direction = TF_DIR_RX,
893 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
894 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
899 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
900 .direction = TF_DIR_RX,
901 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
902 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
907 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
908 .direction = TF_DIR_RX,
909 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
910 .resource_type = TF_IDENT_TYPE_WC_PROF,
915 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
916 .direction = TF_DIR_RX,
917 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
918 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
923 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
924 .direction = TF_DIR_RX,
925 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
926 .resource_type = TF_IDENT_TYPE_EM_PROF,
931 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
932 .direction = TF_DIR_RX,
933 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
934 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
939 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
940 .direction = TF_DIR_RX,
941 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
942 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
947 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
948 .direction = TF_DIR_RX,
949 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
950 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
955 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
956 .direction = TF_DIR_RX,
957 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
958 .resource_type = TF_TBL_TYPE_ACT_ENCAP_8B,
963 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
964 .direction = TF_DIR_RX,
965 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
966 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
971 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
972 .direction = TF_DIR_RX,
973 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
974 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC,
979 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
980 .direction = TF_DIR_RX,
981 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
982 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
987 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
988 .direction = TF_DIR_RX,
989 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
990 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
995 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
996 .direction = TF_DIR_RX,
997 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
998 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1003 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1004 .direction = TF_DIR_RX,
1005 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1006 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
1011 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1012 .direction = TF_DIR_RX,
1013 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1014 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
1019 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1020 .direction = TF_DIR_RX,
1021 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1022 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
1027 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1028 .direction = TF_DIR_RX,
1029 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1030 .resource_type = TF_EM_TBL_TYPE_TBL_SCOPE,
1035 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1036 .direction = TF_DIR_TX,
1037 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1038 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
1043 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1044 .direction = TF_DIR_TX,
1045 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1046 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
1051 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1052 .direction = TF_DIR_TX,
1053 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1054 .resource_type = TF_IDENT_TYPE_WC_PROF,
1059 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1060 .direction = TF_DIR_TX,
1061 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1062 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
1067 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1068 .direction = TF_DIR_TX,
1069 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1070 .resource_type = TF_IDENT_TYPE_EM_PROF,
1075 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1076 .direction = TF_DIR_TX,
1077 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1078 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1083 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1084 .direction = TF_DIR_TX,
1085 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1086 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
1091 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1092 .direction = TF_DIR_TX,
1093 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1094 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
1099 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1100 .direction = TF_DIR_TX,
1101 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1102 .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
1107 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1108 .direction = TF_DIR_TX,
1109 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1110 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
1115 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1116 .direction = TF_DIR_TX,
1117 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1118 .resource_type = TF_TBL_TYPE_ACT_ENCAP_8B,
1123 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1124 .direction = TF_DIR_TX,
1125 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1126 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1131 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1132 .direction = TF_DIR_TX,
1133 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1134 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV6,
1139 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1140 .direction = TF_DIR_TX,
1141 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1142 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
1147 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1148 .direction = TF_DIR_TX,
1149 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1150 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1155 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1156 .direction = TF_DIR_TX,
1157 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1158 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1163 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1164 .direction = TF_DIR_TX,
1165 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1166 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
1171 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1172 .direction = TF_DIR_TX,
1173 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1174 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
1179 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1180 .direction = TF_DIR_TX,
1181 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1182 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
1187 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1188 .direction = TF_DIR_TX,
1189 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1190 .resource_type = TF_EM_TBL_TYPE_TBL_SCOPE,
1195 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1196 .direction = TF_DIR_RX,
1197 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1198 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
1203 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1204 .direction = TF_DIR_RX,
1205 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1206 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
1211 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1212 .direction = TF_DIR_RX,
1213 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1214 .resource_type = TF_IDENT_TYPE_WC_PROF,
1219 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1220 .direction = TF_DIR_RX,
1221 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1222 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
1227 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1228 .direction = TF_DIR_RX,
1229 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1230 .resource_type = TF_IDENT_TYPE_EM_PROF,
1235 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1236 .direction = TF_DIR_RX,
1237 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1238 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1243 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1244 .direction = TF_DIR_RX,
1245 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1246 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
1251 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1252 .direction = TF_DIR_RX,
1253 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1254 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
1259 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1260 .direction = TF_DIR_RX,
1261 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1262 .resource_type = TF_TBL_TYPE_EM_FKB,
1267 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1268 .direction = TF_DIR_RX,
1269 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1270 .resource_type = TF_TBL_TYPE_WC_FKB,
1275 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1276 .direction = TF_DIR_RX,
1277 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1278 .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
1283 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1284 .direction = TF_DIR_RX,
1285 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1286 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1291 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1292 .direction = TF_DIR_RX,
1293 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1294 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1299 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1300 .direction = TF_DIR_RX,
1301 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1302 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1307 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1308 .direction = TF_DIR_RX,
1309 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1310 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
1315 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1316 .direction = TF_DIR_RX,
1317 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1318 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
1323 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1324 .direction = TF_DIR_RX,
1325 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1326 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
1331 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1332 .direction = TF_DIR_TX,
1333 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1334 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
1339 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1340 .direction = TF_DIR_TX,
1341 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1342 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
1347 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1348 .direction = TF_DIR_TX,
1349 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1350 .resource_type = TF_IDENT_TYPE_WC_PROF,
1355 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1356 .direction = TF_DIR_TX,
1357 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1358 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
1363 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1364 .direction = TF_DIR_TX,
1365 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1366 .resource_type = TF_IDENT_TYPE_EM_PROF,
1371 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1372 .direction = TF_DIR_TX,
1373 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1374 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1379 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1380 .direction = TF_DIR_TX,
1381 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1382 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
1387 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1388 .direction = TF_DIR_TX,
1389 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1390 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
1395 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1396 .direction = TF_DIR_TX,
1397 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1398 .resource_type = TF_TBL_TYPE_EM_FKB,
1403 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1404 .direction = TF_DIR_TX,
1405 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1406 .resource_type = TF_TBL_TYPE_WC_FKB,
1411 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1412 .direction = TF_DIR_TX,
1413 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1414 .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
1419 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1420 .direction = TF_DIR_TX,
1421 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1422 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1427 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1428 .direction = TF_DIR_TX,
1429 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1430 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
1435 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1436 .direction = TF_DIR_TX,
1437 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1438 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1443 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1444 .direction = TF_DIR_TX,
1445 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1446 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1451 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1452 .direction = TF_DIR_TX,
1453 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1454 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
1459 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1460 .direction = TF_DIR_TX,
1461 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1462 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
1467 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1468 .direction = TF_DIR_TX,
1469 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1470 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
1475 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1476 .direction = TF_DIR_RX,
1477 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1478 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
1483 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1484 .direction = TF_DIR_RX,
1485 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1486 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
1491 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1492 .direction = TF_DIR_RX,
1493 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1494 .resource_type = TF_IDENT_TYPE_WC_PROF,
1499 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1500 .direction = TF_DIR_RX,
1501 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1502 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
1507 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1508 .direction = TF_DIR_RX,
1509 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1510 .resource_type = TF_IDENT_TYPE_EM_PROF,
1515 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1516 .direction = TF_DIR_RX,
1517 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1518 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1523 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1524 .direction = TF_DIR_RX,
1525 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1526 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
1531 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1532 .direction = TF_DIR_RX,
1533 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1534 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
1539 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1540 .direction = TF_DIR_RX,
1541 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1542 .resource_type = TF_TBL_TYPE_ACT_ENCAP_8B,
1547 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1548 .direction = TF_DIR_RX,
1549 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1550 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
1555 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1556 .direction = TF_DIR_RX,
1557 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1558 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC,
1563 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1564 .direction = TF_DIR_RX,
1565 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1566 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1571 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1572 .direction = TF_DIR_RX,
1573 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1574 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1579 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1580 .direction = TF_DIR_RX,
1581 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1582 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
1587 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1588 .direction = TF_DIR_RX,
1589 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1590 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
1595 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1596 .direction = TF_DIR_RX,
1597 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1598 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
1603 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1604 .direction = TF_DIR_TX,
1605 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1606 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
1611 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1612 .direction = TF_DIR_TX,
1613 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1614 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
1619 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1620 .direction = TF_DIR_TX,
1621 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1622 .resource_type = TF_IDENT_TYPE_WC_PROF,
1627 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1628 .direction = TF_DIR_TX,
1629 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1630 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
1635 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1636 .direction = TF_DIR_TX,
1637 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1638 .resource_type = TF_IDENT_TYPE_EM_PROF,
1643 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1644 .direction = TF_DIR_TX,
1645 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1646 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1651 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1652 .direction = TF_DIR_TX,
1653 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1654 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
1659 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1660 .direction = TF_DIR_TX,
1661 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1662 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
1667 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1668 .direction = TF_DIR_TX,
1669 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1670 .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
1675 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1676 .direction = TF_DIR_TX,
1677 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1678 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
1683 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1684 .direction = TF_DIR_TX,
1685 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1686 .resource_type = TF_TBL_TYPE_ACT_ENCAP_8B,
1691 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1692 .direction = TF_DIR_TX,
1693 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1694 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1699 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1700 .direction = TF_DIR_TX,
1701 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1702 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV6,
1707 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1708 .direction = TF_DIR_TX,
1709 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1710 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1715 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1716 .direction = TF_DIR_TX,
1717 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1718 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1723 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1724 .direction = TF_DIR_TX,
1725 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1726 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
1731 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1732 .direction = TF_DIR_TX,
1733 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1734 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
1739 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1740 .direction = TF_DIR_TX,
1741 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1742 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
1747 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1748 .direction = TF_DIR_RX,
1749 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1750 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
1755 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1756 .direction = TF_DIR_RX,
1757 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1758 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
1763 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1764 .direction = TF_DIR_RX,
1765 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1766 .resource_type = TF_IDENT_TYPE_WC_PROF,
1771 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1772 .direction = TF_DIR_RX,
1773 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1774 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
1779 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1780 .direction = TF_DIR_RX,
1781 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1782 .resource_type = TF_IDENT_TYPE_EM_PROF,
1787 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1788 .direction = TF_DIR_RX,
1789 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1790 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1795 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1796 .direction = TF_DIR_RX,
1797 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1798 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
1803 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1804 .direction = TF_DIR_RX,
1805 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1806 .resource_type = TF_TBL_TYPE_EM_FKB,
1811 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1812 .direction = TF_DIR_RX,
1813 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1814 .resource_type = TF_TBL_TYPE_WC_FKB,
1819 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1820 .direction = TF_DIR_RX,
1821 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1822 .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
1827 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1828 .direction = TF_DIR_RX,
1829 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1830 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1835 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1836 .direction = TF_DIR_RX,
1837 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1838 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1843 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1844 .direction = TF_DIR_RX,
1845 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1846 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1851 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1852 .direction = TF_DIR_RX,
1853 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1854 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
1859 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1860 .direction = TF_DIR_RX,
1861 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1862 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
1867 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1868 .direction = TF_DIR_RX,
1869 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1870 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
1875 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1876 .direction = TF_DIR_TX,
1877 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1878 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
1883 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1884 .direction = TF_DIR_TX,
1885 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1886 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
1891 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1892 .direction = TF_DIR_TX,
1893 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1894 .resource_type = TF_IDENT_TYPE_WC_PROF,
1899 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1900 .direction = TF_DIR_TX,
1901 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1902 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
1907 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1908 .direction = TF_DIR_TX,
1909 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1910 .resource_type = TF_IDENT_TYPE_EM_PROF,
1915 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1916 .direction = TF_DIR_TX,
1917 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1918 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1923 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1924 .direction = TF_DIR_TX,
1925 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1926 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
1931 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1932 .direction = TF_DIR_TX,
1933 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1934 .resource_type = TF_TBL_TYPE_EM_FKB,
1939 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1940 .direction = TF_DIR_TX,
1941 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1942 .resource_type = TF_TBL_TYPE_WC_FKB,
1947 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1948 .direction = TF_DIR_TX,
1949 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1950 .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
1955 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1956 .direction = TF_DIR_TX,
1957 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1958 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1963 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1964 .direction = TF_DIR_TX,
1965 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1966 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1971 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1972 .direction = TF_DIR_TX,
1973 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1974 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1979 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1980 .direction = TF_DIR_TX,
1981 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1982 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
1987 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1988 .direction = TF_DIR_TX,
1989 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1990 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
1995 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1996 .direction = TF_DIR_TX,
1997 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1998 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
2003 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2004 .direction = TF_DIR_RX,
2005 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2006 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
2011 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2012 .direction = TF_DIR_RX,
2013 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2014 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
2019 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2020 .direction = TF_DIR_RX,
2021 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2022 .resource_type = TF_IDENT_TYPE_WC_PROF,
2027 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2028 .direction = TF_DIR_RX,
2029 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2030 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
2035 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2036 .direction = TF_DIR_RX,
2037 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2038 .resource_type = TF_IDENT_TYPE_EM_PROF,
2043 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2044 .direction = TF_DIR_RX,
2045 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2046 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
2051 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2052 .direction = TF_DIR_RX,
2053 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2054 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
2059 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2060 .direction = TF_DIR_RX,
2061 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2062 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
2067 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2068 .direction = TF_DIR_RX,
2069 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2070 .resource_type = TF_TBL_TYPE_ACT_ENCAP_8B,
2075 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2076 .direction = TF_DIR_RX,
2077 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2078 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
2083 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2084 .direction = TF_DIR_RX,
2085 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2086 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC,
2091 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2092 .direction = TF_DIR_RX,
2093 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2094 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
2099 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2100 .direction = TF_DIR_RX,
2101 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2102 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2107 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2108 .direction = TF_DIR_RX,
2109 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2110 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
2115 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2116 .direction = TF_DIR_RX,
2117 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2118 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
2123 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2124 .direction = TF_DIR_RX,
2125 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2126 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
2131 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2132 .direction = TF_DIR_TX,
2133 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2134 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
2139 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2140 .direction = TF_DIR_TX,
2141 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2142 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
2147 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2148 .direction = TF_DIR_TX,
2149 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2150 .resource_type = TF_IDENT_TYPE_WC_PROF,
2155 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2156 .direction = TF_DIR_TX,
2157 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2158 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
2163 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2164 .direction = TF_DIR_TX,
2165 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2166 .resource_type = TF_IDENT_TYPE_EM_PROF,
2171 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2172 .direction = TF_DIR_TX,
2173 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2174 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
2179 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2180 .direction = TF_DIR_TX,
2181 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2182 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
2187 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2188 .direction = TF_DIR_TX,
2189 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2190 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
2195 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2196 .direction = TF_DIR_TX,
2197 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2198 .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
2203 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2204 .direction = TF_DIR_TX,
2205 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2206 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
2211 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2212 .direction = TF_DIR_TX,
2213 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2214 .resource_type = TF_TBL_TYPE_ACT_ENCAP_8B,
2219 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2220 .direction = TF_DIR_TX,
2221 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2222 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
2227 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2228 .direction = TF_DIR_TX,
2229 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2230 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV6,
2235 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2236 .direction = TF_DIR_TX,
2237 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2238 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
2243 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2244 .direction = TF_DIR_TX,
2245 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2246 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2251 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2252 .direction = TF_DIR_TX,
2253 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2254 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
2259 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2260 .direction = TF_DIR_TX,
2261 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2262 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
2267 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2268 .direction = TF_DIR_TX,
2269 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2270 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
2275 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2276 .direction = TF_DIR_RX,
2277 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2278 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
2283 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2284 .direction = TF_DIR_RX,
2285 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2286 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
2291 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2292 .direction = TF_DIR_RX,
2293 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2294 .resource_type = TF_IDENT_TYPE_WC_PROF,
2299 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2300 .direction = TF_DIR_RX,
2301 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2302 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
2307 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2308 .direction = TF_DIR_RX,
2309 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2310 .resource_type = TF_IDENT_TYPE_EM_PROF,
2315 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2316 .direction = TF_DIR_RX,
2317 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2318 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
2323 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2324 .direction = TF_DIR_RX,
2325 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2326 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
2331 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2332 .direction = TF_DIR_RX,
2333 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2334 .resource_type = TF_TBL_TYPE_EM_FKB,
2339 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2340 .direction = TF_DIR_RX,
2341 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2342 .resource_type = TF_TBL_TYPE_WC_FKB,
2347 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2348 .direction = TF_DIR_RX,
2349 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2350 .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
2355 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2356 .direction = TF_DIR_RX,
2357 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2358 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
2363 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2364 .direction = TF_DIR_RX,
2365 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2366 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
2371 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2372 .direction = TF_DIR_RX,
2373 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2374 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2379 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2380 .direction = TF_DIR_RX,
2381 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2382 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
2387 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2388 .direction = TF_DIR_RX,
2389 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2390 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
2395 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2396 .direction = TF_DIR_RX,
2397 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2398 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
2403 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2404 .direction = TF_DIR_TX,
2405 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2406 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
2411 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2412 .direction = TF_DIR_TX,
2413 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2414 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
2419 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2420 .direction = TF_DIR_TX,
2421 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2422 .resource_type = TF_IDENT_TYPE_WC_PROF,
2427 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2428 .direction = TF_DIR_TX,
2429 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2430 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
2435 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2436 .direction = TF_DIR_TX,
2437 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2438 .resource_type = TF_IDENT_TYPE_EM_PROF,
2443 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2444 .direction = TF_DIR_TX,
2445 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2446 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
2451 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2452 .direction = TF_DIR_TX,
2453 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2454 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
2459 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2460 .direction = TF_DIR_TX,
2461 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2462 .resource_type = TF_TBL_TYPE_EM_FKB,
2467 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2468 .direction = TF_DIR_TX,
2469 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2470 .resource_type = TF_TBL_TYPE_WC_FKB,
2475 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2476 .direction = TF_DIR_TX,
2477 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2478 .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
2483 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2484 .direction = TF_DIR_TX,
2485 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2486 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
2491 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2492 .direction = TF_DIR_TX,
2493 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2494 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
2499 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2500 .direction = TF_DIR_TX,
2501 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2502 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2507 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2508 .direction = TF_DIR_TX,
2509 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2510 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
2515 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2516 .direction = TF_DIR_TX,
2517 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2518 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
2523 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2524 .direction = TF_DIR_TX,
2525 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2526 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
2531 uint32_t ulp_act_prop_map_table[] = {
2532 [BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ] =
2533 BNXT_ULP_ACT_PROP_SZ_ENCAP_TUN_SZ,
2534 [BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ] =
2535 BNXT_ULP_ACT_PROP_SZ_ENCAP_IP_SZ,
2536 [BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ] =
2537 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG_SZ,
2538 [BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE] =
2539 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG_TYPE,
2540 [BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_NUM] =
2541 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG_NUM,
2542 [BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE] =
2543 BNXT_ULP_ACT_PROP_SZ_ENCAP_L3_TYPE,
2544 [BNXT_ULP_ACT_PROP_IDX_MPLS_POP_NUM] =
2545 BNXT_ULP_ACT_PROP_SZ_MPLS_POP_NUM,
2546 [BNXT_ULP_ACT_PROP_IDX_MPLS_PUSH_NUM] =
2547 BNXT_ULP_ACT_PROP_SZ_MPLS_PUSH_NUM,
2548 [BNXT_ULP_ACT_PROP_IDX_PORT_ID] =
2549 BNXT_ULP_ACT_PROP_SZ_PORT_ID,
2550 [BNXT_ULP_ACT_PROP_IDX_VNIC] =
2551 BNXT_ULP_ACT_PROP_SZ_VNIC,
2552 [BNXT_ULP_ACT_PROP_IDX_VPORT] =
2553 BNXT_ULP_ACT_PROP_SZ_VPORT,
2554 [BNXT_ULP_ACT_PROP_IDX_MARK] =
2555 BNXT_ULP_ACT_PROP_SZ_MARK,
2556 [BNXT_ULP_ACT_PROP_IDX_COUNT] =
2557 BNXT_ULP_ACT_PROP_SZ_COUNT,
2558 [BNXT_ULP_ACT_PROP_IDX_METER] =
2559 BNXT_ULP_ACT_PROP_SZ_METER,
2560 [BNXT_ULP_ACT_PROP_IDX_SET_MAC_SRC] =
2561 BNXT_ULP_ACT_PROP_SZ_SET_MAC_SRC,
2562 [BNXT_ULP_ACT_PROP_IDX_SET_MAC_DST] =
2563 BNXT_ULP_ACT_PROP_SZ_SET_MAC_DST,
2564 [BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN] =
2565 BNXT_ULP_ACT_PROP_SZ_PUSH_VLAN,
2566 [BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP] =
2567 BNXT_ULP_ACT_PROP_SZ_SET_VLAN_PCP,
2568 [BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID] =
2569 BNXT_ULP_ACT_PROP_SZ_SET_VLAN_VID,
2570 [BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC] =
2571 BNXT_ULP_ACT_PROP_SZ_SET_IPV4_SRC,
2572 [BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST] =
2573 BNXT_ULP_ACT_PROP_SZ_SET_IPV4_DST,
2574 [BNXT_ULP_ACT_PROP_IDX_SET_IPV6_SRC] =
2575 BNXT_ULP_ACT_PROP_SZ_SET_IPV6_SRC,
2576 [BNXT_ULP_ACT_PROP_IDX_SET_IPV6_DST] =
2577 BNXT_ULP_ACT_PROP_SZ_SET_IPV6_DST,
2578 [BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC] =
2579 BNXT_ULP_ACT_PROP_SZ_SET_TP_SRC,
2580 [BNXT_ULP_ACT_PROP_IDX_SET_TP_DST] =
2581 BNXT_ULP_ACT_PROP_SZ_SET_TP_DST,
2582 [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_0] =
2583 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_0,
2584 [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_1] =
2585 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_1,
2586 [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_2] =
2587 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_2,
2588 [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_3] =
2589 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_3,
2590 [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_4] =
2591 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_4,
2592 [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_5] =
2593 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_5,
2594 [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_6] =
2595 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_6,
2596 [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_7] =
2597 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_7,
2598 [BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC] =
2599 BNXT_ULP_ACT_PROP_SZ_ENCAP_L2_DMAC,
2600 [BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC] =
2601 BNXT_ULP_ACT_PROP_SZ_ENCAP_L2_SMAC,
2602 [BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG] =
2603 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG,
2604 [BNXT_ULP_ACT_PROP_IDX_ENCAP_IP] =
2605 BNXT_ULP_ACT_PROP_SZ_ENCAP_IP,
2606 [BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC] =
2607 BNXT_ULP_ACT_PROP_SZ_ENCAP_IP_SRC,
2608 [BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP] =
2609 BNXT_ULP_ACT_PROP_SZ_ENCAP_UDP,
2610 [BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN] =
2611 BNXT_ULP_ACT_PROP_SZ_ENCAP_TUN,
2612 [BNXT_ULP_ACT_PROP_IDX_JUMP] =
2613 BNXT_ULP_ACT_PROP_SZ_JUMP,
2614 [BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE] =
2615 BNXT_ULP_ACT_PROP_SZ_SHARED_HANDLE,
2616 [BNXT_ULP_ACT_PROP_IDX_RSS_TYPES] =
2617 BNXT_ULP_ACT_PROP_SZ_RSS_TYPES,
2618 [BNXT_ULP_ACT_PROP_IDX_RSS_LEVEL] =
2619 BNXT_ULP_ACT_PROP_SZ_RSS_LEVEL,
2620 [BNXT_ULP_ACT_PROP_IDX_RSS_KEY_LEN] =
2621 BNXT_ULP_ACT_PROP_SZ_RSS_KEY_LEN,
2622 [BNXT_ULP_ACT_PROP_IDX_RSS_KEY] =
2623 BNXT_ULP_ACT_PROP_SZ_RSS_KEY,
2624 [BNXT_ULP_ACT_PROP_IDX_LAST] =
2625 BNXT_ULP_ACT_PROP_SZ_LAST
2628 uint8_t ulp_glb_field_tbl[] = {