net/mlx5: fix flow rule creation if ports are stopped

Adding a flow when the port is stopped ends in an inconsistent situation
where the queue can receive traffic when it should not.
Record new rules and apply them as soon as the port is started.

Fixes: 2097d0d1e2 ("net/mlx5: support basic flow items and actions")

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
This commit is contained in:
Nélio Laranjeiro 2017-01-31 17:02:48 +01:00 committed by Ferruh Yigit
parent 6194f53bb3
commit 05d7777b6f

View File

@ -948,6 +948,8 @@ priv_flow_create_action_queue(struct priv *priv,
NULL, "cannot allocate QP"); NULL, "cannot allocate QP");
goto error; goto error;
} }
if (!priv->started)
return rte_flow;
rte_flow->ibv_flow = ibv_exp_create_flow(rte_flow->qp, rte_flow->ibv_flow = ibv_exp_create_flow(rte_flow->qp,
rte_flow->ibv_attr); rte_flow->ibv_attr);
if (!rte_flow->ibv_flow) { if (!rte_flow->ibv_flow) {