1 /* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */
2 /* Copyright (c) 2021 Mellanox Technologies. */
3 
4 #ifndef __MLX5E_FS_TT_REDIRECT_H__
5 #define __MLX5E_FS_TT_REDIRECT_H__
6 
7 #include "en.h"
8 #include "en/fs.h"
9 
10 void mlx5e_fs_tt_redirect_del_rule(struct mlx5_flow_handle *rule);
11 
12 /* UDP traffic type redirect */
13 struct mlx5_flow_handle *
14 mlx5e_fs_tt_redirect_udp_add_rule(struct mlx5e_priv *priv,
15 				  enum mlx5_traffic_types ttc_type,
16 				  u32 tir_num, u16 d_port);
17 void mlx5e_fs_tt_redirect_udp_destroy(struct mlx5e_priv *priv);
18 int mlx5e_fs_tt_redirect_udp_create(struct mlx5e_priv *priv);
19 
20 /* ANY traffic type redirect*/
21 struct mlx5_flow_handle *
22 mlx5e_fs_tt_redirect_any_add_rule(struct mlx5e_priv *priv,
23 				  u32 tir_num, u16 ether_type);
24 void mlx5e_fs_tt_redirect_any_destroy(struct mlx5e_priv *priv);
25 int mlx5e_fs_tt_redirect_any_create(struct mlx5e_priv *priv);
26 #endif
27