xref: /dpdk/drivers/net/bnxt/tf_ulp/bnxt_tf_common.h (revision 68a03efeed657e6e05f281479b33b51102797e15)
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2014-2021 Broadcom
3  * All rights reserved.
4  */
5 
6 #ifndef _BNXT_TF_COMMON_H_
7 #define _BNXT_TF_COMMON_H_
8 
9 #include <inttypes.h>
10 
11 #include "bnxt_ulp.h"
12 #include "ulp_template_db_enum.h"
13 
14 #define BNXT_TF_DBG(lvl, fmt, args...)	PMD_DRV_LOG(lvl, fmt, ## args)
15 
16 #define BNXT_ULP_EM_FLOWS			8192
17 #define BNXT_ULP_1M_FLOWS			1000000
18 #define BNXT_EEM_RX_GLOBAL_ID_MASK		(BNXT_ULP_1M_FLOWS - 1)
19 #define BNXT_EEM_TX_GLOBAL_ID_MASK		(BNXT_ULP_1M_FLOWS - 1)
20 #define BNXT_EEM_HASH_KEY2_USED			0x8000000
21 #define BNXT_EEM_RX_HW_HASH_KEY2_BIT		BNXT_ULP_1M_FLOWS
22 #define	BNXT_ULP_DFLT_RX_MAX_KEY		512
23 #define	BNXT_ULP_DFLT_RX_MAX_ACTN_ENTRY		256
24 #define	BNXT_ULP_DFLT_RX_MEM			0
25 #define	BNXT_ULP_RX_NUM_FLOWS			32
26 #define	BNXT_ULP_RX_TBL_IF_ID			0
27 #define	BNXT_ULP_DFLT_TX_MAX_KEY		512
28 #define	BNXT_ULP_DFLT_TX_MAX_ACTN_ENTRY		256
29 #define	BNXT_ULP_DFLT_TX_MEM			0
30 #define	BNXT_ULP_TX_NUM_FLOWS			32
31 #define	BNXT_ULP_TX_TBL_IF_ID			0
32 
33 enum bnxt_tf_rc {
34 	BNXT_TF_RC_PARSE_ERR	= -2,
35 	BNXT_TF_RC_ERROR	= -1,
36 	BNXT_TF_RC_SUCCESS	= 0,
37 	BNXT_TF_RC_NORMAL	= 1,
38 	BNXT_TF_RC_FID		= 2,
39 };
40 
41 /* eth IPv4 Type */
42 enum bnxt_ulp_eth_ip_type {
43 	BNXT_ULP_ETH_IPV4 = 4,
44 	BNXT_ULP_ETH_IPV6 = 5,
45 	BNXT_ULP_MAX_ETH_IP_TYPE = 0
46 };
47 
48 /* ulp direction Type */
49 enum bnxt_ulp_direction_type {
50 	BNXT_ULP_DIR_INVALID,
51 	BNXT_ULP_DIR_INGRESS,
52 	BNXT_ULP_DIR_EGRESS,
53 };
54 
55 /* enumeration of the interface types */
56 enum bnxt_ulp_intf_type {
57 	BNXT_ULP_INTF_TYPE_INVALID = 0,
58 	BNXT_ULP_INTF_TYPE_PF,
59 	BNXT_ULP_INTF_TYPE_TRUSTED_VF,
60 	BNXT_ULP_INTF_TYPE_VF,
61 	BNXT_ULP_INTF_TYPE_PF_REP,
62 	BNXT_ULP_INTF_TYPE_VF_REP,
63 	BNXT_ULP_INTF_TYPE_PHY_PORT,
64 	BNXT_ULP_INTF_TYPE_LAST
65 };
66 
67 struct bnxt_ulp_mark_tbl *
68 bnxt_ulp_cntxt_ptr2_mark_db_get(struct bnxt_ulp_context *ulp_ctx);
69 
70 int32_t
71 bnxt_ulp_cntxt_ptr2_mark_db_set(struct bnxt_ulp_context *ulp_ctx,
72 				struct bnxt_ulp_mark_tbl *mark_tbl);
73 
74 #endif /* _BNXT_TF_COMMON_H_ */
75