net/mlx5: split Rx flows to provide metadata copy
[dpdk.git] / drivers / net / mlx5 / mlx5_flow.h
index 0445c84..8795f54 100644 (file)
@@ -196,6 +196,7 @@ enum mlx5_feature_name {
 #define MLX5_FLOW_ACTION_DEC_TCP_ACK (1u << 31)
 #define MLX5_FLOW_ACTION_SET_TAG (1ull << 32)
 #define MLX5_FLOW_ACTION_MARK_EXT (1ull << 33)
+#define MLX5_FLOW_ACTION_SET_META (1ull << 34)
 
 #define MLX5_FLOW_FATE_ACTIONS \
        (MLX5_FLOW_ACTION_DROP | MLX5_FLOW_ACTION_QUEUE | \
@@ -231,7 +232,8 @@ enum mlx5_feature_name {
                                      MLX5_FLOW_ACTION_DEC_TCP_ACK | \
                                      MLX5_FLOW_ACTION_OF_SET_VLAN_VID | \
                                      MLX5_FLOW_ACTION_SET_TAG | \
-                                     MLX5_FLOW_ACTION_MARK_EXT)
+                                     MLX5_FLOW_ACTION_MARK_EXT | \
+                                     MLX5_FLOW_ACTION_SET_META)
 
 #define MLX5_FLOW_VLAN_ACTIONS (MLX5_FLOW_ACTION_OF_POP_VLAN | \
                                MLX5_FLOW_ACTION_OF_PUSH_VLAN)
@@ -498,6 +500,7 @@ struct mlx5_flow {
 #endif
                struct mlx5_flow_verbs verbs;
        };
+       uint32_t qrss_id; /**< Uniqie Q/RSS suffix subflow tag. */
        bool external; /**< true if the flow is created external to PMD. */
 };