Does ACL support field size of 8 bytes?

Ido Goshen Ido at cgstowernetworks.com
Wed Apr 13 15:55:39 CEST 2022


Hi

I've lots of good experience with ACL but can't make it work with u64 values 
I know it can be split to 2xu32 fields, but it makes it more complex to use and a wastes double  number of fields (we hit the RTE_ACL_MAX_FIELDS 64 limit)

According to the documentation and rte_acl.h fields size can be 8 bytes (u64)
e.g.   
  'The size parameter defines the length of the field in bytes. Allowable values are 1, 2, 4, or 8 bytes.'  
  (from https://doc.dpdk.org/guides-21.11/prog_guide/packet_classif_access_ctrl.html#rule-definition)

Though there's a hint it's less recommended 
  'Also, it is best to define fields of 8 or more bytes as 4 byte fields so that the build processes can eliminate fields that are all wild.'

It's also not clear how it fits in a group (i.e. what's input_index stride) which is only 4 bytes
    'All subsequent fields has to be grouped into sets of 4 consecutive bytes.'

I couldn't find any example or test app that's using 8 bytes
e.g. for IPv6 address 4xu32 fields are always used and not 2xu64

Should it work? 
Did anyone try it successfully and/or can share an example?

Thanx,
- Ido



More information about the users mailing list