1 /* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */
2 /* Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. */
3 
4 #ifndef __MLX5_EN_ACT_STATS_H__
5 #define __MLX5_EN_ACT_STATS_H__
6 
7 #include <net/flow_offload.h>
8 #include "en/tc_priv.h"
9 
10 struct mlx5e_tc_act_stats_handle;
11 
12 struct mlx5e_tc_act_stats_handle *mlx5e_tc_act_stats_create(void);
13 void mlx5e_tc_act_stats_free(struct mlx5e_tc_act_stats_handle *handle);
14 
15 int
16 mlx5e_tc_act_stats_add_flow(struct mlx5e_tc_act_stats_handle *handle,
17 			    struct mlx5e_tc_flow *flow);
18 
19 void
20 mlx5e_tc_act_stats_del_flow(struct mlx5e_tc_act_stats_handle *handle,
21 			    struct mlx5e_tc_flow *flow);
22 
23 int
24 mlx5e_tc_act_stats_fill_stats(struct mlx5e_tc_act_stats_handle *handle,
25 			      struct flow_offload_action *fl_act);
26 
27 #endif /* __MLX5_EN_ACT_STATS_H__ */
28