11d3f62a0SOleksandr Kolomeiets /* 21d3f62a0SOleksandr Kolomeiets * SPDX-License-Identifier: BSD-3-Clause 31d3f62a0SOleksandr Kolomeiets * Copyright(c) 2023 Napatech A/S 41d3f62a0SOleksandr Kolomeiets */ 51d3f62a0SOleksandr Kolomeiets 61d3f62a0SOleksandr Kolomeiets #ifndef _FLOW_API_ENGINE_H_ 71d3f62a0SOleksandr Kolomeiets #define _FLOW_API_ENGINE_H_ 81d3f62a0SOleksandr Kolomeiets 91d3f62a0SOleksandr Kolomeiets /* 101d3f62a0SOleksandr Kolomeiets * Resource management 117917b0d3SOleksandr Kolomeiets */ 127917b0d3SOleksandr Kolomeiets #define BIT_CONTAINER_8_ALIGN(x) (((x) + 7) / 8) 137917b0d3SOleksandr Kolomeiets 147917b0d3SOleksandr Kolomeiets /* 157917b0d3SOleksandr Kolomeiets * Resource management 161d3f62a0SOleksandr Kolomeiets * These are free resources in FPGA 171d3f62a0SOleksandr Kolomeiets * Other FPGA memory lists are linked to one of these 181d3f62a0SOleksandr Kolomeiets * and will implicitly follow them 191d3f62a0SOleksandr Kolomeiets */ 201d3f62a0SOleksandr Kolomeiets enum res_type_e { 211d3f62a0SOleksandr Kolomeiets RES_QUEUE, 221d3f62a0SOleksandr Kolomeiets RES_CAT_CFN, 231d3f62a0SOleksandr Kolomeiets RES_CAT_COT, 241d3f62a0SOleksandr Kolomeiets RES_CAT_EXO, 251d3f62a0SOleksandr Kolomeiets RES_CAT_LEN, 261d3f62a0SOleksandr Kolomeiets RES_KM_FLOW_TYPE, 271d3f62a0SOleksandr Kolomeiets RES_KM_CATEGORY, 281d3f62a0SOleksandr Kolomeiets RES_HSH_RCP, 291d3f62a0SOleksandr Kolomeiets RES_PDB_RCP, 301d3f62a0SOleksandr Kolomeiets RES_QSL_RCP, 311d3f62a0SOleksandr Kolomeiets RES_QSL_QST, 321d3f62a0SOleksandr Kolomeiets RES_SLC_LR_RCP, 331d3f62a0SOleksandr Kolomeiets 341d3f62a0SOleksandr Kolomeiets RES_FLM_FLOW_TYPE, 351d3f62a0SOleksandr Kolomeiets RES_FLM_RCP, 361d3f62a0SOleksandr Kolomeiets RES_TPE_RCP, 371d3f62a0SOleksandr Kolomeiets RES_TPE_EXT, 381d3f62a0SOleksandr Kolomeiets RES_TPE_RPL, 391d3f62a0SOleksandr Kolomeiets RES_SCRUB_RCP, 401d3f62a0SOleksandr Kolomeiets RES_COUNT, 411d3f62a0SOleksandr Kolomeiets RES_INVALID 421d3f62a0SOleksandr Kolomeiets }; 431d3f62a0SOleksandr Kolomeiets 44b01eb812SDanylo Vodopianov /* 45b01eb812SDanylo Vodopianov * Flow NIC offload management 46b01eb812SDanylo Vodopianov */ 47b01eb812SDanylo Vodopianov #define MAX_OUTPUT_DEST (128) 48b01eb812SDanylo Vodopianov 49*2005c549SSerhii Iliushyk struct flow_handle { 50*2005c549SSerhii Iliushyk struct flow_eth_dev *dev; 51*2005c549SSerhii Iliushyk struct flow_handle *next; 52*2005c549SSerhii Iliushyk }; 53*2005c549SSerhii Iliushyk 541d3f62a0SOleksandr Kolomeiets void km_free_ndev_resource_management(void **handle); 551d3f62a0SOleksandr Kolomeiets 561d3f62a0SOleksandr Kolomeiets void kcc_free_ndev_resource_management(void **handle); 571d3f62a0SOleksandr Kolomeiets 581d3f62a0SOleksandr Kolomeiets #endif /* _FLOW_API_ENGINE_H_ */ 59