Thank you Shyam. Let me explain my situation in detail. All the cases described below use RTE_ACL_FIELD_TYPE_RANGE type.
----------------------------------------------- Case 1. rule: 1.2.3.4 ~ 1.2.3.4 packet: 1.2.3.4 result: match (correct) Case 2. rule: 1.2.3.4 ~ 1.10.10.10 packet: 1.2.10.5 result: match (correct) Case 3 rule: 1.2.3.4 ~ 1.10.10.10 packet: 1.10.10.11 result: not match (correct) Case 4 rule: 1.2.3.4 ~ 1.10.10.10 packet: 1.2.3.10 result: match (correct) Case 5: rule: 1.2.3.4~1.10.10.10 packet: 1.2.10.11 result: not match (incorrect) Case 6: rule: 1.2.3.4~1.10.10.10 packet: 1.2.10.3 result: not match (incorrect) ----------------------------------------------- Considering case 1~4, It shows expected results and there is no problem with byte ordering. But, in case 5~6, the result should be 'match' but it was not. This is why I doubt DPDK ACL library doesn't support 32-bit range matching. On Wed, Jun 21, 2017 at 9:09 PM, Shyam Shrivastav < [email protected]> wrote: > I haven't used range type with 32 bit integers yet ... > Just some theory in case if you haven't already taken into account, if > little-endian host 10.10.10.30 actually means 0x1e0a0a0a for acl match, > dotted decimal is in big endian so when in little endian host you need to > add it other way round as integers for matching. This means if you add > range 0x0a0a0a0a to 0x1e1e1e1e should match 10.10.10.30, this is my > understanding theoretically .. > > On Wed, Jun 21, 2017 at 4:54 PM, Doohwan Lee <[email protected]> wrote: > >> Yes. you are right. I also already knew that 32bit match with mask type >> works well. >> My point is 32bit match with 'range type' doesn't work in some case. >> >> >> On Wed, Jun 21, 2017 at 6:46 PM, Anupam Kapoor <[email protected]> >> wrote: >> >>> >>> On Wed, Jun 21, 2017 at 11:36 AM, Doohwan Lee <[email protected]> wrote: >>> >>>> DPDK ACL library uses multi-bit trie with 8-bit stride. >>>> I guess that implementation of the trie doesn't support 32bit range >>>> matching. >>>> >>> >>> well, you _can_ have address wildcard matches e.g. an address+mask >>> combination of 1.2.3.0/24 would match all addresses 1.2.3.[0..255] >>> >>> -- >>> kind regards >>> anupam >>> >>> In the beginning was the lambda, and the lambda was with Emacs, and >>> Emacs was the lambda. >>> >> >> >
