[dpdk-dev] Flow Director vs. 5-tuple filters on a 10GbE Intel 82599 ES NIC
Tom Barbette
barbette at kth.se
Wed Jan 16 09:55:44 CET 2019
Hi Georgios,
I looked at the documentation written in C...
ixgbe will first parse the rule as a 5-tuple filter. If parsing works,
then it will install it as a 5-tuple filter. Then it will try ethertype
filters, then syn filters, and if any of those "specific" filters did
not work, then it will use fdir.
As far as I see, there is no way to prevent using 5-tuple/ntuple filters
if the filter can match.
So currently one is limited to 128 5-tuple flows, while actually 8K
could be used... Maybe a flag could be added to select the underlying
hardware, but given ixgbe is getting old and the lack of answer, I doubt
Intel will help on this...
Tom
PS: If some fields are missing (eg. no dst port), then it seems the
ntuple will not be used and the parsing will continue. Maybe that can be
used as a trick ? But it leads to potential collisions...
On 2018-12-11 15:31, Tom Barbette wrote:
> ?CC-ing maintainers.
>
>
> ________________________________
> De : Georgios Katsikas <katsikas.gp at gmail.com>
> Envoyé : mardi 4 décembre 2018 11:41
> À : dev at dpdk.org
> Cc : Tom Barbette
> Objet : Flow Director vs. 5-tuple filters on a 10GbE Intel 82599 ES NIC
>
> Dear all,
>
> I am performing rule installation/deletion benchmarks on a dual port 10 GbE Intel 82599 ES NIC using DPDK 18.11.
> The benchmark installs increasing number of rules (5 to 8000), measures the rule installation rate and latency and then deletes the rules (measuring again the rule deletion rate/latency).
> The rule sets comprise of rules with exact matches (no masks involved) as follows:
>
> Simple rule
> flow create 0 ingress pattern eth / ipv4 dst is 129.72.224.94 / end actions queue index 0 / end
>
> More complicated rule
> flow create 0 ingress pattern eth / ipv4 dst is 46.54.254.68 src is 49.75.141.195 proto is 17 / udp dst is 26561 src is 7242 / end actions queue index 0 / end
>
> No matter how simple or complicated the rules are, I am not able to install more than 128 rules on this NIC.
>
> Here comes my question
>
> According to the specification<https://www.intel.com/content/www/us/en/embedded/products/networking/82599-10-gbe-controller-datasheet.html>, this NIC can accommodate up to 128 5-tuple filters, which very well agrees with my observation above.
> However, the same document states that this NIC can also accommodate up to 8000 Flow Director filters.
> What is the practical difference between a 5-tuple and a Flow Director rule in this case? How can I exploit these 8k filters using DPDK 18.11?
>
> Thanks in advance,
> Georgios
>
>
>
More information about the dev
mailing list