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 device specific parameters */
274 struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = {
277 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
278 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
279 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
280 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0,
281 .direction = TF_DIR_RX
285 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
286 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
287 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
288 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0,
289 .direction = TF_DIR_RX
293 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
294 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
295 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
296 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1,
297 .direction = TF_DIR_RX
301 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
302 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
303 .resource_type = TF_IDENT_TYPE_EM_PROF,
304 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
305 .direction = TF_DIR_RX
309 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
310 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
311 .resource_type = TF_IDENT_TYPE_WC_PROF,
312 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
313 .direction = TF_DIR_RX
317 .device_id = BNXT_ULP_DEVICE_ID_THOR,
318 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
319 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
320 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0,
321 .direction = TF_DIR_RX
325 .device_id = BNXT_ULP_DEVICE_ID_THOR,
326 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
327 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
328 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0,
329 .direction = TF_DIR_RX
333 .device_id = BNXT_ULP_DEVICE_ID_THOR,
334 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
335 .resource_type = TF_IDENT_TYPE_EM_PROF,
336 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
337 .direction = TF_DIR_RX
341 .device_id = BNXT_ULP_DEVICE_ID_THOR,
342 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
343 .resource_type = TF_IDENT_TYPE_WC_PROF,
344 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
345 .direction = TF_DIR_RX
349 .device_id = BNXT_ULP_DEVICE_ID_THOR,
350 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
351 .resource_type = TF_TBL_TYPE_EM_FKB,
352 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_KEY_ID_0,
353 .direction = TF_DIR_RX
357 .device_id = BNXT_ULP_DEVICE_ID_THOR,
358 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
359 .resource_type = TF_TBL_TYPE_WC_FKB,
360 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
361 .direction = TF_DIR_RX
365 .device_id = BNXT_ULP_DEVICE_ID_THOR,
366 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
367 .resource_type = TF_TBL_TYPE_WC_FKB,
368 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
369 .direction = TF_DIR_TX
373 .device_id = BNXT_ULP_DEVICE_ID_THOR,
374 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
375 .resource_type = TF_IDENT_TYPE_EM_PROF,
376 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
377 .direction = TF_DIR_TX
381 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
382 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
383 .resource_type = TF_IDENT_TYPE_WC_PROF,
384 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
385 .direction = TF_DIR_TX
389 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
390 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
391 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
392 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0,
393 .direction = TF_DIR_RX
397 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
398 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
399 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
400 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0,
401 .direction = TF_DIR_RX
405 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
406 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
407 .resource_type = TF_IDENT_TYPE_EM_PROF,
408 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
409 .direction = TF_DIR_RX
413 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
414 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
415 .resource_type = TF_IDENT_TYPE_WC_PROF,
416 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
417 .direction = TF_DIR_RX
421 .device_id = BNXT_ULP_DEVICE_ID_THOR,
422 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
423 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
424 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0,
425 .direction = TF_DIR_RX
429 .device_id = BNXT_ULP_DEVICE_ID_THOR,
430 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
431 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
432 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0,
433 .direction = TF_DIR_RX
437 .device_id = BNXT_ULP_DEVICE_ID_THOR,
438 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
439 .resource_type = TF_IDENT_TYPE_EM_PROF,
440 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
441 .direction = TF_DIR_RX
445 .device_id = BNXT_ULP_DEVICE_ID_THOR,
446 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
447 .resource_type = TF_IDENT_TYPE_WC_PROF,
448 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
449 .direction = TF_DIR_RX
453 .device_id = BNXT_ULP_DEVICE_ID_THOR,
454 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
455 .resource_type = TF_TBL_TYPE_EM_FKB,
456 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_KEY_ID_0,
457 .direction = TF_DIR_RX
461 .device_id = BNXT_ULP_DEVICE_ID_THOR,
462 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
463 .resource_type = TF_TBL_TYPE_WC_FKB,
464 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
465 .direction = TF_DIR_RX
469 .device_id = BNXT_ULP_DEVICE_ID_THOR,
470 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
471 .resource_type = TF_TBL_TYPE_WC_FKB,
472 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
473 .direction = TF_DIR_TX
477 .device_id = BNXT_ULP_DEVICE_ID_THOR,
478 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
479 .resource_type = TF_IDENT_TYPE_EM_PROF,
480 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0,
481 .direction = TF_DIR_TX
485 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
486 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
487 .resource_type = TF_IDENT_TYPE_WC_PROF,
488 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0,
489 .direction = TF_DIR_TX
493 /* List of device specific parameters */
494 struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
497 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
498 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
499 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
500 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
501 .direction = TF_DIR_RX
505 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
506 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
507 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
508 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
509 .direction = TF_DIR_TX
513 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
514 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
515 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
516 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
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_PROF_FUNC,
524 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
525 .direction = TF_DIR_RX
529 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
530 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
531 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
532 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
533 .direction = TF_DIR_TX
537 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
538 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
539 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
540 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID,
541 .direction = TF_DIR_RX
545 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
546 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
547 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
548 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
549 .direction = TF_DIR_RX
553 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
554 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
555 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
556 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
557 .direction = TF_DIR_TX
561 .device_id = BNXT_ULP_DEVICE_ID_THOR,
562 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
563 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
564 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
565 .direction = TF_DIR_RX
569 .device_id = BNXT_ULP_DEVICE_ID_THOR,
570 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
571 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
572 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
573 .direction = TF_DIR_TX
577 .device_id = BNXT_ULP_DEVICE_ID_THOR,
578 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
579 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
580 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
581 .direction = TF_DIR_TX
585 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
586 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
587 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
588 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
589 .direction = TF_DIR_RX
593 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
594 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
595 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
596 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
597 .direction = TF_DIR_TX
601 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
602 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
603 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
604 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
605 .direction = TF_DIR_TX
609 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
610 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
611 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
612 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
613 .direction = TF_DIR_RX
617 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
618 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
619 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
620 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
621 .direction = TF_DIR_TX
625 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
626 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
627 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
628 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID,
629 .direction = TF_DIR_RX
633 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
634 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
635 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
636 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
637 .direction = TF_DIR_RX
641 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
642 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
643 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
644 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
645 .direction = TF_DIR_TX
649 .device_id = BNXT_ULP_DEVICE_ID_THOR,
650 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
651 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
652 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
653 .direction = TF_DIR_RX
657 .device_id = BNXT_ULP_DEVICE_ID_THOR,
658 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
659 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
660 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
661 .direction = TF_DIR_TX
665 .device_id = BNXT_ULP_DEVICE_ID_THOR,
666 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
667 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
668 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
669 .direction = TF_DIR_TX
673 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
674 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
675 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
676 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
677 .direction = TF_DIR_RX
681 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
682 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
683 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
684 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
685 .direction = TF_DIR_TX
689 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
690 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
691 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
692 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
693 .direction = TF_DIR_TX
697 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
698 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
699 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
700 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
701 .direction = TF_DIR_RX
705 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
706 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
707 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
708 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID,
709 .direction = TF_DIR_TX
713 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
714 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
715 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
716 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID,
717 .direction = TF_DIR_RX
721 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
722 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
723 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
724 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
725 .direction = TF_DIR_RX
729 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
730 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
731 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
732 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
733 .direction = TF_DIR_TX
737 .device_id = BNXT_ULP_DEVICE_ID_THOR,
738 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
739 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
740 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
741 .direction = TF_DIR_RX
745 .device_id = BNXT_ULP_DEVICE_ID_THOR,
746 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
747 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
748 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID,
749 .direction = TF_DIR_TX
753 .device_id = BNXT_ULP_DEVICE_ID_THOR,
754 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
755 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
756 .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
757 .direction = TF_DIR_TX
761 /* List of tf resources required to be reserved per app/device */
762 struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {
765 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
766 .direction = TF_DIR_RX,
767 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
768 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
773 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
774 .direction = TF_DIR_RX,
775 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
776 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
781 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
782 .direction = TF_DIR_RX,
783 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
784 .resource_type = TF_IDENT_TYPE_WC_PROF,
789 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
790 .direction = TF_DIR_RX,
791 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
792 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
797 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
798 .direction = TF_DIR_RX,
799 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
800 .resource_type = TF_IDENT_TYPE_EM_PROF,
805 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
806 .direction = TF_DIR_RX,
807 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
808 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
813 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
814 .direction = TF_DIR_RX,
815 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
816 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
821 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
822 .direction = TF_DIR_RX,
823 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
824 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
829 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
830 .direction = TF_DIR_RX,
831 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
832 .resource_type = TF_TBL_TYPE_ACT_ENCAP_8B,
837 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
838 .direction = TF_DIR_RX,
839 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
840 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
845 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
846 .direction = TF_DIR_RX,
847 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
848 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC,
853 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
854 .direction = TF_DIR_RX,
855 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
856 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
861 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
862 .direction = TF_DIR_RX,
863 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
864 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
869 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
870 .direction = TF_DIR_RX,
871 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
872 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
877 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
878 .direction = TF_DIR_RX,
879 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
880 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
885 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
886 .direction = TF_DIR_RX,
887 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
888 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
893 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
894 .direction = TF_DIR_RX,
895 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
896 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
901 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
902 .direction = TF_DIR_RX,
903 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
904 .resource_type = TF_EM_TBL_TYPE_TBL_SCOPE,
909 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
910 .direction = TF_DIR_TX,
911 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
912 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
917 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
918 .direction = TF_DIR_TX,
919 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
920 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
925 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
926 .direction = TF_DIR_TX,
927 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
928 .resource_type = TF_IDENT_TYPE_WC_PROF,
933 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
934 .direction = TF_DIR_TX,
935 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
936 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
941 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
942 .direction = TF_DIR_TX,
943 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
944 .resource_type = TF_IDENT_TYPE_EM_PROF,
949 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
950 .direction = TF_DIR_TX,
951 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
952 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
957 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
958 .direction = TF_DIR_TX,
959 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
960 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
965 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
966 .direction = TF_DIR_TX,
967 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
968 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
973 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
974 .direction = TF_DIR_TX,
975 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
976 .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
981 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
982 .direction = TF_DIR_TX,
983 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
984 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
989 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
990 .direction = TF_DIR_TX,
991 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
992 .resource_type = TF_TBL_TYPE_ACT_ENCAP_8B,
997 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
998 .direction = TF_DIR_TX,
999 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1000 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1005 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1006 .direction = TF_DIR_TX,
1007 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1008 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV6,
1013 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1014 .direction = TF_DIR_TX,
1015 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1016 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
1021 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1022 .direction = TF_DIR_TX,
1023 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1024 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1029 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1030 .direction = TF_DIR_TX,
1031 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1032 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1037 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1038 .direction = TF_DIR_TX,
1039 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1040 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
1045 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1046 .direction = TF_DIR_TX,
1047 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1048 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
1053 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1054 .direction = TF_DIR_TX,
1055 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1056 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
1061 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1062 .direction = TF_DIR_TX,
1063 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1064 .resource_type = TF_EM_TBL_TYPE_TBL_SCOPE,
1069 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1070 .direction = TF_DIR_RX,
1071 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1072 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
1077 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1078 .direction = TF_DIR_RX,
1079 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1080 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
1085 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1086 .direction = TF_DIR_RX,
1087 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1088 .resource_type = TF_IDENT_TYPE_WC_PROF,
1093 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1094 .direction = TF_DIR_RX,
1095 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1096 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
1101 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1102 .direction = TF_DIR_RX,
1103 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1104 .resource_type = TF_IDENT_TYPE_EM_PROF,
1109 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1110 .direction = TF_DIR_RX,
1111 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1112 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1117 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1118 .direction = TF_DIR_RX,
1119 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1120 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
1125 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1126 .direction = TF_DIR_RX,
1127 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1128 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
1133 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1134 .direction = TF_DIR_RX,
1135 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1136 .resource_type = TF_TBL_TYPE_EM_FKB,
1141 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1142 .direction = TF_DIR_RX,
1143 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1144 .resource_type = TF_TBL_TYPE_WC_FKB,
1149 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1150 .direction = TF_DIR_RX,
1151 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1152 .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
1157 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1158 .direction = TF_DIR_RX,
1159 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1160 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1165 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1166 .direction = TF_DIR_RX,
1167 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1168 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1173 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1174 .direction = TF_DIR_RX,
1175 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1176 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1181 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1182 .direction = TF_DIR_RX,
1183 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1184 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
1189 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1190 .direction = TF_DIR_RX,
1191 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1192 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
1197 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1198 .direction = TF_DIR_RX,
1199 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1200 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
1205 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1206 .direction = TF_DIR_TX,
1207 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1208 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
1213 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1214 .direction = TF_DIR_TX,
1215 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1216 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
1221 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1222 .direction = TF_DIR_TX,
1223 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1224 .resource_type = TF_IDENT_TYPE_WC_PROF,
1229 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1230 .direction = TF_DIR_TX,
1231 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1232 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
1237 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1238 .direction = TF_DIR_TX,
1239 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1240 .resource_type = TF_IDENT_TYPE_EM_PROF,
1245 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1246 .direction = TF_DIR_TX,
1247 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1248 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1253 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1254 .direction = TF_DIR_TX,
1255 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1256 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
1261 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1262 .direction = TF_DIR_TX,
1263 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1264 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
1269 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1270 .direction = TF_DIR_TX,
1271 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1272 .resource_type = TF_TBL_TYPE_EM_FKB,
1277 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1278 .direction = TF_DIR_TX,
1279 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1280 .resource_type = TF_TBL_TYPE_WC_FKB,
1285 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1286 .direction = TF_DIR_TX,
1287 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1288 .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
1293 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1294 .direction = TF_DIR_TX,
1295 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1296 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1301 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1302 .direction = TF_DIR_TX,
1303 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1304 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
1309 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1310 .direction = TF_DIR_TX,
1311 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1312 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1317 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1318 .direction = TF_DIR_TX,
1319 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1320 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1325 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1326 .direction = TF_DIR_TX,
1327 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1328 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
1333 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1334 .direction = TF_DIR_TX,
1335 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1336 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
1341 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1342 .direction = TF_DIR_TX,
1343 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1344 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
1349 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1350 .direction = TF_DIR_RX,
1351 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1352 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
1357 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1358 .direction = TF_DIR_RX,
1359 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1360 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
1365 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1366 .direction = TF_DIR_RX,
1367 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1368 .resource_type = TF_IDENT_TYPE_WC_PROF,
1373 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1374 .direction = TF_DIR_RX,
1375 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1376 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
1381 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1382 .direction = TF_DIR_RX,
1383 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1384 .resource_type = TF_IDENT_TYPE_EM_PROF,
1389 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1390 .direction = TF_DIR_RX,
1391 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1392 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1397 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1398 .direction = TF_DIR_RX,
1399 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1400 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
1405 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1406 .direction = TF_DIR_RX,
1407 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1408 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
1413 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1414 .direction = TF_DIR_RX,
1415 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1416 .resource_type = TF_TBL_TYPE_ACT_ENCAP_8B,
1421 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1422 .direction = TF_DIR_RX,
1423 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1424 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
1429 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1430 .direction = TF_DIR_RX,
1431 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1432 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC,
1437 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1438 .direction = TF_DIR_RX,
1439 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1440 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
1445 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1446 .direction = TF_DIR_RX,
1447 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1448 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1453 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1454 .direction = TF_DIR_RX,
1455 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1456 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1461 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1462 .direction = TF_DIR_RX,
1463 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1464 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
1469 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1470 .direction = TF_DIR_RX,
1471 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1472 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
1477 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1478 .direction = TF_DIR_RX,
1479 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1480 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
1485 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1486 .direction = TF_DIR_RX,
1487 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1488 .resource_type = TF_EM_TBL_TYPE_TBL_SCOPE,
1493 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1494 .direction = TF_DIR_TX,
1495 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1496 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
1501 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1502 .direction = TF_DIR_TX,
1503 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1504 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
1509 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1510 .direction = TF_DIR_TX,
1511 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1512 .resource_type = TF_IDENT_TYPE_WC_PROF,
1517 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1518 .direction = TF_DIR_TX,
1519 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1520 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
1525 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1526 .direction = TF_DIR_TX,
1527 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1528 .resource_type = TF_IDENT_TYPE_EM_PROF,
1533 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1534 .direction = TF_DIR_TX,
1535 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1536 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1541 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1542 .direction = TF_DIR_TX,
1543 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1544 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
1549 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1550 .direction = TF_DIR_TX,
1551 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1552 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
1557 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1558 .direction = TF_DIR_TX,
1559 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1560 .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
1565 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1566 .direction = TF_DIR_TX,
1567 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1568 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
1573 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1574 .direction = TF_DIR_TX,
1575 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1576 .resource_type = TF_TBL_TYPE_ACT_ENCAP_8B,
1581 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1582 .direction = TF_DIR_TX,
1583 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1584 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1589 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1590 .direction = TF_DIR_TX,
1591 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1592 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV6,
1597 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1598 .direction = TF_DIR_TX,
1599 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1600 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
1605 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1606 .direction = TF_DIR_TX,
1607 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1608 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1613 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1614 .direction = TF_DIR_TX,
1615 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1616 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1621 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1622 .direction = TF_DIR_TX,
1623 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1624 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
1629 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1630 .direction = TF_DIR_TX,
1631 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1632 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
1637 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1638 .direction = TF_DIR_TX,
1639 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1640 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
1645 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1646 .direction = TF_DIR_TX,
1647 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1648 .resource_type = TF_EM_TBL_TYPE_TBL_SCOPE,
1653 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1654 .direction = TF_DIR_RX,
1655 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1656 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
1661 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1662 .direction = TF_DIR_RX,
1663 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1664 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
1669 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1670 .direction = TF_DIR_RX,
1671 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1672 .resource_type = TF_IDENT_TYPE_WC_PROF,
1677 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1678 .direction = TF_DIR_RX,
1679 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1680 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
1685 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1686 .direction = TF_DIR_RX,
1687 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1688 .resource_type = TF_IDENT_TYPE_EM_PROF,
1693 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1694 .direction = TF_DIR_RX,
1695 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1696 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1701 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1702 .direction = TF_DIR_RX,
1703 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1704 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
1709 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1710 .direction = TF_DIR_RX,
1711 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1712 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
1717 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1718 .direction = TF_DIR_RX,
1719 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1720 .resource_type = TF_TBL_TYPE_EM_FKB,
1725 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1726 .direction = TF_DIR_RX,
1727 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1728 .resource_type = TF_TBL_TYPE_WC_FKB,
1733 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1734 .direction = TF_DIR_RX,
1735 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1736 .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
1741 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1742 .direction = TF_DIR_RX,
1743 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1744 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1749 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1750 .direction = TF_DIR_RX,
1751 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1752 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1757 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1758 .direction = TF_DIR_RX,
1759 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1760 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1765 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1766 .direction = TF_DIR_RX,
1767 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1768 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
1773 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1774 .direction = TF_DIR_RX,
1775 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1776 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
1781 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1782 .direction = TF_DIR_RX,
1783 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1784 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
1789 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1790 .direction = TF_DIR_TX,
1791 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1792 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
1797 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1798 .direction = TF_DIR_TX,
1799 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1800 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
1805 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1806 .direction = TF_DIR_TX,
1807 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1808 .resource_type = TF_IDENT_TYPE_WC_PROF,
1813 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1814 .direction = TF_DIR_TX,
1815 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1816 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
1821 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1822 .direction = TF_DIR_TX,
1823 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1824 .resource_type = TF_IDENT_TYPE_EM_PROF,
1829 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1830 .direction = TF_DIR_TX,
1831 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1832 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1837 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1838 .direction = TF_DIR_TX,
1839 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1840 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
1845 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1846 .direction = TF_DIR_TX,
1847 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1848 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
1853 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1854 .direction = TF_DIR_TX,
1855 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1856 .resource_type = TF_TBL_TYPE_EM_FKB,
1861 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1862 .direction = TF_DIR_TX,
1863 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1864 .resource_type = TF_TBL_TYPE_WC_FKB,
1869 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1870 .direction = TF_DIR_TX,
1871 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1872 .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
1877 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1878 .direction = TF_DIR_TX,
1879 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1880 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1885 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1886 .direction = TF_DIR_TX,
1887 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1888 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
1893 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1894 .direction = TF_DIR_TX,
1895 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1896 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1901 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1902 .direction = TF_DIR_TX,
1903 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1904 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1909 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1910 .direction = TF_DIR_TX,
1911 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1912 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
1917 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1918 .direction = TF_DIR_TX,
1919 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1920 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
1925 .device_id = BNXT_ULP_DEVICE_ID_THOR,
1926 .direction = TF_DIR_TX,
1927 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1928 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
1933 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1934 .direction = TF_DIR_RX,
1935 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1936 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
1941 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1942 .direction = TF_DIR_RX,
1943 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1944 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
1949 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1950 .direction = TF_DIR_RX,
1951 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1952 .resource_type = TF_IDENT_TYPE_WC_PROF,
1957 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1958 .direction = TF_DIR_RX,
1959 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1960 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
1965 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1966 .direction = TF_DIR_RX,
1967 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
1968 .resource_type = TF_IDENT_TYPE_EM_PROF,
1973 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1974 .direction = TF_DIR_RX,
1975 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1976 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1981 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1982 .direction = TF_DIR_RX,
1983 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1984 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
1989 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1990 .direction = TF_DIR_RX,
1991 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1992 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
1997 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
1998 .direction = TF_DIR_RX,
1999 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2000 .resource_type = TF_TBL_TYPE_ACT_ENCAP_8B,
2005 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2006 .direction = TF_DIR_RX,
2007 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2008 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
2013 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2014 .direction = TF_DIR_RX,
2015 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2016 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC,
2021 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2022 .direction = TF_DIR_RX,
2023 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2024 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
2029 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2030 .direction = TF_DIR_RX,
2031 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2032 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
2037 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2038 .direction = TF_DIR_RX,
2039 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2040 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2045 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2046 .direction = TF_DIR_RX,
2047 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2048 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
2053 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2054 .direction = TF_DIR_RX,
2055 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2056 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
2061 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2062 .direction = TF_DIR_RX,
2063 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2064 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
2069 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2070 .direction = TF_DIR_RX,
2071 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2072 .resource_type = TF_EM_TBL_TYPE_TBL_SCOPE,
2077 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2078 .direction = TF_DIR_TX,
2079 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2080 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
2085 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2086 .direction = TF_DIR_TX,
2087 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2088 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
2093 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2094 .direction = TF_DIR_TX,
2095 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2096 .resource_type = TF_IDENT_TYPE_WC_PROF,
2101 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2102 .direction = TF_DIR_TX,
2103 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2104 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
2109 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2110 .direction = TF_DIR_TX,
2111 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2112 .resource_type = TF_IDENT_TYPE_EM_PROF,
2117 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2118 .direction = TF_DIR_TX,
2119 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2120 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
2125 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2126 .direction = TF_DIR_TX,
2127 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2128 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
2133 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2134 .direction = TF_DIR_TX,
2135 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2136 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
2141 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2142 .direction = TF_DIR_TX,
2143 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2144 .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
2149 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2150 .direction = TF_DIR_TX,
2151 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2152 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
2157 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2158 .direction = TF_DIR_TX,
2159 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2160 .resource_type = TF_TBL_TYPE_ACT_ENCAP_8B,
2165 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2166 .direction = TF_DIR_TX,
2167 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2168 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
2173 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2174 .direction = TF_DIR_TX,
2175 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2176 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV6,
2181 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2182 .direction = TF_DIR_TX,
2183 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2184 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
2189 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2190 .direction = TF_DIR_TX,
2191 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2192 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
2197 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2198 .direction = TF_DIR_TX,
2199 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2200 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2205 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2206 .direction = TF_DIR_TX,
2207 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2208 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
2213 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2214 .direction = TF_DIR_TX,
2215 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2216 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
2221 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2222 .direction = TF_DIR_TX,
2223 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2224 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
2229 .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS,
2230 .direction = TF_DIR_TX,
2231 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2232 .resource_type = TF_EM_TBL_TYPE_TBL_SCOPE,
2237 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2238 .direction = TF_DIR_RX,
2239 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2240 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
2245 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2246 .direction = TF_DIR_RX,
2247 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2248 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
2253 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2254 .direction = TF_DIR_RX,
2255 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2256 .resource_type = TF_IDENT_TYPE_WC_PROF,
2261 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2262 .direction = TF_DIR_RX,
2263 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2264 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
2269 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2270 .direction = TF_DIR_RX,
2271 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2272 .resource_type = TF_IDENT_TYPE_EM_PROF,
2277 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2278 .direction = TF_DIR_RX,
2279 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2280 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
2285 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2286 .direction = TF_DIR_RX,
2287 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2288 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
2293 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2294 .direction = TF_DIR_RX,
2295 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2296 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
2301 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2302 .direction = TF_DIR_RX,
2303 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2304 .resource_type = TF_TBL_TYPE_EM_FKB,
2309 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2310 .direction = TF_DIR_RX,
2311 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2312 .resource_type = TF_TBL_TYPE_WC_FKB,
2317 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2318 .direction = TF_DIR_RX,
2319 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2320 .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
2325 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2326 .direction = TF_DIR_RX,
2327 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2328 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
2333 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2334 .direction = TF_DIR_RX,
2335 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2336 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
2341 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2342 .direction = TF_DIR_RX,
2343 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2344 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2349 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2350 .direction = TF_DIR_RX,
2351 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2352 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
2357 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2358 .direction = TF_DIR_RX,
2359 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2360 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
2365 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2366 .direction = TF_DIR_RX,
2367 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2368 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
2373 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2374 .direction = TF_DIR_TX,
2375 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2376 .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
2381 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2382 .direction = TF_DIR_TX,
2383 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2384 .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW,
2389 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2390 .direction = TF_DIR_TX,
2391 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2392 .resource_type = TF_IDENT_TYPE_WC_PROF,
2397 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2398 .direction = TF_DIR_TX,
2399 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2400 .resource_type = TF_IDENT_TYPE_PROF_FUNC,
2405 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2406 .direction = TF_DIR_TX,
2407 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2408 .resource_type = TF_IDENT_TYPE_EM_PROF,
2413 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2414 .direction = TF_DIR_TX,
2415 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2416 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
2421 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2422 .direction = TF_DIR_TX,
2423 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2424 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
2429 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2430 .direction = TF_DIR_TX,
2431 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2432 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
2437 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2438 .direction = TF_DIR_TX,
2439 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2440 .resource_type = TF_TBL_TYPE_EM_FKB,
2445 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2446 .direction = TF_DIR_TX,
2447 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2448 .resource_type = TF_TBL_TYPE_WC_FKB,
2453 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2454 .direction = TF_DIR_TX,
2455 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2456 .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
2461 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2462 .direction = TF_DIR_TX,
2463 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2464 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
2469 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2470 .direction = TF_DIR_TX,
2471 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
2472 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
2477 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2478 .direction = TF_DIR_TX,
2479 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2480 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
2485 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2486 .direction = TF_DIR_TX,
2487 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2488 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
2493 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2494 .direction = TF_DIR_TX,
2495 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2496 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
2501 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2502 .direction = TF_DIR_TX,
2503 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
2504 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
2509 .device_id = BNXT_ULP_DEVICE_ID_THOR,
2510 .direction = TF_DIR_TX,
2511 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
2512 .resource_type = TF_EM_TBL_TYPE_EM_RECORD,
2517 uint32_t ulp_act_prop_map_table[] = {
2518 [BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ] =
2519 BNXT_ULP_ACT_PROP_SZ_ENCAP_TUN_SZ,
2520 [BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ] =
2521 BNXT_ULP_ACT_PROP_SZ_ENCAP_IP_SZ,
2522 [BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ] =
2523 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG_SZ,
2524 [BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE] =
2525 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG_TYPE,
2526 [BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_NUM] =
2527 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG_NUM,
2528 [BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE] =
2529 BNXT_ULP_ACT_PROP_SZ_ENCAP_L3_TYPE,
2530 [BNXT_ULP_ACT_PROP_IDX_MPLS_POP_NUM] =
2531 BNXT_ULP_ACT_PROP_SZ_MPLS_POP_NUM,
2532 [BNXT_ULP_ACT_PROP_IDX_MPLS_PUSH_NUM] =
2533 BNXT_ULP_ACT_PROP_SZ_MPLS_PUSH_NUM,
2534 [BNXT_ULP_ACT_PROP_IDX_PORT_ID] =
2535 BNXT_ULP_ACT_PROP_SZ_PORT_ID,
2536 [BNXT_ULP_ACT_PROP_IDX_VNIC] =
2537 BNXT_ULP_ACT_PROP_SZ_VNIC,
2538 [BNXT_ULP_ACT_PROP_IDX_VPORT] =
2539 BNXT_ULP_ACT_PROP_SZ_VPORT,
2540 [BNXT_ULP_ACT_PROP_IDX_MARK] =
2541 BNXT_ULP_ACT_PROP_SZ_MARK,
2542 [BNXT_ULP_ACT_PROP_IDX_COUNT] =
2543 BNXT_ULP_ACT_PROP_SZ_COUNT,
2544 [BNXT_ULP_ACT_PROP_IDX_METER] =
2545 BNXT_ULP_ACT_PROP_SZ_METER,
2546 [BNXT_ULP_ACT_PROP_IDX_SET_MAC_SRC] =
2547 BNXT_ULP_ACT_PROP_SZ_SET_MAC_SRC,
2548 [BNXT_ULP_ACT_PROP_IDX_SET_MAC_DST] =
2549 BNXT_ULP_ACT_PROP_SZ_SET_MAC_DST,
2550 [BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN] =
2551 BNXT_ULP_ACT_PROP_SZ_PUSH_VLAN,
2552 [BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP] =
2553 BNXT_ULP_ACT_PROP_SZ_SET_VLAN_PCP,
2554 [BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID] =
2555 BNXT_ULP_ACT_PROP_SZ_SET_VLAN_VID,
2556 [BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC] =
2557 BNXT_ULP_ACT_PROP_SZ_SET_IPV4_SRC,
2558 [BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST] =
2559 BNXT_ULP_ACT_PROP_SZ_SET_IPV4_DST,
2560 [BNXT_ULP_ACT_PROP_IDX_SET_IPV6_SRC] =
2561 BNXT_ULP_ACT_PROP_SZ_SET_IPV6_SRC,
2562 [BNXT_ULP_ACT_PROP_IDX_SET_IPV6_DST] =
2563 BNXT_ULP_ACT_PROP_SZ_SET_IPV6_DST,
2564 [BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC] =
2565 BNXT_ULP_ACT_PROP_SZ_SET_TP_SRC,
2566 [BNXT_ULP_ACT_PROP_IDX_SET_TP_DST] =
2567 BNXT_ULP_ACT_PROP_SZ_SET_TP_DST,
2568 [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_0] =
2569 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_0,
2570 [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_1] =
2571 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_1,
2572 [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_2] =
2573 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_2,
2574 [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_3] =
2575 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_3,
2576 [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_4] =
2577 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_4,
2578 [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_5] =
2579 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_5,
2580 [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_6] =
2581 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_6,
2582 [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_7] =
2583 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_7,
2584 [BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC] =
2585 BNXT_ULP_ACT_PROP_SZ_ENCAP_L2_DMAC,
2586 [BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC] =
2587 BNXT_ULP_ACT_PROP_SZ_ENCAP_L2_SMAC,
2588 [BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG] =
2589 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG,
2590 [BNXT_ULP_ACT_PROP_IDX_ENCAP_IP] =
2591 BNXT_ULP_ACT_PROP_SZ_ENCAP_IP,
2592 [BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC] =
2593 BNXT_ULP_ACT_PROP_SZ_ENCAP_IP_SRC,
2594 [BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP] =
2595 BNXT_ULP_ACT_PROP_SZ_ENCAP_UDP,
2596 [BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN] =
2597 BNXT_ULP_ACT_PROP_SZ_ENCAP_TUN,
2598 [BNXT_ULP_ACT_PROP_IDX_JUMP] =
2599 BNXT_ULP_ACT_PROP_SZ_JUMP,
2600 [BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE] =
2601 BNXT_ULP_ACT_PROP_SZ_SHARED_HANDLE,
2602 [BNXT_ULP_ACT_PROP_IDX_LAST] =
2603 BNXT_ULP_ACT_PROP_SZ_LAST
2606 uint8_t ulp_glb_field_tbl[] = {