[dpdk-dev] [PATCH 1/5] net/mlx5: add warning message for Direct Verbs flow
Ori Kam
orika at mellanox.com
Wed Oct 17 07:11:29 CEST 2018
> -----Original Message-----
> From: Yongseok Koh
> Sent: Wednesday, October 17, 2018 5:08 AM
> To: Shahaf Shuler <shahafs at mellanox.com>
> Cc: dev at dpdk.org; Yongseok Koh <yskoh at mellanox.com>; Ori Kam
> <orika at mellanox.com>
> Subject: [PATCH 1/5] 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")
> Cc: orika at mellanox.com
>
> Signed-off-by: Yongseok Koh <yskoh at mellanox.com>
> Acked-by: Ori Kam <orika at mellanox.com>
> ---
> drivers/net/mlx5/mlx5.c | 6 ++++++
> drivers/net/mlx5/mlx5_flow.c | 20 +++++++-------------
> 2 files changed, 13 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c
> index 795a219771..70b8626126 100644
> --- a/drivers/net/mlx5/mlx5.c
> +++ b/drivers/net/mlx5/mlx5.c
> @@ -1016,6 +1016,12 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
> cs_desc.counter_type, cs_desc.num_of_cs,
> cs_desc.attributes);
> #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 bd70fce248..04e287f160 100644
> --- a/drivers/net/mlx5/mlx5_flow.c
> +++ b/drivers/net/mlx5/mlx5_flow.c
> @@ -1673,25 +1673,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;
> }
>
> --
> 2.11.0
Acked-by: Ori Kam <orika at mellanox.com>
Thanks,
Ori
More information about the dev
mailing list