On 12/21/2016 3:19 PM, Nelio Laranjeiro wrote:
> Convert Ethernet, IPv4, IPv6, TCP, UDP layers into ibv_flow and create
> those rules when after validation (i.e. NIC supports the rule).
> 
> VLAN is still not supported in this commit.
> 
> Signed-off-by: Nelio Laranjeiro <nelio.laranje...@6wind.com>

<...>

> +static struct rte_flow *
> +priv_flow_create(struct priv *priv,
> +              const struct rte_flow_attr *attr,
> +              const struct rte_flow_item items[],
> +              const struct rte_flow_action actions[],
> +              struct rte_flow_error *error)
> +{
> +     struct rte_flow *rte_flow = NULL;

Unnecessary assignment.

<...>

> +     action = (struct action) {
> +             .queue = -1,
> +             .drop = 0,
> +     };
> +     for (; actions->type != RTE_FLOW_ACTION_TYPE_END; ++actions) {
> +             if (actions->type == RTE_FLOW_ACTION_TYPE_VOID) {
> +                     continue;
> +             } else if (actions->type == RTE_FLOW_ACTION_TYPE_QUEUE) {
> +                     action.queue = ((const struct rte_flow_action_queue *)
> +                                     actions->conf)->index;
> +             } else if (actions->type == RTE_FLOW_ACTION_TYPE_DROP) {
> +                     action.drop = 1;
> +             } else {
> +                     rte_flow_error_set(error, ENOTSUP,
> +                                        RTE_FLOW_ERROR_TYPE_ACTION,
> +                                        actions, "unsupported action");
> +                     goto exit;
> +             }
> +     }
> +     if (action.queue >= 0) {
> +             queue = action.queue;
> +     } else if (action.drop) {
> +             queue = MLX5_FLOW_DROP_QUEUE;
> +     } else {

Not really so important, but as a note, ACTION_TYPE_VOID hits here. It
pass from validation, but gives error in creation.

> +             rte_flow_error_set(error, ENOTSUP,
> +                                RTE_FLOW_ERROR_TYPE_ACTION,
> +                                actions,
> +                                "no possible action found");
> +             goto exit;
> +     }

<...>

Reply via email to