Hi all, I am developing an application with DPDK (v17.11) using a concatenation of pipelines. Now I find myself on the definition of an ACL table and more precisely the format of the ACL fields.
One of the parameters of this field format is the 'offset', which indicates the number of bytes till the start of the field to check. Now I have two questions: - It is possible to specify an ACL field placed on the headroom (ad-hoc fields defined by myself) or inside the rte_mbuf (like for example the VLAN TCI when VLAN stripping is enabled at the NIC)? All the examples I have seen so far assume that an offset value of 0 means the start of Ethernet header and not the start of rte_mbuf struct. Is there a way to place the offset start at the rte_mbuf struct? - If the type of the ACL field is RTE_ACL_FIELD_TYPE_RANGE, it seems to me that it can only be used if the length of the field is at least 1 byte and it is aligned with the 1 byte granularity that imposes the 'offset' field. Does the DPDK library allow me to define a RANGE of values of VLAN tag or Priority field in the 802.1Q header? It is true that it may be solved if I use RTE_ACL_FIELD_TYPE_BITMASK but this solution would obligue me to put N flows, one for each VLAN tag I want to filter. This is not efficient as depending on the range length it could translated it into hundreds of entries. A simple range would simplify it a lot. These to questions are important to me as it conditions the design of the pipelines of my application. I would appreciate it if some expert could help me clarify these two questions. Thanks a lot for your attention. -- Victor
