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/fs.h"
8 
9 void mlx5e_fs_tt_redirect_del_rule(struct mlx5_flow_handle *rule);
10 
11 /* UDP traffic type redirect */
12 struct mlx5_flow_handle *
13 mlx5e_fs_tt_redirect_udp_add_rule(struct mlx5e_flow_steering *fs,
14 				  enum mlx5_traffic_types ttc_type,
15 				  u32 tir_num, u16 d_port);
16 void mlx5e_fs_tt_redirect_udp_destroy(struct mlx5e_flow_steering *fs);
17 int mlx5e_fs_tt_redirect_udp_create(struct mlx5e_flow_steering *fs);
18 
19 /* ANY traffic type redirect*/
20 struct mlx5_flow_handle *
21 mlx5e_fs_tt_redirect_any_add_rule(struct mlx5e_flow_steering *fs,
22 				  u32 tir_num, u16 ether_type);
23 void mlx5e_fs_tt_redirect_any_destroy(struct mlx5e_flow_steering *fs);
24 int mlx5e_fs_tt_redirect_any_create(struct mlx5e_flow_steering *fs);
25 #endif
26