net/mlx5: fix flow engine choice

Commit in fixes line sets the DV (Direct Verbs) flow engine as default.
Newer versions of DV flow engine use the DR (Direct Rules) features.
DR is supported from RDMA Core library version rdma-core-24.0.
This cause failure to start port when using older rdma-core version,
without DR support.

This patch selects DV flow engine if rdma-core version is v24.0 or
higher. Verbs flow engine is selected otherwise.

Fixes: cd4569d2bf ("net/mlx5: change default flow engine to DV")

Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Ori Kam <orika@mellanox.com>
This commit is contained in:
Dekel Peled 2019-11-26 10:34:22 +02:00 committed by Ferruh Yigit
parent c2c0aa75cd
commit 0adf23adcb
3 changed files with 5 additions and 2 deletions

View File

@ -673,7 +673,7 @@ Run-time configuration
- ``dv_flow_en`` parameter [int]
A nonzero value enables the DV flow steering assuming it is supported
by the driver.
by the driver (RDMA Core library version is rdma-core-24.0 or higher).
Enabled by default if supported.

View File

@ -210,6 +210,9 @@ New Features
* Added support for matching on packets withe Geneve tunnel header.
* Added hairpin support.
* Added ConnectX6-DX support.
* Flow engine selected based on RDMA Core library version.
DV flow engine selected if version is rdma-core-24.0 or higher.
Verbs flow engine selected otherwise.
* **Updated the AF_XDP PMD.**

View File

@ -2428,7 +2428,7 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
!defined(HAVE_IBV_DEVICE_COUNTERS_SET_V45)
DRV_LOG(DEBUG, "counters are not supported");
#endif
#ifndef HAVE_IBV_FLOW_DV_SUPPORT
#if !defined(HAVE_IBV_FLOW_DV_SUPPORT) || !defined(HAVE_MLX5DV_DR)
if (config.dv_flow_en) {
DRV_LOG(WARNING, "DV flow is not supported");
config.dv_flow_en = 0;