numam-dpdk/lib
Alexander Kozyrev 4ff58b734b 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>
2022-02-24 14:04:47 +01:00
..
acl acl: add missing C++ guards 2022-02-22 14:47:49 +01:00
bbdev lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
bitratestats bitrate: promote free function to stable 2021-10-01 15:31:47 +02:00
bpf bpf: add missing C++ guards 2022-02-22 14:47:49 +01:00
cfgfile version: 21.11-rc0 2021-08-17 08:37:52 +02:00
cmdline lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
compressdev compressdev: add missing C++ guards 2022-02-22 14:47:49 +01:00
cryptodev cryptodev: fix RSA key type name 2022-02-22 20:21:20 +01:00
distributor lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
dmadev dmadev: add missing header include 2022-02-22 14:47:41 +01:00
eal eal: add missing C++ guards 2022-02-22 14:47:49 +01:00
efd lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
ethdev ethdev: introduce flow engine configuration 2022-02-24 14:04:47 +01:00
eventdev eventdev/crypto: remove useless check 2022-02-24 06:23:15 +01:00
fib lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
flow_classify lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
gpudev gpudev: use CPU mapping in communication list 2022-02-22 20:08:52 +01:00
graph lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
gro lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
gso mbuf: add namespace to offload flags 2021-10-24 13:37:43 +02:00
hash lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
ip_frag lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
ipsec lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
jobstats lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
kni kni: add missing C++ guards 2022-02-22 14:47:49 +01:00
kvargs lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
latencystats lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
lpm lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
mbuf lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
member lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
mempool lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
meter version: 21.11-rc0 2021-08-17 08:37:52 +02:00
metrics metrics: add missing C++ guards 2022-02-22 14:47:49 +01:00
net lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
node lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
pcapng lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
pci lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
pdump lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
pipeline lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
port lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
power lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
rawdev lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
rcu lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
regexdev lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
reorder lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
rib lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
ring lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
sched sched: enable traffic class oversubscription unconditionally 2022-02-24 23:44:21 +01:00
security lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
stack lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
table lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
telemetry telemetry: add missing C++ guards 2022-02-22 14:47:49 +01:00
timer lib: remove unneeded header includes 2022-02-22 13:10:39 +01:00
vhost vhost: fix unsafe vring addresses modifications 2022-02-17 09:26:50 +01:00
meson.build buildtools/chkincs: check SDK headers for C++ compatibility 2022-02-22 14:47:49 +01:00