Go to file
Dong Zhou 44bf3c796b ethdev: support flow aging
One of the reasons to destroy a flow is the fact that no packet matches
the flow for "timeout" time.
For example, when TCP\UDP sessions are suddenly closed.

Currently, there is not any DPDK mechanism for flow aging and the
applications use their own ways to detect and destroy aged-out flows.

The flow aging implementation need include:
- A new rte_flow action: RTE_FLOW_ACTION_TYPE_AGE to set the timeout and
  the application flow context for each flow.
- A new ethdev event: RTE_ETH_EVENT_FLOW_AGED for the driver to report
  that there are new aged-out flows.
- A new rte_flow API: rte_flow_get_aged_flows to get the aged-out flows
  contexts from the port.
- Support input flow aging command line in Testpmd.

The new event type addition in the enum is flagged as an ABI breakage,
so an ignore rule is added for these reasons:
- It is not changing value of existing types (except MAX)
- The new value is not used by existing API if the event is not
  registered
In general, it is safe adding new ethdev event types at the end of the
enum, because of event callback registration mechanism.

Signed-off-by: Dong Zhou <dongz@mellanox.com>
Acked-by: Ori Kam <orika@mellanox.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Matan Azrad <matan@mellanox.com>
2020-04-21 17:34:05 +02:00
.ci ci: reduce examples in static builds 2020-04-17 23:34:08 +02:00
app ethdev: support flow aging 2020-04-21 17:34:05 +02:00
buildtools eal: move common header files 2020-03-31 13:08:55 +02:00
config net/igc: add skeleton 2020-04-21 13:57:07 +02:00
devtools ethdev: support flow aging 2020-04-21 17:34:05 +02:00
doc ethdev: support flow aging 2020-04-21 17:34:05 +02:00
drivers common/mlx5: fix build with rdma-core 21 2020-04-21 16:18:13 +02:00
examples vhost: prefix vDPA enum value for PCI address type 2020-04-21 13:57:07 +02:00
kernel eal: move OS-specific sub-directories 2020-03-31 13:08:55 +02:00
lib ethdev: support flow aging 2020-04-21 17:34:05 +02:00
license eal: move OS-specific sub-directories 2020-03-31 13:08:55 +02:00
mk net/igc: add skeleton 2020-04-21 13:57:07 +02:00
usertools usertools: fix telemetry client with python 3 2020-02-16 22:23:20 +01:00
.editorconfig devtools: add EditorConfig file 2020-02-22 21:05:22 +01:00
.gitattributes
.gitignore doc: add feature matrix table for bbdev 2020-04-19 22:34:26 +02:00
.travis.yml ci: fix telemetry dependency in Travis 2020-04-10 10:03:22 +02:00
ABI_VERSION version: 20.05-rc0 2020-02-27 12:02:19 +01:00
GNUmakefile
MAINTAINERS net/igc: add skeleton 2020-04-21 13:57:07 +02:00
Makefile
meson_options.txt trace: introduce new subsystem 2020-04-23 15:39:06 +02:00
meson.build eal: move OS-specific sub-directories 2020-03-31 13:08:55 +02:00
README
VERSION version: 20.05-rc0 2020-02-27 12:02:19 +01:00

DPDK is a set of libraries and drivers for fast packet processing.
It supports many processor architectures and both FreeBSD and Linux.

The DPDK uses the Open Source BSD-3-Clause license for the core libraries
and drivers. The kernel components are GPL-2.0 licensed.

Please check the doc directory for release notes,
API documentation, and sample application information.

For questions and usage discussions, subscribe to: users@dpdk.org
Report bugs and issues to the development mailing list: dev@dpdk.org