ethdev: introduce transfer attribute to shared action conf
authorIvan Malov <ivan.malov@oktetlabs.ru>
Mon, 2 Nov 2020 11:43:15 +0000 (14:43 +0300)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 3 Nov 2020 22:35:07 +0000 (23:35 +0100)
In a flow rule, attribute "transfer" means operation level
at which both traffic is matched and actions are conducted.

Add the very same attribute to shared action configuration.
If a driver needs to prepare HW resources in two different
ways, depending on the operation level, in order to set up
an action, then this new attribute will indicate the level.
Also, when handling a flow rule insertion, the driver will
be able to turn down a shared action if its level is unfit.

Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Acked-by: Ori Kam <orika@nvidia.com>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Acked-by: Andrey Vesnovaty <andreyv@nvidia.com>
lib/librte_ethdev/rte_flow.h

index a8eac4d..8b970ba 100644 (file)
@@ -3487,6 +3487,14 @@ struct rte_flow_shared_action_conf {
        /**< Action valid for rules applied to ingress traffic. */
        uint32_t egress:1;
        /**< Action valid for rules applied to egress traffic. */
+
+       /**
+        * When set to 1, indicates that the action is valid for
+        * transfer traffic; otherwise, for non-transfer traffic.
+        *
+        * See struct rte_flow_attr.
+        */
+       uint32_t transfer:1;
 };
 
 /**