Home
last modified time | relevance | path

Searched refs:xsk (Results 1 – 25 of 30) sorted by relevance

12

/Linux-v5.10/drivers/net/ethernet/mellanox/mlx5/core/en/
Dparams.c7 struct mlx5e_xsk_param *xsk) in mlx5e_rx_is_xdp() argument
9 return params->xdp_prog || xsk; in mlx5e_rx_is_xdp()
13 struct mlx5e_xsk_param *xsk) in mlx5e_get_linear_rq_headroom() argument
17 if (xsk) in mlx5e_get_linear_rq_headroom()
18 return xsk->headroom; in mlx5e_get_linear_rq_headroom()
21 if (mlx5e_rx_is_xdp(params, xsk)) in mlx5e_get_linear_rq_headroom()
30 struct mlx5e_xsk_param *xsk) in mlx5e_rx_get_min_frag_sz() argument
33 u16 linear_rq_headroom = mlx5e_get_linear_rq_headroom(params, xsk); in mlx5e_rx_get_min_frag_sz()
39 struct mlx5e_xsk_param *xsk) in mlx5e_rx_get_linear_frag_sz() argument
41 u32 frag_sz = mlx5e_rx_get_min_frag_sz(params, xsk); in mlx5e_rx_get_linear_frag_sz()
[all …]
Dparams.h78 struct mlx5e_xsk_param *xsk);
80 struct mlx5e_xsk_param *xsk);
82 struct mlx5e_xsk_param *xsk);
84 struct mlx5e_xsk_param *xsk);
86 struct mlx5e_xsk_param *xsk);
89 struct mlx5e_xsk_param *xsk);
91 struct mlx5e_xsk_param *xsk);
94 struct mlx5e_xsk_param *xsk);
97 struct mlx5e_xsk_param *xsk);
100 struct mlx5e_xsk_param *xsk);
[all …]
Dxdp.h49 int mlx5e_xdp_max_mtu(struct mlx5e_params *params, struct mlx5e_xsk_param *xsk);
Dxdp.c38 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.10/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/
Dpool.c23 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 …]
Dsetup.c15 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
43 mlx5e_build_rq_param(priv, params, xsk, &cparam->rq); in mlx5e_build_xsk_cparam()
48 struct mlx5e_xsk_param *xsk, struct xsk_buff_pool *pool, in mlx5e_open_xsk() argument
54 if (!mlx5e_validate_xsk_param(params, xsk, priv->mdev)) in mlx5e_open_xsk()
[all …]
Dpool.h10 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);
Drx.h25 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()
Dsetup.h12 struct mlx5e_xsk_param *xsk,
15 struct mlx5e_xsk_param *xsk, struct xsk_buff_pool *pool,
Drx.c32 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.10/tools/lib/bpf/
Dxsk.c107 int xsk_socket__fd(const struct xsk_socket *xsk) in xsk_socket__fd() argument
109 return xsk ? xsk->fd : -EINVAL; in xsk_socket__fd()
354 static int xsk_load_xdp_prog(struct xsk_socket *xsk) in xsk_load_xdp_prog() argument
357 struct xsk_ctx *ctx = xsk->ctx; in xsk_load_xdp_prog()
427 err = bpf_set_link_xdp_fd(xsk->ctx->ifindex, prog_fd, in xsk_load_xdp_prog()
428 xsk->config.xdp_flags); in xsk_load_xdp_prog()
438 static int xsk_get_max_queues(struct xsk_socket *xsk) in xsk_get_max_queues() argument
441 struct xsk_ctx *ctx = xsk->ctx; in xsk_get_max_queues()
476 static int xsk_create_bpf_maps(struct xsk_socket *xsk) in xsk_create_bpf_maps() argument
478 struct xsk_ctx *ctx = xsk->ctx; in xsk_create_bpf_maps()
[all …]
Dxsk.h187 LIBBPF_API int xsk_socket__fd(const struct xsk_socket *xsk);
231 LIBBPF_API int xsk_socket__create(struct xsk_socket **xsk,
249 LIBBPF_API void xsk_socket__delete(struct xsk_socket *xsk);
DBuild2 netlink.o bpf_prog_linfo.o libbpf_probes.o xsk.o hashmap.o \
DMakefile254 $(call do_install,xsk.h,$(prefix)/include/bpf,644); \
/Linux-v5.10/samples/bpf/
Dxdpsock_user.c147 struct xsk_socket *xsk; member
193 static int xsk_get_xdp_stats(int fd, struct xsk_socket_info *xsk) in xsk_get_xdp_stats() argument
205 xsk->ring_stats.rx_dropped_npkts = stats.rx_dropped; in xsk_get_xdp_stats()
206 xsk->ring_stats.rx_invalid_npkts = stats.rx_invalid_descs; in xsk_get_xdp_stats()
207 xsk->ring_stats.tx_invalid_npkts = stats.tx_invalid_descs; in xsk_get_xdp_stats()
208 xsk->ring_stats.rx_full_npkts = stats.rx_ring_full; in xsk_get_xdp_stats()
209 xsk->ring_stats.rx_fill_empty_npkts = stats.rx_fill_ring_empty_descs; in xsk_get_xdp_stats()
210 xsk->ring_stats.tx_empty_npkts = stats.tx_ring_empty_descs; in xsk_get_xdp_stats()
381 if (!xsk_get_xdp_stats(xsk_socket__fd(xsks[i]->xsk), xsks[i])) { in dump_stats()
488 xsk_socket__delete(xsks[i]->xsk); in xdpsock_cleanup()
[all …]
Dxsk_fwd.c448 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.10/drivers/net/ethernet/mellanox/mlx5/core/
DMakefile27 en/reporter_tx.o en/reporter_rx.o en/params.o en/xsk/pool.o \
28 en/xsk/setup.o en/xsk/rx.o en/xsk/tx.o en/devlink.o
Den_main.c395 struct mlx5e_xsk_param *xsk, in mlx5e_alloc_rq() argument
435 if (xsk) in mlx5e_alloc_rq()
442 rq->buff.headroom = mlx5e_get_rq_headroom(mdev, params, xsk); in mlx5e_alloc_rq()
461 mlx5e_mpwqe_get_log_rq_size(params, xsk); in mlx5e_alloc_rq()
463 rq->mpwqe.log_stride_sz = mlx5e_mpwqe_get_log_stride_size(mdev, params, xsk); in mlx5e_alloc_rq()
465 BIT(mlx5e_mpwqe_get_log_num_strides(mdev, params, xsk)); in mlx5e_alloc_rq()
507 err = mlx5e_rq_set_handlers(rq, params, xsk); in mlx5e_alloc_rq()
511 if (xsk) { in mlx5e_alloc_rq()
863 struct mlx5e_rq_param *param, struct mlx5e_xsk_param *xsk, in mlx5e_open_rq() argument
868 err = mlx5e_alloc_rq(c, params, xsk, xsk_pool, param, rq); in mlx5e_open_rq()
[all …]
Den.h262 struct mlx5e_xsk *xsk; member
384 struct xdp_buff *xsk; member
548 int mlx5e_rq_set_handlers(struct mlx5e_rq *rq, struct mlx5e_params *params, bool xsk);
828 struct mlx5e_xsk xsk; member
911 struct mlx5e_rq_param *param, struct mlx5e_xsk_param *xsk,
1090 struct mlx5e_xsk *xsk,
Den_rx.c330 xsk_buff_free(dma_info->xsk); in mlx5e_page_release()
1772 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()
1800 rq->wqe.skb_from_cqe = xsk ? in mlx5e_rq_set_handlers()
Den_stats.c1676 (NUM_XSKRQ_STATS * max_nch * priv->xsk.ever_used) + in MLX5E_DECLARE_STATS_GRP_OP_NUM_STATS()
1677 (NUM_XSKSQ_STATS * max_nch * priv->xsk.ever_used); in MLX5E_DECLARE_STATS_GRP_OP_NUM_STATS()
1682 bool is_xsk = priv->xsk.ever_used; in MLX5E_DECLARE_STATS_GRP_OP_FILL_STRS()
1724 bool is_xsk = priv->xsk.ever_used; in MLX5E_DECLARE_STATS_GRP_OP_FILL_STATS()
Den_ethtool.c400 if (priv->xsk.refcnt) { in mlx5e_ethtool_get_channels()
440 if (priv->xsk.refcnt) { in mlx5e_ethtool_set_channels()
/Linux-v5.10/net/xdp/
DMakefile2 obj-$(CONFIG_XDP_SOCKETS) += xsk.o xdp_umem.o xsk_queue.o xskmap.o
Dxsk_buff_pool.c113 bpf.xsk.pool = NULL; in xp_disable_drv_zc()
114 bpf.xsk.queue_id = pool->queue_id; in xp_disable_drv_zc()
169 bpf.xsk.pool = pool; in __xp_assign_dev()
170 bpf.xsk.queue_id = queue_id; in __xp_assign_dev()
/Linux-v5.10/Documentation/networking/
Daf_xdp.rst212 in tools/lib/bpf/xsk.h for facilitating the use of AF_XDP. It
464 The XDP code sample included in tools/lib/bpf/xsk.c is the following:
558 code in tools/lib/bpf/xsk.[ch].

12