Home
last modified time | relevance | path

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

123

/linux/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
80 xsk->umem_area = mmap(NULL, UMEM_SIZE, PROT_READ | PROT_WRITE, mmap_flags, -1, 0); in open_xsk()
81 if (!ASSERT_NEQ(xsk->umem_area, MAP_FAILED, "mmap")) in open_xsk()
84 ret = xsk_umem__create(&xsk->umem, in open_xsk()
85 xsk->umem_area, UMEM_SIZE, in open_xsk()
86 &xsk->fill, in open_xsk()
87 &xsk->comp, in open_xsk()
92 ret = xsk_socket__create(&xsk->socket, ifindex, QUEUE_ID, in open_xsk()
93 xsk->umem, in open_xsk()
[all …]
H A Dtest_xsk.c60 static void gen_eth_hdr(struct xsk_socket_info *xsk, struct ethhdr *eth_hdr) in gen_eth_hdr() argument
62 memcpy(eth_hdr->h_dest, xsk->dst_mac, ETH_ALEN); in gen_eth_hdr()
63 memcpy(eth_hdr->h_source, xsk->src_mac, ETH_ALEN); in gen_eth_hdr()
129 static int enable_busy_poll(struct xsk_socket_info *xsk) in enable_busy_poll() argument
134 if (setsockopt(xsk_socket__fd(xsk->xsk), SOL_SOCKET, SO_PREFER_BUSY_POLL, in enable_busy_poll()
139 if (setsockopt(xsk_socket__fd(xsk->xsk), SOL_SOCKET, SO_BUSY_POLL, in enable_busy_poll()
143 sock_opt = xsk->batch_size; in enable_busy_poll()
144 if (setsockopt(xsk_socket__fd(xsk->xsk), SOL_SOCKET, SO_BUSY_POLL_BUDGET, in enable_busy_poll()
151 int xsk_configure_socket(struct xsk_socket_info *xsk, struct xsk_umem_info *umem, in xsk_configure_socket() argument
158 xsk->umem = umem; in xsk_configure_socket()
[all …]
H A Dtest_xsk.h88 struct xsk_socket *xsk; member
98 int kick_rx(struct xsk_socket_info *xsk);
99 int kick_tx(struct xsk_socket_info *xsk);
126 struct xsk_socket_info *xsk; member
160 int xsk_configure_socket(struct xsk_socket_info *xsk, struct xsk_umem_info *umem,
/linux/tools/testing/selftests/bpf/
H A Dxdp_hw_metadata.c58 struct xsk { struct
70 struct xsk *rx_xsk; argument
92 static int open_xsk(int ifindex, struct xsk *xsk, __u32 queue_id) in open_xsk() argument
112 xsk->umem_area = mmap(NULL, UMEM_SIZE, PROT_READ | PROT_WRITE, mmap_flags, -1, 0); in open_xsk()
113 if (xsk->umem_area == MAP_FAILED) in open_xsk()
116 ret = xsk_umem__create(&xsk->umem, in open_xsk()
117 xsk->umem_area, UMEM_SIZE, in open_xsk()
118 &xsk->fill, in open_xsk()
119 &xsk->comp, in open_xsk()
124 ret = xsk_socket__create(&xsk->socket, ifindex, queue_id, in open_xsk()
[all …]
H A Dxsk.c97 int xsk_socket__fd(const struct xsk_socket *xsk) in xsk_socket__fd() argument
99 return xsk ? xsk->fd : -EINVAL; in xsk_socket__fd()
448 int xsk_update_xskmap(struct bpf_map *map, struct xsk_socket *xsk, u32 index) in xsk_update_xskmap() argument
453 sock_fd = xsk_socket__fd(xsk); in xsk_update_xskmap()
502 static struct xsk_ctx *xsk_create_ctx(struct xsk_socket *xsk, in xsk_create_ctx() argument
516 err = xsk_create_umem_rings(umem, xsk->fd, fill, comp); in xsk_create_ctx()
551 struct xsk_socket *xsk; in xsk_socket__create_shared() local
560 xsk = calloc(1, sizeof(*xsk)); in xsk_socket__create_shared()
561 if (!xsk) in xsk_socket__create_shared()
564 err = xsk_set_xdp_socket_config(&xsk->config, usr_config); in xsk_socket__create_shared()
[all …]
H A Dxskxceiver.c124 struct xsk_socket_info *xsk; in ifobj_zc_avail() local
144 xsk = calloc(1, sizeof(struct xsk_socket_info)); in ifobj_zc_avail()
145 if (!xsk) in ifobj_zc_avail()
149 xsk->rxqsize = XSK_RING_CONS__DEFAULT_NUM_DESCS; in ifobj_zc_avail()
150 ret = xsk_configure_socket(xsk, umem, ifobject, false); in ifobj_zc_avail()
154 xsk_socket__delete(xsk->xsk); in ifobj_zc_avail()
155 free(xsk); in ifobj_zc_avail()
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; global() member
132 struct xsk_socket_info *xsk; global() member
/linux/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/
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);
/linux/tools/testing/selftests/bpf/progs/
H A Dxsk_xdp_progs.c16 } xsk SEC(".maps");
24 return bpf_redirect_map(&xsk, 0, XDP_DROP); in xsk_def_prog()
35 return bpf_redirect_map(&xsk, 0, XDP_DROP); in xsk_xdp_drop()
58 return bpf_redirect_map(&xsk, 0, XDP_DROP); in xsk_xdp_populate_metadata()
75 return bpf_redirect_map(&xsk, idx, XDP_DROP); in xsk_xdp_shared_umem()
95 return bpf_redirect_map(&xsk, 0, XDP_DROP); in xsk_xdp_adjust_tail()
122 return bpf_redirect_map(&xsk, 0, XDP_DROP); in xsk_xdp_adjust_tail()
H A Dxdp_metadata.c13 } xsk SEC(".maps");
102 return bpf_redirect_map(&xsk, ctx->rx_queue_index, XDP_PASS);
H A Dxdp_hw_metadata.c13 } xsk SEC(".maps");
114 return bpf_redirect_map(&xsk, ctx->rx_queue_index, XDP_PASS); in rx()
/linux/drivers/net/ethernet/mellanox/mlx5/core/en/
H A Dparams.c29 struct mlx5e_xsk_param *xsk = mlx5e_rqo_xsk_param(rqo); in mlx5e_mpwrq_page_shift() local
33 if (xsk) in mlx5e_mpwrq_page_shift()
34 req_page_shift = order_base_2(xsk->chunk_size); in mlx5e_mpwrq_page_shift()
41 if (WARN_ON_ONCE(!xsk && req_page_shift < min_page_shift)) in mlx5e_mpwrq_page_shift()
60 struct mlx5e_xsk_param *xsk = mlx5e_rqo_xsk_param(rqo); in mlx5e_mpwrq_umr_mode() local
62 bool unaligned = xsk ? xsk->unaligned : false; in mlx5e_mpwrq_umr_mode()
65 if (xsk) { in mlx5e_mpwrq_umr_mode()
66 oversized = xsk->chunk_size < (1 << page_shift); in mlx5e_mpwrq_umr_mode()
67 WARN_ON_ONCE(xsk->chunk_size > (1 << page_shift)); in mlx5e_mpwrq_umr_mode()
83 if (xsk->chunk_size % 3 == 0 && is_power_of_2(xsk->chunk_size / 3)) in mlx5e_mpwrq_umr_mode()
[all …]
/linux/drivers/net/ethernet/intel/libeth/
H A Dtx.c13 DEFINE_STATIC_CALL_NULL(xsk, libeth_xsk_buff_free_slow);
28 static_call(xsk)); in libeth_tx_complete_any()
39 static_call_update(xsk, ops ? ops->xsk : NULL); in libeth_attach_xdp()
H A Dxsk.c18 libeth_xsk_buff_free_slow(bq[i].xsk); in libeth_xsk_tx_return_bulk()
133 const struct xdp_buff_xsk *xsk; in libeth_xsk_prog_exception() local
139 xsk = container_of(&xdp->base, typeof(*xsk), xdp); in libeth_xsk_prog_exception()
140 if (xsk_uses_need_wakeup(xsk->pool) && ret == -ENOBUFS) in libeth_xsk_prog_exception()
H A DMakefile12 libeth_xdp-y += xsk.o
H A Dpriv.h27 void (*xsk)(struct libeth_xdp_buff *xdp); member
/linux/include/net/libeth/
H A Dxsk.h28 .xsk = xdp, in libeth_xsk_tx_queue_head()
50 .xsk = frag, in libeth_xsk_tx_queue_frag()
115 struct libeth_xdp_buff *xdp = frm.xsk; in libeth_xsk_tx_fill_buf()
125 sqe->xsk = xdp; in libeth_xsk_tx_fill_buf()
549 __LIBETH_XDP_DEFINE_FLUSH_TX(name, prep, xmit, xsk)
557 u32 __LIBETH_XDP_DEFINE_RUN_PROG(name, flush, xsk)
566 bool __LIBETH_XDP_DEFINE_RUN_PASS(name, run, populate, xsk)
585 __LIBETH_XDP_DEFINE_FINALIZE(name, flush, finalize, xsk)
H A Dtx.h67 struct libeth_xdp_buff *xsk; member
H A Dxdp.h348 struct libeth_xdp_buff *xsk; member
1145 #define __libeth_xdp_tx_init_bulk(bq, pr, d, xdpsqs, num, xsk, ub, un) do { \ argument
1151 if (un || (xsk)) { \
1763 typeof(libeth_xsk_buff_free_slow) xsk) in __libeth_xdp_complete_tx() argument
1788 xsk(sqe->xsk); in __libeth_xdp_complete_tx()
/linux/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/drivers/net/ethernet/freescale/
H A Dfec_main.c2184 static struct sk_buff *fec_build_skb_zc(struct xdp_buff *xsk, in fec_build_skb_zc() argument
2187 size_t len = xdp_get_buff_len(xsk); in fec_build_skb_zc()
2192 xsk_buff_free(xsk); in fec_build_skb_zc()
2196 skb_put_data(skb, xsk->data, len); in fec_build_skb_zc()
2197 xsk_buff_free(xsk); in fec_build_skb_zc()
2203 struct xdp_buff *xsk, int cpu, in fec_enet_xsk_tx_xmit() argument
2208 u32 offset = xsk->data - xsk->data_hard_start; in fec_enet_xsk_tx_xmit()
2210 u32 len = xsk->data_end - xsk->data; in fec_enet_xsk_tx_xmit()
2232 dma = xsk_buff_xdp_get_frame_dma(xsk) + headroom + offset; in fec_enet_xsk_tx_xmit()
2236 txq->tx_buf[index].buf_p = xsk; in fec_enet_xsk_tx_xmit()
[all …]
/linux/net/xdp/
H A DMakefile2 obj-$(CONFIG_XDP_SOCKETS) += xsk.o xdp_umem.o xsk_queue.o xskmap.o
/linux/drivers/net/ethernet/intel/idpf/
H A DMakefile24 idpf-y += xsk.o
H A Dxsk.c485 xdp = rxq->xsk; in idpf_xskrq_poll()
536 rxq->xsk = xdp; in idpf_xskrq_poll()
556 struct xsk_buff_pool *pool = bpf->xsk.pool; in idpf_xsk_pool_setup()
557 u32 qid = bpf->xsk.queue_id; in idpf_xsk_pool_setup()

123