When adding count action to a drop flow rule while the device was not
stated, the counter was not saved in the flow.

Fixes: 9a761de8ea14 ("net/mlx5: flow counter support")
Cc: or...@mellanox.com

Signed-off-by: Ori Kam <or...@mellanox.com>
---
 drivers/net/mlx5/mlx5_flow.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index f392f1f..3999b84 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -1690,13 +1690,13 @@ struct ibv_spec_header {
        ++parser->drop_q.ibv_attr->num_of_specs;
        parser->drop_q.offset += size;
        flow->drxq.ibv_attr = parser->drop_q.ibv_attr;
+       if (parser->count)
+               flow->cs = parser->cs;
        if (!priv->dev->data->dev_started)
                return 0;
        parser->drop_q.ibv_attr = NULL;
        flow->drxq.ibv_flow = ibv_create_flow(priv->flow_drop_queue->qp,
                                              flow->drxq.ibv_attr);
-       if (parser->count)
-               flow->cs = parser->cs;
        if (!flow->drxq.ibv_flow) {
                rte_flow_error_set(error, ENOMEM, RTE_FLOW_ERROR_TYPE_HANDLE,
                                   NULL, "flow rule creation failure");
-- 
1.7.1

Reply via email to