[dpdk-dev] [PATCH] net/mlx5: fix flow counters deletion in Verbs
Shahaf Shuler
shahafs at mellanox.com
Sun Oct 28 13:53:26 CET 2018
Saturday, October 27, 2018 1:54 PM¸ Slava Ovsiienko:
> Subject: [PATCH] net/mlx5: fix flow counters deletion in Verbs
>
> The Flow counters created with Verbs are erroneously destroyed in Flow
> remove function (flow_verbs_remove()). Counter Verbs handles stored in
> the translated rule buffer become invalid.
> If rule is reapplied with these invalid counter handles the driver hangs.
>
> The counter should be destroyed with Verbs in the Flow destroy function.
> The Flow remove function should keep counters intact.
>
> Fixes: 60bd8c9747e8 ("net/mlx5: add count flow action")
> Cc: stable at dpdk.org
>
Very nice commit log.
> Signed-off-by: Viacheslav Ovsiienko <viacheslavo at mellanox.com>
Acked-by: Shahaf Shuler <shahafs at mellanox.com>
Applied to next-net-mlx, thanks.
> ---
> drivers/net/mlx5/mlx5_flow_verbs.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/net/mlx5/mlx5_flow_verbs.c
> b/drivers/net/mlx5/mlx5_flow_verbs.c
> index 81bc39f..2e506b9 100644
> --- a/drivers/net/mlx5/mlx5_flow_verbs.c
> +++ b/drivers/net/mlx5/mlx5_flow_verbs.c
> @@ -1669,10 +1669,6 @@
> verbs->hrxq = NULL;
> }
> }
> - if (flow->counter) {
> - flow_verbs_counter_release(flow->counter);
> - flow->counter = NULL;
> - }
> }
>
> /**
> @@ -1696,6 +1692,10 @@
> LIST_REMOVE(dev_flow, next);
> rte_free(dev_flow);
> }
> + if (flow->counter) {
> + flow_verbs_counter_release(flow->counter);
> + flow->counter = NULL;
> + }
> }
>
> /**
> --
> 1.8.3.1
More information about the dev
mailing list