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: i...@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.