From: "Ильдар Мустафин" <imustafin@bk.ru>
To: dev@dpdk.org
Subject: [dpdk-dev] RTE_PIPELINE_ACTION_PORT_META doesn't work properly
Date: Fri, 20 Feb 2015 19:25:05 +0300 [thread overview]
Message-ID: <1424449505.129655495@f327.i.mail.ru> (raw)
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
next reply other threads:[~2015-02-20 16:25 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-20 16:25 Ильдар Мустафин [this message]
2015-02-20 19:26 ` Dumitrescu, Cristian
2015-02-20 20:47 ` Thomas Monjalon
2015-02-20 20:55 ` Dumitrescu, Cristian
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1424449505.129655495@f327.i.mail.ru \
--to=imustafin@bk.ru \
--cc=dev@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).