[dpdk-dev] [PATCH v3 3/3] net/mlx5: support flow counters using devx

Shahaf Shuler shahafs at mellanox.com
Thu Jan 3 09:29:07 CET 2019


Moti,

Wednesday, January 2, 2019 11:43 AM, Mordechay Haimovsky:
> Subject: [dpdk-dev] [PATCH v3 3/3] net/mlx5: support flow counters using devx
> 
> This commit adds counters support when creating flows via direct verbs. The
> implementation uses devx interface in order to create query and delete the
> counters.
> This support requires MLNX_OFED_LINUX-4.5-0.1.0.1 installation.
> 
> Signed-off-by: Moti Haimovsky <motih at mellanox.com>
> ---
> v2:
> * Modifications according to code review,
>   See message Id: 1545748697-3385-4-git-send-email-motih at mellanox.com
> v3:
> * Modified calls to devx routins to be done through the glue interface.
>  See message Id: 1545949196-3355-4-git-send-email-motih at mellanox.com
> ---

[...]

> @@ -2789,6 +2903,37 @@ struct field_modify_info modify_tcp[] = {
>  			flow->rss.level = rss->level;
>  			action_flags |= MLX5_FLOW_ACTION_RSS;
>  			break;
> +		case RTE_FLOW_ACTION_TYPE_COUNT:
> +			if (!priv->config.devx) {
> +				rte_errno = ENOTSUP;
> +				goto cnt_err;
> +			}
> +			flow->counter =
> +				flow_dv_counter_new(dev,
> +						    count->shared, count->id);
> +			if (flow->counter == NULL)
> +				goto cnt_err;
> +			dev_flow->dv.actions[actions_n].type =
> +
> 	MLX5DV_FLOW_ACTION_COUNTER_DEVX;

Am having compilation issue here w/ old rdma-core where this feature is not defined. 
Please take care, and add my acked-by on the next version. 

> +			dev_flow->dv.actions[actions_n].obj =
> +						flow->counter->dcs->obj;
> +			action_flags |= MLX5_FLOW_ACTION_COUNT;
> +			++actions_n;
> +			break;
> +cnt_err:
> +			if (rte_errno == ENOTSUP)
> +				return rte_flow_error_set
> +					      (error, ENOTSUP,


More information about the dev mailing list