| /Linux-v5.15/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/ |
| D | pool.c | 23 static int mlx5e_xsk_get_pools(struct mlx5e_xsk *xsk) in mlx5e_xsk_get_pools() argument 25 if (!xsk->pools) { in mlx5e_xsk_get_pools() 26 xsk->pools = kcalloc(MLX5E_MAX_NUM_CHANNELS, in mlx5e_xsk_get_pools() 27 sizeof(*xsk->pools), GFP_KERNEL); in mlx5e_xsk_get_pools() 28 if (unlikely(!xsk->pools)) in mlx5e_xsk_get_pools() 32 xsk->refcnt++; in mlx5e_xsk_get_pools() 33 xsk->ever_used = true; in mlx5e_xsk_get_pools() 38 static void mlx5e_xsk_put_pools(struct mlx5e_xsk *xsk) in mlx5e_xsk_put_pools() argument 40 if (!--xsk->refcnt) { in mlx5e_xsk_put_pools() 41 kfree(xsk->pools); in mlx5e_xsk_put_pools() [all …]
|
| D | setup.c | 15 struct mlx5e_xsk_param *xsk, in mlx5e_validate_xsk_param() argument 19 if (xsk->chunk_size > PAGE_SIZE || in mlx5e_validate_xsk_param() 20 xsk->chunk_size < MLX5E_MIN_XSK_CHUNK_SIZE) in mlx5e_validate_xsk_param() 24 if (mlx5e_rx_get_min_frag_sz(params, xsk) > xsk->chunk_size) in mlx5e_validate_xsk_param() 32 return mlx5e_rx_mpwqe_is_linear_skb(mdev, params, xsk); in mlx5e_validate_xsk_param() 34 return mlx5e_rx_is_linear_skb(params, xsk); in mlx5e_validate_xsk_param() 40 struct mlx5e_xsk_param *xsk, in mlx5e_build_xsk_cparam() argument 44 mlx5e_build_rq_param(mdev, params, xsk, q_counter, &cparam->rq); in mlx5e_build_xsk_cparam() 51 struct mlx5e_xsk_param *xsk, in mlx5e_init_xsk_rq() argument 73 err = mlx5e_rq_set_handlers(rq, params, xsk); in mlx5e_init_xsk_rq() [all …]
|
| D | pool.h | 10 struct mlx5e_xsk *xsk, u16 ix) in mlx5e_xsk_get_pool() argument 12 if (!xsk || !xsk->pools) in mlx5e_xsk_get_pool() 18 return xsk->pools[ix]; in mlx5e_xsk_get_pool() 22 void mlx5e_build_xsk_param(struct xsk_buff_pool *pool, struct mlx5e_xsk_param *xsk);
|
| D | rx.h | 25 dma_info->xsk = xsk_buff_alloc(rq->xsk_pool); in mlx5e_xsk_page_alloc_pool() 26 if (!dma_info->xsk) in mlx5e_xsk_page_alloc_pool() 34 dma_info->addr = xsk_buff_xdp_get_frame_dma(dma_info->xsk); in mlx5e_xsk_page_alloc_pool()
|
| D | setup.h | 12 struct mlx5e_xsk_param *xsk, 15 struct mlx5e_xsk_param *xsk, struct xsk_buff_pool *pool,
|
| D | rx.c | 32 struct xdp_buff *xdp = wi->umr.dma_info[page_idx].xsk; in mlx5e_xsk_skb_from_cqe_mpwrq_linear() 85 struct xdp_buff *xdp = wi->di->xsk; in mlx5e_xsk_skb_from_cqe_linear()
|
| /Linux-v5.15/tools/lib/bpf/ |
| D | xsk.c | 117 int xsk_socket__fd(const struct xsk_socket *xsk) in xsk_socket__fd() argument 119 return xsk ? xsk->fd : -EINVAL; in xsk_socket__fd() 412 static int xsk_load_xdp_prog(struct xsk_socket *xsk) in xsk_load_xdp_prog() argument 415 struct xsk_ctx *ctx = xsk->ctx; in xsk_load_xdp_prog() 511 static int xsk_create_bpf_link(struct xsk_socket *xsk) in xsk_create_bpf_link() argument 514 struct xsk_ctx *ctx = xsk->ctx; in xsk_create_bpf_link() 519 err = bpf_get_link_xdp_id(ctx->ifindex, &prog_id, xsk->config.xdp_flags); in xsk_create_bpf_link() 533 opts.flags = xsk->config.xdp_flags & ~(XDP_FLAGS_UPDATE_IF_NOEXIST | XDP_FLAGS_REPLACE); in xsk_create_bpf_link() 545 static int xsk_get_max_queues(struct xsk_socket *xsk) in xsk_get_max_queues() argument 548 struct xsk_ctx *ctx = xsk->ctx; in xsk_get_max_queues() [all …]
|
| D | xsk.h | 249 LIBBPF_API int xsk_socket__fd(const struct xsk_socket *xsk); 268 LIBBPF_API int xsk_socket__update_xskmap(struct xsk_socket *xsk, 298 LIBBPF_API int xsk_socket__create(struct xsk_socket **xsk, 316 LIBBPF_API void xsk_socket__delete(struct xsk_socket *xsk);
|
| D | Build | 2 netlink.o bpf_prog_linfo.o libbpf_probes.o xsk.o hashmap.o \
|
| D | Makefile | 226 INSTALL_HEADERS = bpf.h libbpf.h btf.h libbpf_common.h libbpf_legacy.h xsk.h \
|
| /Linux-v5.15/samples/bpf/ |
| D | xdpsock_user.c | 149 struct xsk_socket *xsk; member 196 static int xsk_get_xdp_stats(int fd, struct xsk_socket_info *xsk) in xsk_get_xdp_stats() argument 208 xsk->ring_stats.rx_dropped_npkts = stats.rx_dropped; in xsk_get_xdp_stats() 209 xsk->ring_stats.rx_invalid_npkts = stats.rx_invalid_descs; in xsk_get_xdp_stats() 210 xsk->ring_stats.tx_invalid_npkts = stats.tx_invalid_descs; in xsk_get_xdp_stats() 211 xsk->ring_stats.rx_full_npkts = stats.rx_ring_full; in xsk_get_xdp_stats() 212 xsk->ring_stats.rx_fill_empty_npkts = stats.rx_fill_ring_empty_descs; in xsk_get_xdp_stats() 213 xsk->ring_stats.tx_empty_npkts = stats.tx_ring_empty_descs; in xsk_get_xdp_stats() 384 if (!xsk_get_xdp_stats(xsk_socket__fd(xsks[i]->xsk), xsks[i])) { in dump_stats() 505 xsk_socket__delete(xsks[i]->xsk); in xdpsock_cleanup() [all …]
|
| D | xsk_fwd.c | 448 struct xsk_socket *xsk; member 466 if (p->xsk) in port_free() 467 xsk_socket__delete(p->xsk); in port_free() 499 status = xsk_socket__create_shared(&p->xsk, in port_init() 543 .fd = xsk_socket__fd(p->xsk), in port_rx_burst() 570 .fd = xsk_socket__fd(p->xsk), in port_rx_burst() 615 sendto(xsk_socket__fd(p->xsk), NULL, 0, MSG_DONTWAIT, in port_tx_burst() 626 sendto(xsk_socket__fd(p->xsk), NULL, 0, MSG_DONTWAIT, NULL, 0); in port_tx_burst()
|
| /Linux-v5.15/tools/testing/selftests/bpf/ |
| D | xdpxceiver.c | 280 struct xsk_socket_info *xsk; in xsk_configure_socket() local 285 xsk = calloc(1, sizeof(struct xsk_socket_info)); in xsk_configure_socket() 286 if (!xsk) in xsk_configure_socket() 289 xsk->umem = ifobject->umem; in xsk_configure_socket() 297 rxr = (ifobject->fv.vector == rx) ? &xsk->rx : NULL; in xsk_configure_socket() 298 txr = (ifobject->fv.vector == tx) ? &xsk->tx : NULL; in xsk_configure_socket() 300 rxr = &xsk->rx; in xsk_configure_socket() 301 txr = &xsk->tx; in xsk_configure_socket() 304 ret = xsk_socket__create(&xsk->xsk, ifobject->ifname, idx, in xsk_configure_socket() 309 ifobject->xsk_arr[idx] = xsk; in xsk_configure_socket() [all …]
|
| D | xdpxceiver.h | 96 struct xsk_socket *xsk; member 121 struct xsk_socket_info *xsk; member
|
| /Linux-v5.15/drivers/net/ethernet/mellanox/mlx5/core/en/ |
| D | params.c | 12 struct mlx5e_xsk_param *xsk) in mlx5e_rx_is_xdp() argument 14 return params->xdp_prog || xsk; in mlx5e_rx_is_xdp() 18 struct mlx5e_xsk_param *xsk) in mlx5e_get_linear_rq_headroom() argument 22 if (xsk) in mlx5e_get_linear_rq_headroom() 23 return xsk->headroom; in mlx5e_get_linear_rq_headroom() 26 if (mlx5e_rx_is_xdp(params, xsk)) in mlx5e_get_linear_rq_headroom() 35 struct mlx5e_xsk_param *xsk) in mlx5e_rx_get_min_frag_sz() argument 38 u16 linear_rq_headroom = mlx5e_get_linear_rq_headroom(params, xsk); in mlx5e_rx_get_min_frag_sz() 44 struct mlx5e_xsk_param *xsk) in mlx5e_rx_get_linear_frag_sz() argument 46 u32 frag_sz = mlx5e_rx_get_min_frag_sz(params, xsk); in mlx5e_rx_get_linear_frag_sz() [all …]
|
| D | params.h | 107 struct mlx5e_xsk_param *xsk); 109 struct mlx5e_xsk_param *xsk); 111 struct mlx5e_xsk_param *xsk); 113 struct mlx5e_xsk_param *xsk); 116 struct mlx5e_xsk_param *xsk); 118 struct mlx5e_xsk_param *xsk); 121 struct mlx5e_xsk_param *xsk); 124 struct mlx5e_xsk_param *xsk); 127 struct mlx5e_xsk_param *xsk); 135 struct mlx5e_xsk_param *xsk,
|
| D | xdp.h | 49 int mlx5e_xdp_max_mtu(struct mlx5e_params *params, struct mlx5e_xsk_param *xsk);
|
| D | xdp.c | 38 int mlx5e_xdp_max_mtu(struct mlx5e_params *params, struct mlx5e_xsk_param *xsk) in mlx5e_xdp_max_mtu() argument 40 int hr = mlx5e_get_linear_rq_headroom(params, xsk); in mlx5e_xdp_max_mtu()
|
| /Linux-v5.15/drivers/net/ethernet/mellanox/mlx5/core/ |
| 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 \
|
| D | en.h | 270 struct mlx5e_xsk *xsk; member 413 struct xdp_buff *xsk; member 581 int mlx5e_rq_set_handlers(struct mlx5e_rq *rq, struct mlx5e_params *params, bool xsk); 876 struct mlx5e_xsk xsk; member 939 struct mlx5e_xsk_param *xsk, int node, 1127 void mlx5e_build_nic_params(struct mlx5e_priv *priv, struct mlx5e_xsk *xsk, u16 mtu);
|
| D | en_main.c | 407 struct mlx5e_xsk_param *xsk, in mlx5e_alloc_rq() argument 428 rq->buff.headroom = mlx5e_get_rq_headroom(mdev, params, xsk); in mlx5e_alloc_rq() 447 mlx5e_mpwqe_get_log_rq_size(params, xsk); in mlx5e_alloc_rq() 449 rq->mpwqe.log_stride_sz = mlx5e_mpwqe_get_log_stride_size(mdev, params, xsk); in mlx5e_alloc_rq() 451 BIT(mlx5e_mpwqe_get_log_num_strides(mdev, params, xsk)); in mlx5e_alloc_rq() 493 if (xsk) { in mlx5e_alloc_rq() 842 struct mlx5e_xsk_param *xsk, int node, in mlx5e_open_rq() argument 848 err = mlx5e_alloc_rq(params, xsk, param, node, rq); in mlx5e_open_rq() 1974 struct mlx5e_xsk_param xsk; in mlx5e_open_channel() local 2008 mlx5e_build_xsk_param(xsk_pool, &xsk); in mlx5e_open_channel() [all …]
|
| D | en_rx.c | 325 xsk_buff_free(dma_info->xsk); in mlx5e_page_release() 1771 int mlx5e_rq_set_handlers(struct mlx5e_rq *rq, struct mlx5e_params *params, bool xsk) in mlx5e_rq_set_handlers() argument 1779 rq->mpwqe.skb_from_cqe_mpwrq = xsk ? in mlx5e_rq_set_handlers() 1798 rq->wqe.skb_from_cqe = xsk ? in mlx5e_rq_set_handlers()
|
| D | en_stats.c | 2130 (NUM_XSKRQ_STATS * max_nch * priv->xsk.ever_used) + in MLX5E_DECLARE_STATS_GRP_OP_NUM_STATS() 2131 (NUM_XSKSQ_STATS * max_nch * priv->xsk.ever_used); in MLX5E_DECLARE_STATS_GRP_OP_NUM_STATS() 2136 bool is_xsk = priv->xsk.ever_used; in MLX5E_DECLARE_STATS_GRP_OP_FILL_STRS() 2178 bool is_xsk = priv->xsk.ever_used; in MLX5E_DECLARE_STATS_GRP_OP_FILL_STATS()
|
| /Linux-v5.15/net/xdp/ |
| D | Makefile | 2 obj-$(CONFIG_XDP_SOCKETS) += xsk.o xdp_umem.o xsk_queue.o xskmap.o
|
| D | xsk_buff_pool.c | 112 bpf.xsk.pool = NULL; in xp_disable_drv_zc() 113 bpf.xsk.queue_id = pool->queue_id; in xp_disable_drv_zc() 167 bpf.xsk.pool = pool; in xp_assign_dev() 168 bpf.xsk.queue_id = queue_id; in xp_assign_dev()
|