/linux-master/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/ |
H A D | pool.h | 10 struct mlx5e_xsk *xsk, u16 ix) 12 if (!xsk || !xsk->pools) 18 return xsk->pools[ix]; 22 void mlx5e_build_xsk_param(struct xsk_buff_pool *pool, struct mlx5e_xsk_param *xsk); 9 mlx5e_xsk_get_pool(struct mlx5e_params *params, struct mlx5e_xsk *xsk, u16 ix) argument
|
H A D | pool.c | 23 static int mlx5e_xsk_get_pools(struct mlx5e_xsk *xsk) argument 25 if (!xsk->pools) { 26 xsk->pools = kcalloc(MLX5E_MAX_NUM_CHANNELS, 27 sizeof(*xsk->pools), GFP_KERNEL); 28 if (unlikely(!xsk->pools)) 32 xsk->refcnt++; 33 xsk->ever_used = true; 38 static void mlx5e_xsk_put_pools(struct mlx5e_xsk *xsk) argument 40 if (!--xsk->refcnt) { 41 kfree(xsk 46 mlx5e_xsk_add_pool(struct mlx5e_xsk *xsk, struct xsk_buff_pool *pool, u16 ix) argument 58 mlx5e_xsk_remove_pool(struct mlx5e_xsk *xsk, u16 ix) argument 71 mlx5e_build_xsk_param(struct xsk_buff_pool *pool, struct mlx5e_xsk_param *xsk) argument 82 struct mlx5e_xsk_param xsk; local [all...] |
H A D | setup.h | 12 struct mlx5e_xsk_param *xsk, 15 struct mlx5e_xsk_param *xsk, struct xsk_buff_pool *pool,
|
H A D | setup.c | 12 struct mlx5e_xsk_param *xsk) 14 if (!mlx5e_rx_is_linear_skb(mdev, params, xsk)) { 28 struct mlx5e_xsk_param *xsk, 32 if (xsk->chunk_size > PAGE_SIZE || xsk->chunk_size < MLX5E_MIN_XSK_CHUNK_SIZE) { 33 mlx5_core_err(mdev, "XSK chunk size %u out of bounds [%u, %lu]\n", xsk->chunk_size, 43 return !mlx5e_mpwrq_validate_xsk(mdev, params, xsk); 45 return !mlx5e_legacy_rq_validate_xsk(mdev, params, xsk); 51 struct mlx5e_xsk_param *xsk, 54 mlx5e_build_rq_param(mdev, params, xsk, 10 mlx5e_legacy_rq_validate_xsk(struct mlx5_core_dev *mdev, struct mlx5e_params *params, struct mlx5e_xsk_param *xsk) argument 27 mlx5e_validate_xsk_param(struct mlx5e_params *params, struct mlx5e_xsk_param *xsk, struct mlx5_core_dev *mdev) argument 49 mlx5e_build_xsk_cparam(struct mlx5_core_dev *mdev, struct mlx5e_params *params, struct mlx5e_xsk_param *xsk, struct mlx5e_channel_param *cparam) argument 58 mlx5e_init_xsk_rq(struct mlx5e_channel *c, struct mlx5e_params *params, struct xsk_buff_pool *pool, struct mlx5e_xsk_param *xsk, struct mlx5e_rq *rq) argument 91 mlx5e_open_xsk_rq(struct mlx5e_channel *c, struct mlx5e_params *params, struct mlx5e_rq_param *rq_params, struct xsk_buff_pool *pool, struct mlx5e_xsk_param *xsk) argument 111 mlx5e_open_xsk(struct mlx5e_priv *priv, struct mlx5e_params *params, struct mlx5e_xsk_param *xsk, struct xsk_buff_pool *pool, struct mlx5e_channel *c) argument [all...] |
/linux-master/tools/testing/selftests/bpf/ |
H A D | xdp_hw_metadata.c | 21 #include "xsk.h" 48 struct xsk { struct 60 struct xsk *rx_xsk; 70 static int open_xsk(int ifindex, struct xsk *xsk, __u32 queue_id) argument 90 xsk->umem_area = mmap(NULL, UMEM_SIZE, PROT_READ | PROT_WRITE, mmap_flags, -1, 0); 91 if (xsk->umem_area == MAP_FAILED) 94 ret = xsk_umem__create(&xsk->umem, 95 xsk->umem_area, UMEM_SIZE, 96 &xsk 132 close_xsk(struct xsk *xsk) argument 141 refill_rx(struct xsk *xsk, __u64 addr) argument 152 kick_tx(struct xsk *xsk) argument 157 kick_rx(struct xsk *xsk) argument 282 complete_tx(struct xsk *xsk, clockid_t clock_id) argument 324 ping_pong(struct xsk *xsk, void *rx_packet, clockid_t clock_id) argument 453 struct xsk *xsk = &rx_xsk[i]; local [all...] |
H A D | xsk.c | 37 #include "xsk.h" 97 int xsk_socket__fd(const struct xsk_socket *xsk) argument 99 return xsk ? xsk->fd : -EINVAL; 448 int xsk_update_xskmap(struct bpf_map *map, struct xsk_socket *xsk, u32 index) argument 453 sock_fd = xsk_socket__fd(xsk); 502 static struct xsk_ctx *xsk_create_ctx(struct xsk_socket *xsk, argument 516 err = xsk_create_umem_rings(umem, xsk->fd, fill, comp); 551 struct xsk_socket *xsk; local 560 xsk 746 xsk_socket__delete(struct xsk_socket *xsk) argument [all...] |
H A D | xskxceiver.c | 46 * then remove xsk sockets from queue 0 on both veth interfaces and 101 #include "xsk.h" 160 static void gen_eth_hdr(struct xsk_socket_info *xsk, struct ethhdr *eth_hdr) argument 162 memcpy(eth_hdr->h_dest, xsk->dst_mac, ETH_ALEN); 163 memcpy(eth_hdr->h_source, xsk->src_mac, ETH_ALEN); 228 static void enable_busy_poll(struct xsk_socket_info *xsk) argument 233 if (setsockopt(xsk_socket__fd(xsk->xsk), SOL_SOCKET, SO_PREFER_BUSY_POLL, 238 if (setsockopt(xsk_socket__fd(xsk->xsk), SOL_SOCKE 248 __xsk_configure_socket(struct xsk_socket_info *xsk, struct xsk_umem_info *umem, struct ifobject *ifobject, bool shared) argument 273 struct xsk_socket_info *xsk; local 766 pkt_generate(struct xsk_socket_info *xsk, struct xsk_umem_info *umem, u64 addr, u32 len, u32 pkt_nb, u32 bytes_written) argument 999 kick_tx(struct xsk_socket_info *xsk) argument 1013 kick_rx(struct xsk_socket_info *xsk) argument 1024 complete_pkts(struct xsk_socket_info *xsk, int batch_size) argument 1054 __receive_pkts(struct test_spec *test, struct xsk_socket_info *xsk) argument 1174 all_packets_received(struct test_spec *test, struct xsk_socket_info *xsk, u32 sock_num, unsigned long *bitmap) argument 1197 struct xsk_socket_info *xsk; local 1231 __send_pkts(struct ifobject *ifobject, struct xsk_socket_info *xsk, bool timeout) argument 1354 wait_for_tx_completion(struct xsk_socket_info *xsk) argument 1418 get_xsk_stats(struct xsk_socket *xsk, struct xdp_statistics *stats) argument 1443 struct xsk_socket *xsk = ifobject->xsk->xsk; local 1470 struct xsk_socket *xsk = ifobject->xsk->xsk; local 1491 struct xsk_socket *xsk = ifobject->xsk->xsk; local 1512 struct xsk_socket *xsk = ifobject->xsk->xsk; local [all...] |
H A D | xskxceiver.h | 90 struct xsk_socket *xsk; member in struct:xsk_socket_info 124 struct xsk_socket_info *xsk; member in struct:ifobject
|
H A D | xsk.h | 188 int xsk_socket__fd(const struct xsk_socket *xsk); 208 int xsk_update_xskmap(struct bpf_map *map, struct xsk_socket *xsk, u32 index); 224 int xsk_socket__create(struct xsk_socket **xsk, 241 void xsk_socket__delete(struct xsk_socket *xsk);
|
/linux-master/net/xdp/ |
H A D | Makefile | 2 obj-$(CONFIG_XDP_SOCKETS) += xsk.o xdp_umem.o xsk_queue.o xskmap.o
|
H A D | xsk_buff_pool.c | 9 #include "xsk.h" 149 bpf.xsk.pool = NULL; 150 bpf.xsk.queue_id = pool->queue_id; 215 bpf.xsk.pool = pool; 216 bpf.xsk.queue_id = queue_id;
|
/linux-master/tools/testing/selftests/bpf/prog_tests/ |
H A D | xdp_metadata.c | 7 #include "xsk.h" 49 struct xsk { struct 59 static int open_xsk(int ifindex, struct xsk *xsk) argument 79 xsk->umem_area = mmap(NULL, UMEM_SIZE, PROT_READ | PROT_WRITE, mmap_flags, -1, 0); 80 if (!ASSERT_NEQ(xsk->umem_area, MAP_FAILED, "mmap")) 83 ret = xsk_umem__create(&xsk->umem, 84 xsk->umem_area, UMEM_SIZE, 85 &xsk->fill, 86 &xsk 126 close_xsk(struct xsk *xsk) argument 152 generate_packet(struct xsk *xsk, __u16 dst_port) argument 243 complete_tx(struct xsk *xsk) argument 264 refill_rx(struct xsk *xsk, __u64 addr) argument 275 verify_xsk_metadata(struct xsk *xsk, bool sent_from_af_xdp) argument [all...] |
/linux-master/tools/testing/selftests/bpf/progs/ |
H A D | xsk_xdp_progs.c | 14 } xsk SEC(".maps"); 21 return bpf_redirect_map(&xsk, 0, XDP_DROP); 30 return bpf_redirect_map(&xsk, 0, XDP_DROP); 53 return bpf_redirect_map(&xsk, 0, XDP_DROP); 70 return bpf_redirect_map(&xsk, idx, XDP_DROP);
|
H A D | xdp_hw_metadata.c | 13 } xsk SEC(".maps"); 114 return bpf_redirect_map(&xsk, ctx->rx_queue_index, XDP_PASS);
|
H A D | xdp_metadata.c | 13 } xsk SEC(".maps"); 95 return bpf_redirect_map(&xsk, ctx->rx_queue_index, XDP_PASS);
|
/linux-master/drivers/net/ethernet/mellanox/mlx5/core/en/ |
H A D | params.c | 19 u8 mlx5e_mpwrq_page_shift(struct mlx5_core_dev *mdev, struct mlx5e_xsk_param *xsk) argument 21 u8 req_page_shift = xsk ? order_base_2(xsk->chunk_size) : PAGE_SHIFT; 25 if (WARN_ON_ONCE(!xsk && req_page_shift < min_page_shift)) 32 mlx5e_mpwrq_umr_mode(struct mlx5_core_dev *mdev, struct mlx5e_xsk_param *xsk) argument 43 u8 page_shift = mlx5e_mpwrq_page_shift(mdev, xsk); 44 bool unaligned = xsk ? xsk->unaligned : false; 47 if (xsk) { 48 oversized = xsk 218 mlx5e_get_linear_rq_headroom(struct mlx5e_params *params, struct mlx5e_xsk_param *xsk) argument 235 mlx5e_rx_get_linear_sz_xsk(struct mlx5e_params *params, struct mlx5e_xsk_param *xsk) argument 255 mlx5e_rx_get_linear_stride_sz(struct mlx5_core_dev *mdev, struct mlx5e_params *params, struct mlx5e_xsk_param *xsk, bool mpwqe) argument 283 mlx5e_mpwqe_log_pkts_per_wqe(struct mlx5_core_dev *mdev, struct mlx5e_params *params, struct mlx5e_xsk_param *xsk) argument 295 mlx5e_rx_is_linear_skb(struct mlx5_core_dev *mdev, struct mlx5e_params *params, struct mlx5e_xsk_param *xsk) argument 341 mlx5e_verify_params_rx_mpwqe_strides(struct mlx5_core_dev *mdev, struct mlx5e_params *params, struct mlx5e_xsk_param *xsk) argument 355 mlx5e_rx_mpwqe_is_linear_skb(struct mlx5_core_dev *mdev, struct mlx5e_params *params, struct mlx5e_xsk_param *xsk) argument 381 mlx5e_mpwqe_get_log_rq_size(struct mlx5_core_dev *mdev, struct mlx5e_params *params, struct mlx5e_xsk_param *xsk) argument 430 mlx5e_mpwqe_get_log_stride_size(struct mlx5_core_dev *mdev, struct mlx5e_params *params, struct mlx5e_xsk_param *xsk) argument 444 mlx5e_mpwqe_get_log_num_strides(struct mlx5_core_dev *mdev, struct mlx5e_params *params, struct mlx5e_xsk_param *xsk) argument 466 mlx5e_get_rq_headroom(struct mlx5_core_dev *mdev, struct mlx5e_params *params, struct mlx5e_xsk_param *xsk) argument 614 mlx5e_mpwrq_validate_xsk(struct mlx5_core_dev *mdev, struct mlx5e_params *params, struct mlx5e_xsk_param *xsk) argument 749 mlx5e_build_rq_frags_info(struct mlx5_core_dev *mdev, struct mlx5e_params *params, struct mlx5e_xsk_param *xsk, struct mlx5e_rq_frags_info *info, u32 *xdp_frag_size) argument 896 mlx5e_shampo_get_log_cq_size(struct mlx5_core_dev *mdev, struct mlx5e_params *params, struct mlx5e_xsk_param *xsk) argument 913 mlx5e_build_rx_cq_param(struct mlx5_core_dev *mdev, struct mlx5e_params *params, struct mlx5e_xsk_param *xsk, struct mlx5e_cq_param *param) argument 959 mlx5e_build_rq_param(struct mlx5_core_dev *mdev, struct mlx5e_params *params, struct mlx5e_xsk_param *xsk, struct mlx5e_rq_param *param) argument 1160 mlx5e_mpwrq_total_umr_wqebbs(struct mlx5_core_dev *mdev, struct mlx5e_params *params, struct mlx5e_xsk_param *xsk) argument 1203 struct mlx5e_xsk_param xsk = { local 1288 mlx5e_build_xdpsq_param(struct mlx5_core_dev *mdev, struct mlx5e_params *params, struct mlx5e_xsk_param *xsk, struct mlx5e_sq_param *param) argument [all...] |
H A D | params.h | 59 u8 mlx5e_mpwrq_page_shift(struct mlx5_core_dev *mdev, struct mlx5e_xsk_param *xsk); 61 mlx5e_mpwrq_umr_mode(struct mlx5_core_dev *mdev, struct mlx5e_xsk_param *xsk); 88 struct mlx5e_xsk_param *xsk); 94 struct mlx5e_xsk_param *xsk); 97 struct mlx5e_xsk_param *xsk); 100 struct mlx5e_xsk_param *xsk); 103 struct mlx5e_xsk_param *xsk); 118 struct mlx5e_xsk_param *xsk); 121 struct mlx5e_xsk_param *xsk); 125 struct mlx5e_xsk_param *xsk); [all...] |
H A D | rx_res.h | 42 unsigned int ix, bool xsk);
|
H A D | xdp.h | 105 int mlx5e_xdp_max_mtu(struct mlx5e_params *params, struct mlx5e_xsk_param *xsk);
|
/linux-master/drivers/net/ethernet/freescale/dpaa2/ |
H A D | Makefile | 10 fsl-dpaa2-eth-objs := dpaa2-eth.o dpaa2-ethtool.o dpni.o dpaa2-mac.o dpmac.o dpaa2-eth-devlink.o dpaa2-xsk.o
|
H A D | dpaa2-xsk.c | 50 xdp_buff = swa->xsk.xdp_buff; 365 swa->xsk.sgt_size = sgt_buf_size;
|
/linux-master/drivers/net/ethernet/netronome/nfp/ |
H A D | Makefile | 25 nfd3/xsk.o \
|
/linux-master/drivers/net/ethernet/mellanox/mlx5/core/ |
H A D | Makefile | 29 en/reporter_tx.o en/reporter_rx.o en/params.o en/xsk/pool.o \ 30 en/xsk/setup.o en/xsk/rx.o en/xsk/tx.o en/devlink.o en/ptp.o \
|
H A D | en.h | 325 struct mlx5e_xsk *xsk; member in struct:mlx5e_params 350 MLX5E_RQ_STATE_XSK, /* set to indicate an xsk rq */ 611 int mlx5e_rq_set_handlers(struct mlx5e_rq *rq, struct mlx5e_params *params, bool xsk); 943 struct mlx5e_xsk xsk; member in struct:mlx5e_priv 1035 struct mlx5e_xsk_param *xsk, int node, u16 q_counter, 1224 void mlx5e_build_nic_params(struct mlx5e_priv *priv, struct mlx5e_xsk *xsk, u16 mtu);
|
H A D | en_main.c | 61 #include "en/xsk/pool.h" 62 #include "en/xsk/setup.h" 63 #include "en/xsk/rx.h" 64 #include "en/xsk/tx.h" 796 struct mlx5e_xsk_param *xsk, 816 rq->buff.headroom = mlx5e_get_rq_headroom(mdev, params, xsk); 836 rq->mpwqe.page_shift = mlx5e_mpwrq_page_shift(mdev, xsk); 837 rq->mpwqe.umr_mode = mlx5e_mpwrq_umr_mode(mdev, xsk); 849 mlx5e_mpwqe_get_log_rq_size(mdev, params, xsk); 851 if (!mlx5e_rx_mpwqe_is_linear_skb(mdev, params, xsk) 795 mlx5e_alloc_rq(struct mlx5e_params *params, struct mlx5e_xsk_param *xsk, struct mlx5e_rq_param *rqp, int node, struct mlx5e_rq *rq) argument 1278 mlx5e_open_rq(struct mlx5e_params *params, struct mlx5e_rq_param *param, struct mlx5e_xsk_param *xsk, int node, u16 q_counter, struct mlx5e_rq *rq) argument 2536 struct mlx5e_xsk_param xsk; local 4266 struct mlx5e_xsk_param xsk; local 5026 mlx5e_build_nic_params(struct mlx5e_priv *priv, struct mlx5e_xsk *xsk, u16 mtu) argument [all...] |