net/mlx5: fix flow mark with sampling and metering
[dpdk.git] / drivers / net / mlx5 / mlx5_flow.h
index 696d294..1f54649 100644 (file)
@@ -181,9 +181,9 @@ enum mlx5_feature_name {
 #define MLX5_FLOW_LAYER_ASO_CT (UINT64_C(1) << 36)
 
 /* Flex item */
-#define MLX5_FLOW_ITEM_OUTER_FLEX (UINT64_C(1) << 36)
-#define MLX5_FLOW_ITEM_INNER_FLEX (UINT64_C(1) << 37)
-#define MLX5_FLOW_ITEM_FLEX_TUNNEL (UINT64_C(1) << 38)
+#define MLX5_FLOW_ITEM_OUTER_FLEX (UINT64_C(1) << 37)
+#define MLX5_FLOW_ITEM_INNER_FLEX (UINT64_C(1) << 38)
+#define MLX5_FLOW_ITEM_FLEX_TUNNEL (UINT64_C(1) << 39)
 
 /* Outer Masks. */
 #define MLX5_FLOW_LAYER_OUTER_L3 \
@@ -1111,13 +1111,13 @@ struct mlx5_flow_workspace {
 };
 
 struct mlx5_flow_split_info {
-       bool external;
+       uint32_t external:1;
        /**< True if flow is created by request external to PMD. */
-       uint8_t skip_scale; /**< Skip the scale the table with factor. */
+       uint32_t prefix_mark:1; /**< Prefix subflow mark flag. */
+       uint32_t skip_scale:8; /**< Skip the scale the table with factor. */
        uint32_t flow_idx; /**< This memory pool index to the flow. */
-       uint32_t prefix_mark; /**< Prefix subflow mark flag. */
-       uint64_t prefix_layers; /**< Prefix subflow layers. */
        uint32_t table_id; /**< Flow table identifier. */
+       uint64_t prefix_layers; /**< Prefix subflow layers. */
 };
 
 typedef int (*mlx5_flow_validate_t)(struct rte_eth_dev *dev,