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_TF_INF(fmt, args...) 17 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 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 }; 38 39 /* eth IPv4 Type */ 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 44 }; 45 46 /* ulp direction Type */ 47 enum bnxt_ulp_direction_type { 48 BNXT_ULP_DIR_INVALID, 49 BNXT_ULP_DIR_INGRESS, 50 BNXT_ULP_DIR_EGRESS, 51 }; 52 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 63 }; 64 65 struct bnxt_ulp_mark_tbl * 66 bnxt_ulp_cntxt_ptr2_mark_db_get(struct bnxt_ulp_context *ulp_ctx); 67 68 int32_t 69 bnxt_ulp_cntxt_ptr2_mark_db_set(struct bnxt_ulp_context *ulp_ctx, 70 struct bnxt_ulp_mark_tbl *mark_tbl); 71 72 #endif /* _BNXT_TF_COMMON_H_ */ 73