// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* Copyright (c) 2019 Mellanox Technologies. */ #include "tx.h" #include "pool.h" #include "en/xdp.h" #include "en/params.h" #include <net/xdp_sock_drv.h> int mlx5e_xsk_wakeup(struct net_device *dev, u32 qid, u32 flags) { … } /* When TX fails (because of the size of the packet), we need to get completions * in order, so post a NOP to get a CQE. Since AF_XDP doesn't distinguish * between successful TX and errors, handling in mlx5e_poll_xdpsq_cq is the * same. */ static void mlx5e_xsk_tx_post_err(struct mlx5e_xdpsq *sq, union mlx5e_xdp_info *xdpi) { … } bool mlx5e_xsk_tx(struct mlx5e_xdpsq *sq, unsigned int budget) { … }