]> git.droids-corp.org - dpdk.git/commit
ethdev: introduce flow engine configuration
authorAlexander Kozyrev <akozyrev@nvidia.com>
Wed, 23 Feb 2022 03:02:30 +0000 (05:02 +0200)
committerFerruh Yigit <ferruh.yigit@intel.com>
Thu, 24 Feb 2022 13:04:47 +0000 (14:04 +0100)
commit4ff58b734bc96fa5ef28a9b6b8a58db56de914f5
tree4938d6caac5f5be526b5df2ea1471501663f9059
parentb526599020ef06811dd08c4f15c0cdf049d7f9f2
ethdev: introduce flow engine configuration

The flow rules creation/destruction at a large scale incurs a performance
penalty and may negatively impact the packet processing when used
as part of the datapath logic. This is mainly because software/hardware
resources are allocated and prepared during the flow rule creation.

In order to optimize the insertion rate, PMD may use some hints provided
by the application at the initialization phase. The rte_flow_configure()
function allows to pre-allocate all the needed resources beforehand.
These resources can be used at a later stage without costly allocations.
Every PMD may use only the subset of hints and ignore unused ones or
fail in case the requested configuration is not supported.

The rte_flow_info_get() is available to retrieve the information about
supported pre-configurable resources. Both these functions must be called
before any other usage of the flow API engine.

Signed-off-by: Alexander Kozyrev <akozyrev@nvidia.com>
Acked-by: Ori Kam <orika@nvidia.com>
Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
doc/guides/prog_guide/rte_flow.rst
doc/guides/rel_notes/release_22_03.rst
lib/ethdev/ethdev_driver.h
lib/ethdev/rte_flow.c
lib/ethdev/rte_flow.h
lib/ethdev/rte_flow_driver.h
lib/ethdev/version.map