From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: RTE_PIPELINE_ACTION_PORT_META doesn't work properly Date: Fri, 20 Feb 2015 21:47:04 +0100 Message-ID: <10474963.UjXCaseS66@xps13> References: <1424449505.129655495@f327.i.mail.ru> <3EB4FA525960D640B5BDFFD6A3D891263231B304@IRSMSX108.ger.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev-VfR2kkLFssw@public.gmane.org To: "Dumitrescu, Cristian" , imustafin-5URONGGNgjI@public.gmane.org Return-path: In-Reply-To: <3EB4FA525960D640B5BDFFD6A3D891263231B304-kPTMFJFq+rEMvF1YICWikbfspsVTdybXVpNB7YpNyf8@public.gmane.org> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" 2015-02-20 19:26, Dumitrescu, Cristian: > > > -----Original Message----- > > From: dev [mailto:dev-bounces-VfR2kkLFssw@public.gmane.org] On Behalf Of ?????? ???????? > > Sent: Friday, February 20, 2015 4:25 PM > > To: dev-VfR2kkLFssw@public.gmane.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 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!