DPDK 23.11.0
Loading...
Searching...
No Matches
rte_pmd_mlx5.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright 2020 Mellanox Technologies, Ltd
3 */
4
5#ifndef RTE_PMD_PRIVATE_MLX5_H_
6#define RTE_PMD_PRIVATE_MLX5_H_
7
8#include <rte_compat.h>
9
18#ifdef __cplusplus
19extern "C" {
20#endif
21
22#define RTE_PMD_MLX5_FINE_GRANULARITY_INLINE "mlx5_fine_granularity_inline"
23
38__rte_experimental
39int rte_pmd_mlx5_get_dyn_flag_names(char *names[], unsigned int n);
40
41#define RTE_PMD_MLX5_DOMAIN_BIT_NIC_RX (1 << 0)
42#define RTE_PMD_MLX5_DOMAIN_BIT_NIC_TX (1 << 1)
43#define RTE_PMD_MLX5_DOMAIN_BIT_FDB (1 << 2)
63__rte_experimental
64int rte_pmd_mlx5_sync_flow(uint16_t port_id, uint32_t domains);
65
69#define RTE_PMD_MLX5_EXTERNAL_RX_QUEUE_ID_MIN (UINT16_MAX - 1000 + 1)
70
74#define RTE_PMD_MLX5_LINEAR_HASH_TAG_INDEX 255
75
95__rte_experimental
96int rte_pmd_mlx5_external_rx_queue_id_map(uint16_t port_id, uint16_t dpdk_idx,
97 uint32_t hw_idx);
98
115__rte_experimental
117 uint16_t dpdk_idx);
118
126#define RTE_PMD_MLX5_HOST_SHAPER_FLAG_AVAIL_THRESH_TRIGGERED 0
127
146__rte_experimental
147int rte_pmd_mlx5_host_shaper_config(int port_id, uint8_t rate, uint32_t flags);
148
163__rte_experimental
164int rte_pmd_mlx5_external_sq_enable(uint16_t port_id, uint32_t sq_num);
165
166/* MLX5 flow engine mode definition for live migration. */
167enum rte_pmd_mlx5_flow_engine_mode {
168 RTE_PMD_MLX5_FLOW_ENGINE_MODE_ACTIVE, /* active means high priority, effective in HW. */
169 RTE_PMD_MLX5_FLOW_ENGINE_MODE_STANDBY, /* standby mode with lower priority flow rules. */
170};
171
176#define RTE_PMD_MLX5_FLOW_ENGINE_FLAG_STANDBY_DUP_INGRESS RTE_BIT32(0)
177
229__rte_experimental
230int rte_pmd_mlx5_flow_engine_set_mode(enum rte_pmd_mlx5_flow_engine_mode mode, uint32_t flags);
231
232#ifdef __cplusplus
233}
234#endif
235
236#endif /* RTE_PMD_PRIVATE_MLX5_H_ */
__rte_experimental int rte_pmd_mlx5_flow_engine_set_mode(enum rte_pmd_mlx5_flow_engine_mode mode, uint32_t flags)
__rte_experimental int rte_pmd_mlx5_external_rx_queue_id_unmap(uint16_t port_id, uint16_t dpdk_idx)
__rte_experimental int rte_pmd_mlx5_host_shaper_config(int port_id, uint8_t rate, uint32_t flags)
__rte_experimental int rte_pmd_mlx5_external_rx_queue_id_map(uint16_t port_id, uint16_t dpdk_idx, uint32_t hw_idx)
__rte_experimental int rte_pmd_mlx5_sync_flow(uint16_t port_id, uint32_t domains)
__rte_experimental int rte_pmd_mlx5_external_sq_enable(uint16_t port_id, uint32_t sq_num)
__rte_experimental int rte_pmd_mlx5_get_dyn_flag_names(char *names[], unsigned int n)