net/mlx5: fix flow API mark combined with drop

Fixes: ea3bc3b1df94 ("net/mlx5: support mark flow action")
Cc: stable@dpdk.org

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-20 16:27:28 +01:00 committed by Ferruh Yigit
parent 16c6476830
commit 87e1134f86

View File

@ -480,7 +480,7 @@ priv_flow_validate(struct priv *priv,
goto exit_action_not_supported;
}
}
if (action.mark && !flow->ibv_attr)
if (action.mark && !flow->ibv_attr && !action.drop)
flow->offset += sizeof(struct ibv_exp_flow_spec_action_tag);
if (!action.queue && !action.drop) {
rte_flow_error_set(error, ENOTSUP, RTE_FLOW_ERROR_TYPE_HANDLE,
@ -1042,6 +1042,7 @@ priv_flow_create(struct priv *priv,
actions->conf)->index;
} else if (actions->type == RTE_FLOW_ACTION_TYPE_DROP) {
action.drop = 1;
action.mark = 0;
} else if (actions->type == RTE_FLOW_ACTION_TYPE_MARK) {
const struct rte_flow_action_mark *mark =
(const struct rte_flow_action_mark *)
@ -1049,7 +1050,7 @@ priv_flow_create(struct priv *priv,
if (mark)
action.mark_id = mark->id;
action.mark = 1;
action.mark = !action.drop;
} else {
rte_flow_error_set(error, ENOTSUP,
RTE_FLOW_ERROR_TYPE_ACTION,