[dpdk-dev] RTE_PIPELINE_ACTION_PORT_META doesn't work properly
Thomas Monjalon
thomas.monjalon at 6wind.com
Fri Feb 20 21:47:04 CET 2015
2015-02-20 19:26, Dumitrescu, Cristian:
>
> > -----Original Message-----
> > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of ?????? ????????
> > Sent: Friday, February 20, 2015 4:25 PM
> > To: dev at dpdk.org
> > Subject: [dpdk-dev] RTE_PIPELINE_ACTION_PORT_META doesn't work
> > properly
> >
> > Hi, list!
> >
> > RTE_PIPELINE_ACTION_PORT_META option in rte_pipeline library doesn't
> > work for non-default table entries. Is this bug or correct behaviour?
> >
> > This is my patch, that changes this behaviour:
> >
> > --- a/lib/librte_pipeline/rte_pipeline.c
> > +++ b/lib/librte_pipeline/rte_pipeline.c
> > @@ -999,8 +999,10 @@ rte_pipeline_compute_masks(struct rte_pipeline
> > *p, uint64_t pkts_mask)
> > {
> > p->action_mask1[RTE_PIPELINE_ACTION_DROP] = 0;
> > p->action_mask1[RTE_PIPELINE_ACTION_PORT] = 0;
> > + p->action_mask1[RTE_PIPELINE_ACTION_PORT_META] = 0;
> > p->action_mask1[RTE_PIPELINE_ACTION_TABLE] = 0;
> >
> > +
> > if ((pkts_mask & (pkts_mask + 1)) == 0) {
> > uint64_t n_pkts = __builtin_popcountll(pkts_mask);
> > uint32_t i;
> > @@ -1224,6 +1226,7 @@ rte_pipeline_run(struct rte_pipeline *p)
> > pkts_mask = RTE_LEN2MASK(n_pkts, uint64_t);
> > p->action_mask0[RTE_PIPELINE_ACTION_DROP] = 0;
> > p->action_mask0[RTE_PIPELINE_ACTION_PORT] = 0;
> > + p->action_mask0[RTE_PIPELINE_ACTION_PORT_META] = 0;
> > p->action_mask0[RTE_PIPELINE_ACTION_TABLE] = 0;
> >
> > /* Input port user actions */
> > @@ -1300,6 +1303,9 @@ rte_pipeline_run(struct rte_pipeline *p)
> > p->action_mask0[RTE_PIPELINE_ACTION_PORT] |=
> > p->action_mask1[
> > RTE_PIPELINE_ACTION_PORT];
> > + p->action_mask0[RTE_PIPELINE_ACTION_PORT_META] |=
> > + p->action_mask1[
> > + RTE_PIPELINE_ACTION_PORT_META];
> > p->action_mask0[RTE_PIPELINE_ACTION_TABLE] |=
> > p->action_mask1[
> > RTE_PIPELINE_ACTION_TABLE];
> >
> >
> >
> >
> >
> > Thanks, Ildar
>
> Acked by: Cristian Dumitrescu <cristian.dumitrescu at intel.com>
No Cristian, you cannot ack this patch, even if it fixes the problem.
The format is not OK: indent is wrong and it's not signed.
Please Ildar, check http://dpdk.org/dev#send to know how to submit a patch.
> Thank you, Ildar!
More information about the dev
mailing list