From: Yongseok Koh Date: Tue, 23 Oct 2018 16:52:09 +0000 (+0000) Subject: net/mlx5: add warning message for Direct Verbs flow X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=58b1312e9d193f91c20eace59555b3ae3c88272d;p=dpdk.git net/mlx5: add warning message for Direct Verbs flow In case that the library doesn't support DV flow, if enabled by 'dv_flow_en=1', print out a warning message and disable it. Fixes: 51e72d386c99 ("net/mlx5: add runtime parameter to enable Direct Verbs") Signed-off-by: Yongseok Koh Acked-by: Ori Kam --- diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c index d29c19534e..410c0c3064 100644 --- a/drivers/net/mlx5/mlx5.c +++ b/drivers/net/mlx5/mlx5.c @@ -1009,6 +1009,12 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev, #if !defined(HAVE_IBV_DEVICE_COUNTERS_SET_V42) && \ !defined(HAVE_IBV_DEVICE_COUNTERS_SET_V45) DRV_LOG(DEBUG, "counters are not supported"); +#endif +#ifndef HAVE_IBV_FLOW_DV_SUPPORT + if (config.dv_flow_en) { + DRV_LOG(WARNING, "DV flow is not supported"); + config.dv_flow_en = 0; + } #endif config.ind_table_max_size = attr.rss_caps.max_rwq_indirection_table_size; diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c index 7cea6312a0..106c55da2d 100644 --- a/drivers/net/mlx5/mlx5_flow.c +++ b/drivers/net/mlx5/mlx5_flow.c @@ -1679,25 +1679,19 @@ const struct mlx5_flow_driver_ops mlx5_flow_null_drv_ops = { * Pointer to the flow attributes. * * @return - * flow driver type if supported, MLX5_FLOW_TYPE_MAX otherwise. + * flow driver type, MLX5_FLOW_TYPE_MAX otherwise. */ static enum mlx5_flow_drv_type -flow_get_drv_type(struct rte_eth_dev *dev __rte_unused, - const struct rte_flow_attr *attr) +flow_get_drv_type(struct rte_eth_dev *dev, const struct rte_flow_attr *attr) { - struct priv *priv __rte_unused = dev->data->dev_private; + struct priv *priv = dev->data->dev_private; enum mlx5_flow_drv_type type = MLX5_FLOW_TYPE_MAX; - if (attr->transfer) { + if (attr->transfer) type = MLX5_FLOW_TYPE_TCF; - } else { -#ifdef HAVE_IBV_FLOW_DV_SUPPORT - type = priv->config.dv_flow_en ? MLX5_FLOW_TYPE_DV : - MLX5_FLOW_TYPE_VERBS; -#else - type = MLX5_FLOW_TYPE_VERBS; -#endif - } + else + type = priv->config.dv_flow_en ? MLX5_FLOW_TYPE_DV : + MLX5_FLOW_TYPE_VERBS; return type; }