1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2014-2021 Broadcom
6 #ifndef _BNXT_TF_COMMON_H_
7 #define _BNXT_TF_COMMON_H_
12 #include "ulp_template_db_enum.h"
14 #define BNXT_TF_DBG(lvl, fmt, args...) PMD_DRV_LOG(lvl, fmt, ## args)
16 #define BNXT_TF_INF(fmt, args...)
18 #define BNXT_ULP_EM_FLOWS 8192
19 #define BNXT_ULP_1M_FLOWS 1000000
20 #define BNXT_EEM_RX_GLOBAL_ID_MASK (BNXT_ULP_1M_FLOWS - 1)
21 #define BNXT_EEM_TX_GLOBAL_ID_MASK (BNXT_ULP_1M_FLOWS - 1)
22 #define BNXT_EEM_HASH_KEY2_USED 0x8000000
23 #define BNXT_EEM_RX_HW_HASH_KEY2_BIT BNXT_ULP_1M_FLOWS
24 #define BNXT_ULP_DFLT_RX_MAX_KEY 512
25 #define BNXT_ULP_DFLT_RX_MAX_ACTN_ENTRY 256
26 #define BNXT_ULP_DFLT_RX_MEM 0
27 #define BNXT_ULP_RX_NUM_FLOWS 32
28 #define BNXT_ULP_DFLT_TX_MAX_KEY 512
29 #define BNXT_ULP_DFLT_TX_MAX_ACTN_ENTRY 256
30 #define BNXT_ULP_DFLT_TX_MEM 0
31 #define BNXT_ULP_TX_NUM_FLOWS 32
34 BNXT_TF_RC_PARSE_ERR = -2,
35 BNXT_TF_RC_ERROR = -1,
36 BNXT_TF_RC_SUCCESS = 0
40 enum bnxt_ulp_eth_ip_type {
41 BNXT_ULP_ETH_IPV4 = 4,
42 BNXT_ULP_ETH_IPV6 = 5,
43 BNXT_ULP_MAX_ETH_IP_TYPE = 0
46 /* ulp direction Type */
47 enum bnxt_ulp_direction_type {
53 /* enumeration of the interface types */
54 enum bnxt_ulp_intf_type {
55 BNXT_ULP_INTF_TYPE_INVALID = 0,
56 BNXT_ULP_INTF_TYPE_PF,
57 BNXT_ULP_INTF_TYPE_TRUSTED_VF,
58 BNXT_ULP_INTF_TYPE_VF,
59 BNXT_ULP_INTF_TYPE_PF_REP,
60 BNXT_ULP_INTF_TYPE_VF_REP,
61 BNXT_ULP_INTF_TYPE_PHY_PORT,
62 BNXT_ULP_INTF_TYPE_LAST
65 struct bnxt_ulp_mark_tbl *
66 bnxt_ulp_cntxt_ptr2_mark_db_get(struct bnxt_ulp_context *ulp_ctx);
69 bnxt_ulp_cntxt_ptr2_mark_db_set(struct bnxt_ulp_context *ulp_ctx,
70 struct bnxt_ulp_mark_tbl *mark_tbl);
72 #endif /* _BNXT_TF_COMMON_H_ */