Add more sentences to describe the group concepts
and define group 0 as root group for traffic to search a
hit rule.

Signed-off-by: Rongwei Liu <rongw...@nvidia.com>
Acked-by: Ori Kam <or...@nvidia.com>
---
 lib/ethdev/rte_flow.h | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h
index b60987db4b..e71ac0c199 100644
--- a/lib/ethdev/rte_flow.h
+++ b/lib/ethdev/rte_flow.h
@@ -86,7 +86,18 @@ extern "C" {
  * but may be valid in a few cases.
  */
 struct rte_flow_attr {
-       uint32_t group; /**< Priority group. */
+       /**
+        * A group is a superset of multiple rules.
+        * The default group is 0 and is processed for all packets.
+        * The group 0 of bifurcated drivers is shared with the kernel.
+        * Rules in other groups are processed only if the group is chained
+        * by a jump action from a previously matched rule.
+        * It means the group hierarchy is made by the flow rules,
+        * and the group 0 is the hierarchy root.
+        * Note there is no automatic dead loop protection.
+        * @see rte_flow_action_jump
+        */
+       uint32_t group;
        uint32_t priority; /**< Rule priority level within group. */
        /**
         * The rule in question applies to ingress traffic (non-"transfer").
-- 
2.27.0

Reply via email to