[dpdk-dev,v2,3/4] ethdev: Add group action type to rte_flow
Checks
Commit Message
Add group action type which defines a terminating action which
allows a matched flow to be redirect to a group. This allows logical
flow table hierarchies to be managed through rte_flow.
Signed-off-by: Declan Doherty <declan.doherty@intel.com>
---
doc/guides/prog_guide/rte_flow.rst | 23 +++++++++++++++++++++++
lib/librte_ether/rte_flow.h | 28 +++++++++++++++++++++++++++-
2 files changed, 50 insertions(+), 1 deletion(-)
@@ -1557,6 +1557,29 @@ set of overlay header type.
| ``item type`` | Item type of tunnel end-point to decapsulate |
+---------------+----------------------------------------------+
+
+Action: ``GROUP``
+^^^^^^^^^^^^^^^^^
+
+Redirects packets to a group on the current device.
+
+In a hierarchy of groups, which can be used to represent physical or logical
+flow tables on the device, this action allows the terminating action to be a
+group on that device.
+
+- Terminating by default.
+
+.. _table_rte_flow_action_group:
+
+.. table:: GROUP
+
+ +--------------+---------------------------------+
+ | Field | Value |
+ +==============+=================================+
+ | ``id`` | Group ID to redirect packets to |
+ +--------------+---------------------------------+
+
+
Negative types
~~~~~~~~~~~~~~
@@ -1043,7 +1043,18 @@ enum rte_flow_action_type {
*
* See struct rte_flow_action_vtep_decap.
*/
- RTE_FLOW_ACTION_TYPE_VTEP_DECAP
+ RTE_FLOW_ACTION_TYPE_VTEP_DECAP,
+
+ /**
+ * Redirects packets to the logical group of the current device.
+ *
+ * In a logical hierarchy of groups, which can be used to represent a
+ * physical of logical chaining of flow tables, this action allows the
+ * terminating action to be a logical group of the same device.
+ *
+ * See struct rte_flow_action_group.
+ */
+ RTE_FLOW_ACTION_TYPE_GROUP
};
/**
@@ -1226,6 +1237,21 @@ struct rte_flow_action_vtep_decap {
*/
};
+/**
+ * RTE_FLOW_ACTION_TYPE_GROUP
+ *
+ * Redirects packets to a group on the current device.
+ *
+ * In a hierarchy of groups, which can be used to represent physical or logical
+ * flow tables on the device, this action allows the terminating action to be a
+ * group on that device.
+ *
+ * Terminating by default.
+ */
+struct rte_flow_action_group {
+ uint32_t id;
+};
+
/**
* Definition of a single action.
*