]>
git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/blob - drivers/net/ethernet/mellanox/mlx5/core/en/xsk/setup.h
1 /* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */
2 /* Copyright (c) 2019 Mellanox Technologies. */
4 #ifndef __MLX5_EN_XSK_SETUP_H__
5 #define __MLX5_EN_XSK_SETUP_H__
9 struct mlx5e_xsk_param
;
11 bool mlx5e_validate_xsk_param(struct mlx5e_params
*params
,
12 struct mlx5e_xsk_param
*xsk
,
13 struct mlx5_core_dev
*mdev
);
14 int mlx5e_open_xsk(struct mlx5e_priv
*priv
, struct mlx5e_params
*params
,
15 struct mlx5e_xsk_param
*xsk
, struct xdp_umem
*umem
,
16 struct mlx5e_channel
*c
);
17 void mlx5e_close_xsk(struct mlx5e_channel
*c
);
18 void mlx5e_activate_xsk(struct mlx5e_channel
*c
);
19 void mlx5e_deactivate_xsk(struct mlx5e_channel
*c
);
20 int mlx5e_xsk_redirect_rqt_to_channel(struct mlx5e_priv
*priv
, struct mlx5e_channel
*c
);
21 int mlx5e_xsk_redirect_rqt_to_drop(struct mlx5e_priv
*priv
, u16 ix
);
22 int mlx5e_xsk_redirect_rqts_to_channels(struct mlx5e_priv
*priv
, struct mlx5e_channels
*chs
);
23 void mlx5e_xsk_redirect_rqts_to_drop(struct mlx5e_priv
*priv
, struct mlx5e_channels
*chs
);
25 #endif /* __MLX5_EN_XSK_SETUP_H__ */