numam-dpdk/lib/librte_ethdev
Dekel Peled 839b20be0e ethdev: support metadata as flow rule criteria
As described in [1], a new rte_flow item is added to support metadata
to use as flow rule match pattern.
The metadata is an opaque item, fully controlled by the application.

The use of metadata is relevant for egress rules only.
It can be set in the flow rule using the RTE_FLOW_ITEM_META.

An additional member 'tx_metadata' is added in union with existing member
'hash' of struct 'rte_mbuf', located to avoid conflicts with existing
fields. This additional member is used to carry the metadata item.

Application should set the packet metadata in the mbuf dedicated field,
and set the PKT_TX_METADATA flag in the mbuf->ol_flags.
The NIC will use the packet metadata as match criteria for relevant
flow rules.

This patch introduces metadata item type for rte_flow RTE_FLOW_ITEM_META,
along with corresponding struct rte_flow_item_meta and ol_flag
PKT_TX_METADATA.

[1] "[RFC,v2] ethdev: support metadata as flow rule criteria"

Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
2018-10-26 22:14:05 +02:00
..
ethdev_private.c ethdev: add private generic device iterator 2018-10-03 14:22:41 +02:00
ethdev_private.h ethdev: add private generic device iterator 2018-10-03 14:22:41 +02:00
ethdev_profile.c ethdev: change vtune profiling approach 2018-08-28 15:27:39 +02:00
ethdev_profile.h ethdev: change vtune profiling approach 2018-08-28 15:27:39 +02:00
Makefile ethdev: add field for device data per process 2018-10-18 10:24:39 +02:00
meson.build ethdev: add field for device data per process 2018-10-18 10:24:39 +02:00
rte_class_eth.c devargs: rename enum items with singular form 2018-10-11 13:57:29 +02:00
rte_dev_info.h ethdev: rename folder to library name 2018-04-27 18:01:00 +01:00
rte_eth_ctrl.h ethdev: rename folder to library name 2018-04-27 18:01:00 +01:00
rte_ethdev_core.h ethdev: free all common data when releasing port 2018-10-26 22:14:05 +02:00
rte_ethdev_driver.h ethdev: remove release function for secondary process 2018-10-26 22:14:05 +02:00
rte_ethdev_pci.h ethdev: remove release function for secondary process 2018-10-26 22:14:05 +02:00
rte_ethdev_vdev.h ethdev: rename folder to library name 2018-04-27 18:01:00 +01:00
rte_ethdev_version.map ethdev: remove release function for secondary process 2018-10-26 22:14:05 +02:00
rte_ethdev.c ethdev: support metadata as flow rule criteria 2018-10-26 22:14:05 +02:00
rte_ethdev.h ethdev: support metadata as flow rule criteria 2018-10-26 22:14:05 +02:00
rte_flow_driver.h ethdev: fix missing function in map file 2018-07-13 15:53:29 +02:00
rte_flow.c ethdev: support metadata as flow rule criteria 2018-10-26 22:14:05 +02:00
rte_flow.h ethdev: support metadata as flow rule criteria 2018-10-26 22:14:05 +02:00
rte_mtr_driver.h ethdev: rename folder to library name 2018-04-27 18:01:00 +01:00
rte_mtr.c ethdev: rename folder to library name 2018-04-27 18:01:00 +01:00
rte_mtr.h ethdev: rename folder to library name 2018-04-27 18:01:00 +01:00
rte_tm_driver.h ethdev: rename folder to library name 2018-04-27 18:01:00 +01:00
rte_tm.c ethdev: rename folder to library name 2018-04-27 18:01:00 +01:00
rte_tm.h ethdev: expand queue threshold size of RED parameters 2018-10-08 17:51:54 +02:00