Home
last modified time | relevance | path

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

12

/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/
H A Dpool.c25 if (!xsk->pools) { 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()
40 if (!--xsk->refcnt) { in mlx5e_xsk_put_pools()
41 kfree(xsk->pools); in mlx5e_xsk_put_pools()
42 xsk->pools = NULL; in mlx5e_xsk_put_pools()
54 xsk->pools[ix] = pool; in mlx5e_xsk_add_pool()
60 xsk->pools[ix] = NULL; in mlx5e_xsk_remove_pool()
62 mlx5e_xsk_put_pools(xsk); in mlx5e_xsk_remove_pool()
[all …]
H A Dsetup.c12 struct mlx5e_xsk_param *xsk) in mlx5e_legacy_rq_validate_xsk() argument
14 if (!mlx5e_rx_is_linear_skb(mdev, params, xsk)) { in mlx5e_legacy_rq_validate_xsk()
28 struct mlx5e_xsk_param *xsk, in mlx5e_validate_xsk_param() argument
34 if ((size_t)xsk->chunk_size > PAGE_SIZE || xsk->chunk_size < MLX5E_MIN_XSK_CHUNK_SIZE) { in mlx5e_validate_xsk_param()
45 return !mlx5e_mpwrq_validate_xsk(mdev, params, xsk); in mlx5e_validate_xsk_param()
53 struct mlx5e_xsk_param *xsk, in mlx5e_build_xsk_cparam() argument
56 mlx5e_build_rq_param(mdev, params, xsk, &cparam->rq); in mlx5e_build_xsk_cparam()
63 struct mlx5e_xsk_param *xsk, in mlx5e_init_xsk_rq() argument
86 err = mlx5e_rq_set_handlers(rq, params, xsk); in mlx5e_init_xsk_rq()
95 struct mlx5e_xsk_param *xsk) in mlx5e_open_xsk_rq() argument
[all …]
H A 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);
H A Dsetup.h12 struct mlx5e_xsk_param *xsk,
15 struct mlx5e_xsk_param *xsk, struct xsk_buff_pool *pool,
/linux-6.15/tools/testing/selftests/bpf/prog_tests/
H A Dxdp_metadata.c49 struct xsk { struct
59 static int open_xsk(int ifindex, struct xsk *xsk) in open_xsk() argument
93 xsk->umem, in open_xsk()
94 &xsk->rx, in open_xsk()
95 &xsk->tx, in open_xsk()
127 static void close_xsk(struct xsk *xsk) in close_xsk() argument
129 if (xsk->umem) in close_xsk()
131 if (xsk->socket) in close_xsk()
136 static int generate_packet(struct xsk *xsk, __u16 dst_port) in generate_packet() argument
227 static void complete_tx(struct xsk *xsk) in complete_tx() argument
[all …]
/linux-6.15/tools/testing/selftests/bpf/
H A Dxdp_hw_metadata.c58 struct xsk { struct
125 xsk->umem, in open_xsk()
126 &xsk->rx, in open_xsk()
127 &xsk->tx, in open_xsk()
154 static void close_xsk(struct xsk *xsk) in close_xsk() argument
156 if (xsk->umem) in close_xsk()
163 static void refill_rx(struct xsk *xsk, __u64 addr) in refill_rx() argument
174 static int kick_tx(struct xsk *xsk) in kick_tx() argument
179 static int kick_rx(struct xsk *xsk) in kick_rx() argument
304 static bool complete_tx(struct xsk *xsk, clockid_t clock_id) in complete_tx() argument
[all …]
H A Dxsk.c99 return xsk ? xsk->fd : -EINVAL; in xsk_socket__fd()
560 xsk = calloc(1, sizeof(*xsk)); in xsk_socket__create_shared()
561 if (!xsk) in xsk_socket__create_shared()
593 xsk->ctx = ctx; in xsk_socket__create_shared()
643 xsk->rx = rx; in xsk_socket__create_shared()
667 xsk->tx = tx; in xsk_socket__create_shared()
685 *xsk_ptr = xsk; in xsk_socket__create_shared()
704 free(xsk); in xsk_socket__create_shared()
754 if (!xsk) in xsk_socket__delete()
757 ctx = xsk->ctx; in xsk_socket__delete()
[all …]
H A Dxskxceiver.c310 if (!xsk) in ifobj_zc_avail()
319 xsk_socket__delete(xsk->xsk); in ifobj_zc_avail()
1133 fds.fd = xsk_socket__fd(xsk->xsk); in __receive_pkts()
1317 fds.fd = xsk_socket__fd(xsk->xsk); in __send_pkts()
1320 while (xsk_ring_prod__reserve(&xsk->tx, xsk->batch_size, &idx) < xsk->batch_size) { in __send_pkts()
1340 complete_pkts(xsk, xsk->batch_size); in __send_pkts()
1441 complete_pkts(xsk, xsk->batch_size); in wait_for_tx_completion()
1511 struct xsk_socket *xsk = ifobject->xsk->xsk; in validate_rx_dropped() local
1538 struct xsk_socket *xsk = ifobject->xsk->xsk; in validate_rx_full() local
1559 struct xsk_socket *xsk = ifobject->xsk->xsk; in validate_fill_empty() local
[all …]
H A Dxsk.h188 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);
H A Dxskxceiver.h91 struct xsk_socket *xsk; member
131 struct xsk_socket_info *xsk; member
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/en/
H A Dparams.c25 u8 req_page_shift = xsk ? order_base_2(xsk->chunk_size) : PAGE_SHIFT; in mlx5e_mpwrq_page_shift()
48 bool unaligned = xsk ? xsk->unaligned : false; in mlx5e_mpwrq_umr_mode()
51 if (xsk) { in mlx5e_mpwrq_umr_mode()
69 if (xsk->chunk_size % 3 == 0 && is_power_of_2(xsk->chunk_size / 3)) in mlx5e_mpwrq_umr_mode()
231 if (xsk) in mlx5e_get_linear_rq_headroom()
232 return xsk->headroom; in mlx5e_get_linear_rq_headroom()
248 return xsk->headroom + hw_mtu; in mlx5e_rx_get_linear_sz_xsk()
274 if (xsk) in mlx5e_rx_get_linear_stride_sz()
321 if (xsk && mlx5e_rx_get_linear_sz_xsk(params, xsk) > xsk->chunk_size) in mlx5e_rx_is_linear_skb()
1166 xsk.unaligned = true; in mlx5e_build_icosq_log_wq_sz()
[all …]
H A Dparams.h82 struct mlx5e_xsk_param *xsk);
88 struct mlx5e_xsk_param *xsk);
91 struct mlx5e_xsk_param *xsk);
94 struct mlx5e_xsk_param *xsk);
97 struct mlx5e_xsk_param *xsk);
113 struct mlx5e_xsk_param *xsk);
116 struct mlx5e_xsk_param *xsk);
120 struct mlx5e_xsk_param *xsk);
127 struct mlx5e_xsk_param *xsk,
141 struct mlx5e_xsk_param *xsk,
[all …]
H A Drx_res.h47 unsigned int ix, bool xsk);
/linux-6.15/tools/testing/selftests/bpf/progs/
H A Dxsk_xdp_progs.c14 } xsk SEC(".maps");
21 return bpf_redirect_map(&xsk, 0, XDP_DROP); in xsk_def_prog()
30 return bpf_redirect_map(&xsk, 0, XDP_DROP); in xsk_xdp_drop()
53 return bpf_redirect_map(&xsk, 0, XDP_DROP); in xsk_xdp_populate_metadata()
70 return bpf_redirect_map(&xsk, idx, XDP_DROP); in xsk_xdp_shared_umem()
H A Dxdp_metadata.c13 } xsk SEC(".maps");
95 return bpf_redirect_map(&xsk, ctx->rx_queue_index, XDP_PASS); in rx()
H A Dxdp_hw_metadata.c13 } xsk SEC(".maps");
114 return bpf_redirect_map(&xsk, ctx->rx_queue_index, XDP_PASS); in rx()
/linux-6.15/Documentation/bpf/
H A Dmap_xskmap.rst21 | xsk A | xsk B | xsk C |<---+ User space
28 | | key | xsk | | |
30 | | | | 0 | xsk A | | |
32 | | | | 1 | xsk B | | |
34 | | prog | | 2 | xsk C | |
/linux-6.15/net/xdp/
H A DMakefile2 obj-$(CONFIG_XDP_SOCKETS) += xsk.o xdp_umem.o xsk_queue.o xskmap.o
H A Dxsk_buff_pool.c151 bpf.xsk.pool = NULL; in xp_disable_drv_zc()
152 bpf.xsk.queue_id = pool->queue_id; in xp_disable_drv_zc()
222 bpf.xsk.pool = pool; in xp_assign_dev()
223 bpf.xsk.queue_id = queue_id; in xp_assign_dev()
/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/
H A DMakefile29 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 Den_main.c818 struct mlx5e_xsk_param *xsk, in mlx5e_alloc_rq() argument
914 if (xsk) { in mlx5e_alloc_rq()
2662 struct mlx5e_xsk_param xsk; in mlx5e_open_channel() local
2716 mlx5e_build_xsk_param(xsk_pool, &xsk); in mlx5e_open_channel()
4404 if (priv->xsk.refcnt) { in mlx5e_fix_features()
4407 priv->xsk.refcnt); in mlx5e_fix_features()
4412 priv->xsk.refcnt); in mlx5e_fix_features()
4450 struct mlx5e_xsk_param xsk; in mlx5e_xsk_validate_mtu() local
4539 if (priv->xsk.refcnt && in mlx5e_change_mtu()
5101 xdp->xsk.queue_id); in mlx5e_xdp()
[all …]
H A Den.h314 struct mlx5e_xsk *xsk; member
600 int mlx5e_rq_set_handlers(struct mlx5e_rq *rq, struct mlx5e_params *params, bool xsk);
936 struct mlx5e_xsk xsk; member
1029 struct mlx5e_xsk_param *xsk, int node, u16 q_counter,
1227 void mlx5e_build_nic_params(struct mlx5e_priv *priv, struct mlx5e_xsk *xsk, u16 mtu);
/linux-6.15/Documentation/netlink/specs/
H A Dnetdev.yaml28 name: xsk-zerocopy
63 name: xsk-flags
117 name: xsk-features
120 enum: xsk-flags
284 name: xsk-info
306 the xsk attribute.
323 name: xsk
326 nested-attributes: xsk-info
567 - xsk-features
671 - xsk
/linux-6.15/drivers/net/ethernet/freescale/dpaa2/
H A DMakefile10 …-eth-objs := dpaa2-eth.o dpaa2-ethtool.o dpni.o dpaa2-mac.o dpmac.o dpaa2-eth-devlink.o dpaa2-xsk.o
/linux-6.15/Documentation/networking/
H A Daf_xdp.rst212 in tools/lib/bpf/xsk.h for facilitating the use of AF_XDP. It
527 On the Rx path in copy-mode, the xsk core copies the XDP data into
557 The XDP code sample included in tools/lib/bpf/xsk.c is the following:
636 void rx_packets(struct xsk_socket_info *xsk)
644 xsk_ring_prod__reserve(&xsk->umem->fq, rcvd, &idx_fq);
664 xsk_ring_prod__submit(&xsk->umem->fq, rcvd);
665 xsk_ring_cons__release(&xsk->rx, rcvd);
678 void tx_packets(struct xsk_socket_info *xsk, struct pkt *pkts,
683 xsk_ring_prod__reserve(&xsk->tx, batch_size, &idx);
715 xsk_ring_prod__submit(&xsk->tx, i);
[all …]

12