xref: /dpdk/drivers/net/bnxt/tf_ulp/bnxt_tf_common.h (revision fd51012de5369679e807be1d6a81d63ef15015ce)
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