[PATCH v5 06/25] net/nfp: support basic flow actions
Chaoyong He
chaoyong.he at corigine.com
Thu Oct 20 13:41:44 CEST 2022
> On 10/20/2022 3:19 AM, Chaoyong He wrote:
> > Add the offload support of very basic actions: mark, rss, count, drop
> > and output.
> >
> > Signed-off-by: Chaoyong He <chaoyong.he at corigine.com>
> > Reviewed-by: Niklas Söderlund <niklas.soderlund at corigine.com>
>
> <...>
>
> > +static int
> > +nfp_flow_compile_action(__rte_unused struct nfp_flower_representor
> *representor,
> > + const struct rte_flow_action actions[],
> > + struct rte_flow *nfp_flow)
> > +{
> > + int ret = 0;
> > + char *position;
> > + char *action_data;
> > + bool drop_flag = false;
> > + uint32_t total_actions = 0;
> > + const struct rte_flow_action *action;
> > + struct nfp_fl_rule_metadata *nfp_flow_meta;
> > +
> > + nfp_flow_meta = nfp_flow->payload.meta;
> > + action_data = nfp_flow->payload.action_data;
> > + position = action_data;
> > +
> > + for (action = actions; action->type != RTE_FLOW_ACTION_TYPE_END;
> ++action) {
> > + switch (action->type) {
> > + case RTE_FLOW_ACTION_TYPE_VOID:
> > + break;
> > + case RTE_FLOW_ACTION_TYPE_MARK:
> > + PMD_DRV_LOG(DEBUG, "Process
> RTE_FLOW_ACTION_TYPE_MARK");
> > + break;
> > + case RTE_FLOW_ACTION_TYPE_DROP:
> > + PMD_DRV_LOG(DEBUG, "Process
> RTE_FLOW_ACTION_TYPE_DROP");
> > + drop_flag = true;
> > + break;
> > + case RTE_FLOW_ACTION_TYPE_COUNT:
> > + PMD_DRV_LOG(DEBUG, "Process
> RTE_FLOW_ACTION_TYPE_COUNT");
> > + break;
> > + case RTE_FLOW_ACTION_TYPE_RSS:
> > + PMD_DRV_LOG(DEBUG, "Process
> RTE_FLOW_ACTION_TYPE_RSS");
> > + break;
>
> Above MARK and RSS actions not doing anything but not returning error as if
> it is supported.
>
> Not sure about COUNT, since driver is keeping stats may be it is supported by
> default, but if not it also needs to return error.
Yes, COUNT is supported by default.
I will remove MARK and RSS here and add them when we really support the partial offload.
Thanks.
More information about the dev
mailing list