1db05815bSMaxim Mikityanskiy /* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */
2db05815bSMaxim Mikityanskiy /* Copyright (c) 2019 Mellanox Technologies. */
3db05815bSMaxim Mikityanskiy 
4db05815bSMaxim Mikityanskiy #ifndef __MLX5_EN_XSK_SETUP_H__
5db05815bSMaxim Mikityanskiy #define __MLX5_EN_XSK_SETUP_H__
6db05815bSMaxim Mikityanskiy 
7db05815bSMaxim Mikityanskiy #include "en.h"
8db05815bSMaxim Mikityanskiy 
9db05815bSMaxim Mikityanskiy struct mlx5e_xsk_param;
10db05815bSMaxim Mikityanskiy 
11db05815bSMaxim Mikityanskiy bool mlx5e_validate_xsk_param(struct mlx5e_params *params,
12db05815bSMaxim Mikityanskiy 			      struct mlx5e_xsk_param *xsk,
13db05815bSMaxim Mikityanskiy 			      struct mlx5_core_dev *mdev);
14db05815bSMaxim Mikityanskiy int mlx5e_open_xsk(struct mlx5e_priv *priv, struct mlx5e_params *params,
151742b3d5SMagnus Karlsson 		   struct mlx5e_xsk_param *xsk, struct xsk_buff_pool *pool,
16db05815bSMaxim Mikityanskiy 		   struct mlx5e_channel *c);
17db05815bSMaxim Mikityanskiy void mlx5e_close_xsk(struct mlx5e_channel *c);
18db05815bSMaxim Mikityanskiy void mlx5e_activate_xsk(struct mlx5e_channel *c);
19db05815bSMaxim Mikityanskiy void mlx5e_deactivate_xsk(struct mlx5e_channel *c);
20db05815bSMaxim Mikityanskiy 
21db05815bSMaxim Mikityanskiy #endif /* __MLX5_EN_XSK_SETUP_H__ */
22