5#ifndef RTE_PMD_PRIVATE_MLX5_H_
6#define RTE_PMD_PRIVATE_MLX5_H_
11#include <rte_compat.h>
26#define RTE_PMD_MLX5_FINE_GRANULARITY_INLINE "mlx5_fine_granularity_inline"
45#define RTE_PMD_MLX5_DOMAIN_BIT_NIC_RX (1 << 0)
46#define RTE_PMD_MLX5_DOMAIN_BIT_NIC_TX (1 << 1)
47#define RTE_PMD_MLX5_DOMAIN_BIT_FDB (1 << 2)
73#define RTE_PMD_MLX5_EXTERNAL_RX_QUEUE_ID_MIN (UINT16_MAX - 1000 + 1)
78#define MLX5_EXTERNAL_TX_QUEUE_ID_MIN (UINT16_MAX - 1000 + 1)
83#define RTE_PMD_MLX5_LINEAR_HASH_TAG_INDEX 255
178#define RTE_PMD_MLX5_HOST_SHAPER_FLAG_AVAIL_THRESH_TRIGGERED 0
219enum rte_pmd_mlx5_flow_engine_mode {
220 RTE_PMD_MLX5_FLOW_ENGINE_MODE_ACTIVE,
221 RTE_PMD_MLX5_FLOW_ENGINE_MODE_STANDBY,
228#define RTE_PMD_MLX5_FLOW_ENGINE_FLAG_STANDBY_DUP_INGRESS RTE_BIT32(0)
__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)
void(* rte_pmd_mlx5_driver_event_callback_t)(uint16_t port_id, const struct rte_pmd_mlx5_driver_event_cb_info *info, const void *opaque)
__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_external_tx_queue_id_unmap(uint16_t port_id, uint16_t dpdk_idx)
__rte_experimental int rte_pmd_mlx5_destroy_geneve_tlv_parser(void *handle)
__rte_experimental int rte_pmd_mlx5_enable_steering(void)
__rte_experimental int rte_pmd_mlx5_external_tx_queue_id_map(uint16_t port_id, uint16_t dpdk_idx, uint32_t hw_idx)
rte_pmd_mlx5_driver_event_cb_type
@ RTE_PMD_MLX5_DRIVER_EVENT_CB_TYPE_TXQ_DESTROY
@ RTE_PMD_MLX5_DRIVER_EVENT_CB_TYPE_RXQ_DESTROY
@ RTE_PMD_MLX5_DRIVER_EVENT_CB_TYPE_RXQ_CREATE
@ RTE_PMD_MLX5_DRIVER_EVENT_CB_TYPE_TXQ_CREATE
__rte_experimental void * rte_pmd_mlx5_create_geneve_tlv_parser(uint16_t port_id, const struct rte_pmd_mlx5_geneve_tlv tlv_list[], uint8_t nb_options)
__rte_experimental int rte_pmd_mlx5_rxq_dump_contexts(uint16_t port_id, uint16_t queue_id, const char *filename)
__rte_experimental int rte_pmd_mlx5_sync_flow(uint16_t port_id, uint32_t domains)
__rte_experimental int rte_pmd_mlx5_driver_event_cb_unregister(rte_pmd_mlx5_driver_event_callback_t cb)
__rte_experimental int rte_pmd_mlx5_txq_dump_contexts(uint16_t port_id, uint16_t queue_id, const char *filename)
__rte_experimental int rte_pmd_mlx5_external_sq_enable(uint16_t port_id, uint32_t sq_num)
__rte_experimental int rte_pmd_mlx5_driver_event_cb_register(rte_pmd_mlx5_driver_event_callback_t cb, void *opaque)
__rte_experimental int rte_pmd_mlx5_get_dyn_flag_names(char *names[], unsigned int n)
__rte_experimental void rte_pmd_mlx5_disable_steering(void)
enum rte_pmd_mlx5_driver_event_cb_type event
struct rte_pmd_mlx5_driver_event_cb_queue_info queue
rte_be32_t * match_data_mask
uint8_t match_on_class_mode