On Fri, Dec 23, 2016 at 12:21:10PM +0000, Ferruh Yigit wrote:
> 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;
> > +   }
> 
> <...>

Hi Ferruh,

I will send (very soon) a v4 to handle this situation.

Regards,

-- 
Nélio Laranjeiro
6WIND

Reply via email to