DPDK  22.11.11
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 <stdint.h>
9 
10 #include <rte_byteorder.h>
11 #include <rte_compat.h>
12 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 
25 #define RTE_PMD_MLX5_FINE_GRANULARITY_INLINE "mlx5_fine_granularity_inline"
26 
41 __rte_experimental
42 int rte_pmd_mlx5_get_dyn_flag_names(char *names[], unsigned int n);
43 
44 #define MLX5_DOMAIN_BIT_NIC_RX (1 << 0)
45 #define MLX5_DOMAIN_BIT_NIC_TX (1 << 1)
46 #define MLX5_DOMAIN_BIT_FDB (1 << 2)
66 __rte_experimental
67 int rte_pmd_mlx5_sync_flow(uint16_t port_id, uint32_t domains);
68 
72 #define MLX5_EXTERNAL_RX_QUEUE_ID_MIN (UINT16_MAX - 1000 + 1)
73 
93 __rte_experimental
94 int rte_pmd_mlx5_external_rx_queue_id_map(uint16_t port_id, uint16_t dpdk_idx,
95  uint32_t hw_idx);
96 
113 __rte_experimental
114 int rte_pmd_mlx5_external_rx_queue_id_unmap(uint16_t port_id,
115  uint16_t dpdk_idx);
116 
124 #define MLX5_HOST_SHAPER_FLAG_AVAIL_THRESH_TRIGGERED 0
125 
144 __rte_experimental
145 int rte_pmd_mlx5_host_shaper_config(int port_id, uint8_t rate, uint32_t flags);
146 
161 __rte_experimental
162 int rte_pmd_mlx5_external_sq_enable(uint16_t port_id, uint32_t sq_num);
163 
179 __rte_experimental
180 int rte_pmd_mlx5_external_sq_disable(uint16_t port_id, uint32_t sq_num);
181 
182 #ifdef __cplusplus
183 }
184 #endif
185 
186 #endif /* RTE_PMD_PRIVATE_MLX5_H_ */
__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_unmap(uint16_t port_id, uint16_t dpdk_idx)
__rte_experimental int rte_pmd_mlx5_external_sq_enable(uint16_t port_id, uint32_t sq_num)
__rte_experimental int rte_pmd_mlx5_external_sq_disable(uint16_t port_id, uint32_t sq_num)
__rte_experimental int rte_pmd_mlx5_sync_flow(uint16_t port_id, uint32_t domains)
__rte_experimental int rte_pmd_mlx5_get_dyn_flag_names(char *names[], unsigned int n)
__rte_experimental int rte_pmd_mlx5_external_rx_queue_id_map(uint16_t port_id, uint16_t dpdk_idx, uint32_t hw_idx)