1 /* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ 2 /* Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved. */ 3 4 #ifndef __MLX5_LIB_IPSEC_H__ 5 #define __MLX5_LIB_IPSEC_H__ 6 7 struct mlx5_ipsec_fs; 8 9 struct mlx5_flow_table * 10 mlx5_ipsec_fs_roce_ft_get(struct mlx5_ipsec_fs *ipsec_roce, u32 family); 11 void mlx5_ipsec_fs_roce_rx_destroy(struct mlx5_ipsec_fs *ipsec_roce, 12 u32 family); 13 int mlx5_ipsec_fs_roce_rx_create(struct mlx5_core_dev *mdev, 14 struct mlx5_ipsec_fs *ipsec_roce, 15 struct mlx5_flow_namespace *ns, 16 struct mlx5_flow_destination *default_dst, 17 u32 family, u32 level, u32 prio); 18 void mlx5_ipsec_fs_roce_tx_destroy(struct mlx5_ipsec_fs *ipsec_roce); 19 int mlx5_ipsec_fs_roce_tx_create(struct mlx5_core_dev *mdev, 20 struct mlx5_ipsec_fs *ipsec_roce, 21 struct mlx5_flow_table *pol_ft); 22 void mlx5_ipsec_fs_roce_cleanup(struct mlx5_ipsec_fs *ipsec_roce); 23 struct mlx5_ipsec_fs *mlx5_ipsec_fs_roce_init(struct mlx5_core_dev *mdev); 24 25 #endif /* __MLX5_LIB_IPSEC_H__ */ 26