net/mlx5_core: Flow counters infrastructure
[cascardo/linux.git] / include / linux / mlx5 / fs.h
index 6467569..4b7a107 100644 (file)
@@ -73,6 +73,7 @@ struct mlx5_flow_destination {
                u32                     tir_num;
                struct mlx5_flow_table  *ft;
                u32                     vport_num;
+               struct mlx5_fc          *counter;
        };
 };
 
@@ -125,4 +126,10 @@ void mlx5_del_flow_rule(struct mlx5_flow_rule *fr);
 int mlx5_modify_rule_destination(struct mlx5_flow_rule *rule,
                                 struct mlx5_flow_destination *dest);
 
+struct mlx5_fc *mlx5_flow_rule_counter(struct mlx5_flow_rule *rule);
+struct mlx5_fc *mlx5_fc_create(struct mlx5_core_dev *dev, bool aging);
+void mlx5_fc_destroy(struct mlx5_core_dev *dev, struct mlx5_fc *counter);
+void mlx5_fc_query_cached(struct mlx5_fc *counter,
+                         u64 *bytes, u64 *packets, u64 *lastuse);
+
 #endif