DPDK patches and discussions
 help / color / mirror / Atom feed
From: bugzilla@dpdk.org
To: dev@dpdk.org
Subject: [Bug 995] acl: field size=8 (u64) is not working
Date: Sun, 17 Apr 2022 17:56:06 +0000	[thread overview]
Message-ID: <bug-995-3@http.bugs.dpdk.org/> (raw)

https://bugs.dpdk.org/show_bug.cgi?id=995

            Bug ID: 995
           Summary: acl: field size=8 (u64) is not working
           Product: DPDK
           Version: 21.11
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: other
          Assignee: dev@dpdk.org
          Reporter: ido@cgstowernetworks.com
  Target Milestone: ---

Created attachment 199
  --> https://bugs.dpdk.org/attachment.cgi?id=199&action=edit
test-acl app patch that adds u64 field and input files

Hi

ACL with field size 8 (for u64) is not working

    struct rte_acl_field_def acl_fields[] =
    {
    ...
        {
            ...
            .size = sizeof(uint64_t),
            ...
        }
    ...
    }

Attached are 2 examples:

1. test-acl-64.patch -
It slightly expands the existing test-acl app with an u64 field
When using a rule that the u64 field is don't care (mask is all 0) it passes
    bash app/test-acl/test-acl.sh build/app/dpdk-test-acl
app/test-acl/input_u64_mask_0/ scalar 32
    ACL: trie 0: number of rules: 1, indexes: 3
    test acl1v4_1_rule OK
But when using a rule with u64 value that should match it fails
    bash app/test-acl/test-acl.sh build/app/dpdk-test-acl
app/test-acl/input_u64_mask_F/ scalar 32
    ACL: trie 0: number of rules: 1, indexes: 4
    --- acl1v4_1_rule_E6Gkks.chk        2022-04-17 20:39:25.803425601 +0300
    +++ acl1v4_1_rule_E6Gkks.out        2022-04-17 20:39:25.803425601 +0300
    @@ -1 +1 @@
    -0
    +4294967295
    test acl1v4_1_rule FAILED

2. acl-test-64.c
a small standalone app (can be compiled like any dpdk/example) with simple 2
fields ACL (the mandatory first one byte field + an u64 field) with hard-coded
values that should match but do not. 
it can be run w/o any params
    examples/acl-test-u64/build/acl-test-u64 --no-huge -c 1
    NO-MATCH - test FAILED! 

notes:
1. It doesn't work for RTE_ACL_FIELD_TYPE_RANGE/MASK too
2. Looks like if using only the 4 MSBs and masking the 4 LSBs (e.g. mask =
0xFFFFFFFF00000000) it does work 

Thanx,
Ido

-- 
You are receiving this mail because:
You are the assignee for the bug.

                 reply	other threads:[~2022-04-17 17:56 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=bug-995-3@http.bugs.dpdk.org/ \
    --to=bugzilla@dpdk.org \
    --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).