X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fmlx5%2Fmlx5_flow.c;h=7b97a610ee6bc2b1aa650434b2001b2668fbef66;hb=87e1134f86dff1a61357b89c8a3a2202ec02bc71;hp=d7ed686846b842aa1d4c4a4aff4fe4850925f499;hpb=16c647683019233a07d67af2f94867f52e7cf0b5;p=dpdk.git diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c index d7ed686846..7b97a610ee 100644 --- a/drivers/net/mlx5/mlx5_flow.c +++ b/drivers/net/mlx5/mlx5_flow.c @@ -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,