From: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>
To: "yuzhichang_scl@hotmail.com" <yuzhichang_scl@hotmail.com>,
"dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] ACL lookup doesn't work for some schemes
Date: Mon, 16 Feb 2015 09:56:19 +0000 [thread overview]
Message-ID: <2601191342CEEE43887BDE71AB977258213EC8FE@irsmsx105.ger.corp.intel.com> (raw)
In-Reply-To: <SNT153-W3649AE126111F4B4AF4290F8210@phx.gbl>
Hi
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of ???
> Sent: Sunday, February 15, 2015 9:19 AM
> To: dev@dpdk.org
> Subject: [dpdk-dev] ACL lookup doesn't work for some schemes
>
> Hi, I noticed that ACL lookup doesn't work for some schemes.1. If the first field is not uint8_t, even all fields are wildcard, lookup
> doesn't find the matching rule. See acl_8last.c.2. I prepended a uint8_t field, keep other fields be wildcard, lookup returns the correct
> result. See acl_8last2.c3. Then I change last field from 8bitmask_WILDCARD to 8bitmask(1, 0x1) (matches odd numbers) or 8bitmask(0,
> 0x1) (match even numbers), lookup doesn't return the correct. See acl_8last3.c. And I noticed the similar behavior for uint16_t
> ranges(date doesn't match 0-0x8000 nor 0x8001-0xffff). Above behaviors are tricky. Does ACL do some undocumented assumptions
> or the table schema? Regards,Zhichang Yu
Yes, right now, libtre_acl to work correctly first field has to be 1B long and all subsequent grouped into sets of 4 consecutive bytes.
I thought we have it documented into our PG, ACL section:
http://dpdk.org/doc/guides/prog_guide/packet_classif_access_ctrl.html
Though re-reading it again:
"For performance reasons, the inner loop of the search function is unrolled to process four input bytes at a time. This requires the input to be grouped into sets of 4 consecutive bytes. The loop processes the first input byte as part of the setup and then subsequent bytes must be in groups of 4 consecutive bytes."
It probably not very clear and need to be explained in more details.
Will update the doc.
Konstantin
next prev parent reply other threads:[~2015-02-16 9:56 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-15 9:18 志昌余
2015-02-15 9:23 ` 志昌余
2015-02-15 9:29 ` 志昌余
2015-02-16 9:56 ` Ananyev, Konstantin [this message]
2015-02-16 15:37 ` Stevan Markovic
[not found] ` <D1077203.3B62D%smarkovi@akamai.com>
2015-02-16 16:08 ` Ananyev, Konstantin
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=2601191342CEEE43887BDE71AB977258213EC8FE@irsmsx105.ger.corp.intel.com \
--to=konstantin.ananyev@intel.com \
--cc=dev@dpdk.org \
--cc=yuzhichang_scl@hotmail.com \
/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).