DPDK patches and discussions
 help / color / mirror / Atom feed
* [Bug 995] acl: field size=8 (u64) is not working
@ 2022-04-17 17:56 bugzilla
  0 siblings, 0 replies; only message in thread
From: bugzilla @ 2022-04-17 17:56 UTC (permalink / raw)
  To: dev

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.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-04-17 17:56 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-17 17:56 [Bug 995] acl: field size=8 (u64) is not working bugzilla

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).