X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fmlx5%2Frte_pmd_mlx5.h;h=e531e527b67cc8e936dee84a4cc06279fd352979;hb=09546d7b01927b5e31fdb51eea1f4ccc3abac5d2;hp=8c6922835408b543883a305e8bb3c38c85ccee5e;hpb=efa79e68c8cd41ba9ef082448b5c7ccc2a245ab9;p=dpdk.git diff --git a/drivers/net/mlx5/rte_pmd_mlx5.h b/drivers/net/mlx5/rte_pmd_mlx5.h index 8c69228354..e531e527b6 100644 --- a/drivers/net/mlx5/rte_pmd_mlx5.h +++ b/drivers/net/mlx5/rte_pmd_mlx5.h @@ -32,4 +32,29 @@ __rte_experimental int rte_pmd_mlx5_get_dyn_flag_names(char *names[], unsigned int n); +#define MLX5_DOMAIN_BIT_NIC_RX (1 << 0) /**< NIC RX domain bit mask. */ +#define MLX5_DOMAIN_BIT_NIC_TX (1 << 1) /**< NIC TX domain bit mask. */ +#define MLX5_DOMAIN_BIT_FDB (1 << 2) /**< FDB (TX + RX) domain bit mask. */ + +/** + * 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. + * + * @param[in] port_id + * The port identifier of the Ethernet device. + * @param[in] domains + * Refer 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. + * + * @return + * - (0) if successful. + * - Negative value if an error. + */ +__rte_experimental +int rte_pmd_mlx5_sync_flow(uint16_t port_id, uint32_t domains); + #endif