1313ac35aSVenkat Duvvuru /* SPDX-License-Identifier: BSD-3-Clause 2e6e8f03eSRandy Schacher * Copyright(c) 2014-2023 Broadcom 3313ac35aSVenkat Duvvuru * All rights reserved. 4313ac35aSVenkat Duvvuru */ 5313ac35aSVenkat Duvvuru 6313ac35aSVenkat Duvvuru #ifndef _BNXT_TF_COMMON_H_ 7313ac35aSVenkat Duvvuru #define _BNXT_TF_COMMON_H_ 8313ac35aSVenkat Duvvuru 945e8e1d4SVenkat Duvvuru #include <inttypes.h> 1045e8e1d4SVenkat Duvvuru 1145e8e1d4SVenkat Duvvuru #include "bnxt_ulp.h" 1245e8e1d4SVenkat Duvvuru #include "ulp_template_db_enum.h" 1345e8e1d4SVenkat Duvvuru 14dd0191d5SShuanglin Wang #define BNXT_DRV_DBG(lvl, fmt, ...) \ 15e99981afSDavid Marchand RTE_LOG(lvl, BNXT, "%s(): " fmt, __func__, ## __VA_ARGS__) 16313ac35aSVenkat Duvvuru 17dd0191d5SShuanglin Wang #ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG 18*fd51012dSAndre Muezerie #define BNXT_DRV_INF(fmt, ...) RTE_LOG(INFO, fmt, ## __VA_ARGS__) 19dd0191d5SShuanglin Wang #else 20*fd51012dSAndre Muezerie #define BNXT_DRV_INF(fmt, ...) 21dd0191d5SShuanglin Wang #endif 22ad9eed02SKishore Padmanabha 23313ac35aSVenkat Duvvuru #define BNXT_ULP_EM_FLOWS 8192 24313ac35aSVenkat Duvvuru #define BNXT_ULP_1M_FLOWS 1000000 25313ac35aSVenkat Duvvuru #define BNXT_EEM_RX_GLOBAL_ID_MASK (BNXT_ULP_1M_FLOWS - 1) 26313ac35aSVenkat Duvvuru #define BNXT_EEM_TX_GLOBAL_ID_MASK (BNXT_ULP_1M_FLOWS - 1) 27313ac35aSVenkat Duvvuru #define BNXT_EEM_HASH_KEY2_USED 0x8000000 28313ac35aSVenkat Duvvuru #define BNXT_EEM_RX_HW_HASH_KEY2_BIT BNXT_ULP_1M_FLOWS 29313ac35aSVenkat Duvvuru #define BNXT_ULP_DFLT_RX_MAX_KEY 512 30313ac35aSVenkat Duvvuru #define BNXT_ULP_DFLT_RX_MAX_ACTN_ENTRY 256 31313ac35aSVenkat Duvvuru #define BNXT_ULP_DFLT_RX_MEM 0 32313ac35aSVenkat Duvvuru #define BNXT_ULP_RX_NUM_FLOWS 32 33313ac35aSVenkat Duvvuru #define BNXT_ULP_DFLT_TX_MAX_KEY 512 34313ac35aSVenkat Duvvuru #define BNXT_ULP_DFLT_TX_MAX_ACTN_ENTRY 256 35313ac35aSVenkat Duvvuru #define BNXT_ULP_DFLT_TX_MEM 0 36313ac35aSVenkat Duvvuru #define BNXT_ULP_TX_NUM_FLOWS 32 37313ac35aSVenkat Duvvuru 38c7520059SKishore Padmanabha enum bnxt_tf_rc { 39c7520059SKishore Padmanabha BNXT_TF_RC_PARSE_ERR = -2, 40c7520059SKishore Padmanabha BNXT_TF_RC_ERROR = -1, 41bdf4a3c6SKishore Padmanabha BNXT_TF_RC_SUCCESS = 0 42c7520059SKishore Padmanabha }; 43c7520059SKishore Padmanabha 4411c854e2SKishore Padmanabha /* eth IPv4 Type */ 4511c854e2SKishore Padmanabha enum bnxt_ulp_eth_ip_type { 4611c854e2SKishore Padmanabha BNXT_ULP_ETH_IPV4 = 4, 4711c854e2SKishore Padmanabha BNXT_ULP_ETH_IPV6 = 5, 4811c854e2SKishore Padmanabha BNXT_ULP_MAX_ETH_IP_TYPE = 0 4911c854e2SKishore Padmanabha }; 5011c854e2SKishore Padmanabha 51c7520059SKishore Padmanabha /* ulp direction Type */ 5277b359eeSKishore Padmanabha enum bnxt_ulp_direction_type { 5377b359eeSKishore Padmanabha BNXT_ULP_DIR_INVALID, 5477b359eeSKishore Padmanabha BNXT_ULP_DIR_INGRESS, 5577b359eeSKishore Padmanabha BNXT_ULP_DIR_EGRESS, 56c7520059SKishore Padmanabha }; 57c7520059SKishore Padmanabha 58b81654dfSVenkat Duvvuru /* enumeration of the interface types */ 59b81654dfSVenkat Duvvuru enum bnxt_ulp_intf_type { 60b81654dfSVenkat Duvvuru BNXT_ULP_INTF_TYPE_INVALID = 0, 61b81654dfSVenkat Duvvuru BNXT_ULP_INTF_TYPE_PF, 6245e8e1d4SVenkat Duvvuru BNXT_ULP_INTF_TYPE_TRUSTED_VF, 63b81654dfSVenkat Duvvuru BNXT_ULP_INTF_TYPE_VF, 64b81654dfSVenkat Duvvuru BNXT_ULP_INTF_TYPE_PF_REP, 65b81654dfSVenkat Duvvuru BNXT_ULP_INTF_TYPE_VF_REP, 6677b359eeSKishore Padmanabha BNXT_ULP_INTF_TYPE_PHY_PORT, 67b81654dfSVenkat Duvvuru BNXT_ULP_INTF_TYPE_LAST 68b81654dfSVenkat Duvvuru }; 69b81654dfSVenkat Duvvuru 70313ac35aSVenkat Duvvuru #endif /* _BNXT_TF_COMMON_H_ */ 71