DPDK  21.02.0
Macros | Functions
rte_pmd_mlx5.h File Reference

Go to the source code of this file.


#define MLX5_DOMAIN_BIT_NIC_RX   (1 << 0)
#define MLX5_DOMAIN_BIT_NIC_TX   (1 << 1)
#define MLX5_DOMAIN_BIT_FDB   (1 << 2)


__rte_experimental int rte_pmd_mlx5_get_dyn_flag_names (char *names[], unsigned int n)
__rte_experimental int rte_pmd_mlx5_sync_flow (uint16_t port_id, uint32_t domains)

Detailed Description

MLX5 public header.

This interface provides the ability to support private PMD dynamic flags.

Definition in file rte_pmd_mlx5.h.

Macro Definition Documentation

#define MLX5_DOMAIN_BIT_NIC_RX   (1 << 0)

NIC RX domain bit mask.

Definition at line 35 of file rte_pmd_mlx5.h.

#define MLX5_DOMAIN_BIT_NIC_TX   (1 << 1)

NIC TX domain bit mask.

Definition at line 36 of file rte_pmd_mlx5.h.

#define MLX5_DOMAIN_BIT_FDB   (1 << 2)

FDB (TX + RX) domain bit mask.

Definition at line 37 of file rte_pmd_mlx5.h.

Function Documentation

__rte_experimental int rte_pmd_mlx5_get_dyn_flag_names ( char *  names[],
unsigned int  n 

Returns the dynamic flags name, that are supported.

[out]namesArray that is used to return the supported dynamic flags names.
[in]nThe number of elements in the names array.
The number of dynamic flags that were copied if not negative. Otherwise:
  • ENOMEM - not enough entries in the array
  • EINVAL - invalid array entry
__rte_experimental int rte_pmd_mlx5_sync_flow ( uint16_t  port_id,
uint32_t  domains 

Synchronize the flows to make them take effort on hardware. It only supports DR flows now. For DV and Verbs flows, there is no need to call this function, and a success will return directly in case of Verbs.

[in]port_idThe port identifier of the Ethernet device.
[in]domainsRefer to "/usr/include/infiniband/mlx5dv.h". Bitmask of domains in which the synchronization will be done. MLX5_DOMAIN_BIT* macros are used to specify the domains. An ADD or OR operation could be used to synchronize flows in more than one domain per call.
  • (0) if successful.
  • Negative value if an error.