Home
last modified time | relevance | path

Searched refs:xdp (Results 1 – 25 of 616) sorted by relevance

12345678910>>...25

/linux/include/net/
A Dxdp.h82 xdp->frame_sz = frame_sz; in xdp_init_buff()
83 xdp->rxq = rxq; in xdp_init_buff()
93 xdp->data = data; in xdp_prepare_buff()
105 ((xdp)->data_hard_start + (xdp)->frame_sz - \
179 xdp->data = frame->data; in xdp_convert_frame_to_buff()
192 headroom = xdp->data - xdp->data_hard_start; in xdp_update_frame_from_buff()
193 metasize = xdp->data - xdp->data_meta; in xdp_update_frame_from_buff()
199 if (unlikely(xdp->data_end > xdp_data_hard_end(xdp))) { in xdp_update_frame_from_buff()
205 xdp_frame->len = xdp->data_end - xdp->data; in xdp_update_frame_from_buff()
270 xdp->data_meta = xdp->data + 1; in xdp_set_data_meta_invalid()
[all …]
A Dxdp_sock_drv.h61 static inline dma_addr_t xsk_buff_xdp_get_dma(struct xdp_buff *xdp) in xsk_buff_xdp_get_dma() argument
63 struct xdp_buff_xsk *xskb = container_of(xdp, struct xdp_buff_xsk, xdp); in xsk_buff_xdp_get_dma()
70 struct xdp_buff_xsk *xskb = container_of(xdp, struct xdp_buff_xsk, xdp); in xsk_buff_xdp_get_frame_dma()
83 return xp_alloc_batch(pool, xdp, max); in xsk_buff_alloc_batch()
91 static inline void xsk_buff_free(struct xdp_buff *xdp) in xsk_buff_free() argument
93 struct xdp_buff_xsk *xskb = container_of(xdp, struct xdp_buff_xsk, xdp); in xsk_buff_free()
100 xdp->data = xdp->data_hard_start + XDP_PACKET_HEADROOM; in xsk_buff_set_size()
101 xdp->data_meta = xdp->data; in xsk_buff_set_size()
102 xdp->data_end = xdp->data + size; in xsk_buff_set_size()
118 struct xdp_buff_xsk *xskb = container_of(xdp, struct xdp_buff_xsk, xdp); in xsk_buff_dma_sync_for_cpu()
[all …]
/linux/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/
A Drx.c32 struct xdp_buff *xdp = wi->umr.dma_info[page_idx].xsk; in mlx5e_xsk_skb_from_cqe_mpwrq_linear() local
48 xdp->data_end = xdp->data + cqe_bcnt32; in mlx5e_xsk_skb_from_cqe_mpwrq_linear()
49 xdp_set_data_meta_invalid(xdp); in mlx5e_xsk_skb_from_cqe_mpwrq_linear()
50 xsk_buff_dma_sync_for_cpu(xdp, rq->xsk_pool); in mlx5e_xsk_skb_from_cqe_mpwrq_linear()
51 net_prefetch(xdp->data); in mlx5e_xsk_skb_from_cqe_mpwrq_linear()
85 struct xdp_buff *xdp = wi->di->xsk; in mlx5e_xsk_skb_from_cqe_linear() local
94 xdp->data_end = xdp->data + cqe_bcnt; in mlx5e_xsk_skb_from_cqe_linear()
95 xdp_set_data_meta_invalid(xdp); in mlx5e_xsk_skb_from_cqe_linear()
96 xsk_buff_dma_sync_for_cpu(xdp, rq->xsk_pool); in mlx5e_xsk_skb_from_cqe_linear()
97 net_prefetch(xdp->data); in mlx5e_xsk_skb_from_cqe_linear()
[all …]
/linux/drivers/net/ethernet/intel/ixgbe/
A Dixgbe_xsk.c165 if (!bi->xdp) { in ixgbe_alloc_rx_buffers_zc()
212 unsigned int metasize = bi->xdp->data - bi->xdp->data_meta; in ixgbe_construct_skb_zc()
213 unsigned int datasize = bi->xdp->data_end - bi->xdp->data; in ixgbe_construct_skb_zc()
218 bi->xdp->data_end - bi->xdp->data_hard_start, in ixgbe_construct_skb_zc()
223 skb_reserve(skb, bi->xdp->data - bi->xdp->data_hard_start); in ixgbe_construct_skb_zc()
229 bi->xdp = NULL; in ixgbe_construct_skb_zc()
284 bi->xdp = NULL; in ixgbe_clean_rx_irq_zc()
294 bi->xdp = NULL; in ixgbe_clean_rx_irq_zc()
300 bi->xdp->data_end = bi->xdp->data + size; in ixgbe_clean_rx_irq_zc()
374 if (!bi->xdp) in ixgbe_xsk_clean_rx_ring()
[all …]
/linux/tools/testing/selftests/bpf/progs/
A Dtest_xdp.c80 void *data_end = (void *)(long)xdp->data_end; in handle_ipv4()
81 void *data = (void *)(long)xdp->data; in handle_ipv4()
114 data = (void *)(long)xdp->data; in handle_ipv4()
115 data_end = (void *)(long)xdp->data_end; in handle_ipv4()
154 void *data = (void *)(long)xdp->data; in handle_ipv6()
184 data = (void *)(long)xdp->data; in handle_ipv6()
185 data_end = (void *)(long)xdp->data_end; in handle_ipv6()
212 int _xdp_tx_iptunnel(struct xdp_md *xdp) in _xdp_tx_iptunnel() argument
215 void *data = (void *)(long)xdp->data; in _xdp_tx_iptunnel()
225 return handle_ipv4(xdp); in _xdp_tx_iptunnel()
[all …]
A Dtest_xdp_loop.c76 void *data_end = (void *)(long)xdp->data_end; in handle_ipv4()
77 void *data = (void *)(long)xdp->data; in handle_ipv4()
110 data = (void *)(long)xdp->data; in handle_ipv4()
111 data_end = (void *)(long)xdp->data_end; in handle_ipv4()
150 void *data = (void *)(long)xdp->data; in handle_ipv6()
180 data = (void *)(long)xdp->data; in handle_ipv6()
181 data_end = (void *)(long)xdp->data_end; in handle_ipv6()
208 int _xdp_tx_iptunnel(struct xdp_md *xdp) in _xdp_tx_iptunnel() argument
211 void *data = (void *)(long)xdp->data; in _xdp_tx_iptunnel()
221 return handle_ipv4(xdp); in _xdp_tx_iptunnel()
[all …]
A Dtest_xdp_bpf2bpf.c45 int BPF_PROG(trace_on_entry, struct xdp_buff *xdp) in BPF_PROG() argument
48 void *data_end = (void *)(long)xdp->data_end; in BPF_PROG()
49 void *data = (void *)(long)xdp->data; in BPF_PROG()
51 meta.ifindex = xdp->rxq->dev->ifindex; in BPF_PROG()
53 bpf_xdp_output(xdp, &perf_buf_map, in BPF_PROG()
58 test_result_fentry = xdp->rxq->dev->ifindex; in BPF_PROG()
64 int BPF_PROG(trace_on_exit, struct xdp_buff *xdp, int ret) in BPF_PROG() argument
A Dtest_xdp_adjust_tail_shrink.c13 int _xdp_adjust_tail_shrink(struct xdp_md *xdp) in _xdp_adjust_tail_shrink() argument
15 void *data_end = (void *)(long)xdp->data_end; in _xdp_adjust_tail_shrink()
16 void *data = (void *)(long)xdp->data; in _xdp_adjust_tail_shrink()
23 if (bpf_xdp_adjust_tail(xdp, 0 - offset)) in _xdp_adjust_tail_shrink()
A Dtest_xdp_context_test_run.c6 int xdp_context(struct xdp_md *xdp) in xdp_context() argument
8 void *data = (void *)(long)xdp->data; in xdp_context()
9 __u32 *metadata = (void *)(long)xdp->data_meta; in xdp_context()
15 if (bpf_xdp_adjust_meta(xdp, 4)) in xdp_context()
A Dtest_xdp_adjust_tail_grow.c6 int _xdp_adjust_tail_grow(struct xdp_md *xdp) in _xdp_adjust_tail_grow() argument
8 void *data_end = (void *)(long)xdp->data_end; in _xdp_adjust_tail_grow()
9 void *data = (void *)(long)xdp->data; in _xdp_adjust_tail_grow()
28 if (bpf_xdp_adjust_tail(xdp, offset)) in _xdp_adjust_tail_grow()
A Dtest_xdp_noinline.c291 data = (void *)(long)xdp->data; in encap_v6()
292 data_end = (void *)(long)xdp->data_end; in encap_v6()
339 data = (void *)(long)xdp->data; in encap_v4()
340 data_end = (void *)(long)xdp->data_end; in encap_v4()
390 *data = (void *)(long)xdp->data; in decap_v6()
391 *data_end = (void *)(long)xdp->data_end; in decap_v6()
408 *data = (void *)(long)xdp->data; in decap_v4()
409 *data_end = (void *)(long)xdp->data_end; in decap_v4()
692 bool is_ipv6, struct xdp_md *xdp) in process_packet() argument
792 data = (void *)(long)xdp->data; in process_packet()
[all …]
/linux/samples/bpf/
A Dxdp_tx_iptunnel_kern.c79 void *data_end = (void *)(long)xdp->data_end; in handle_ipv4()
80 void *data = (void *)(long)xdp->data; in handle_ipv4()
115 data = (void *)(long)xdp->data; in handle_ipv4()
116 data_end = (void *)(long)xdp->data_end; in handle_ipv4()
155 void *data = (void *)(long)xdp->data; in handle_ipv6()
187 data = (void *)(long)xdp->data; in handle_ipv6()
188 data_end = (void *)(long)xdp->data_end; in handle_ipv6()
216 int _xdp_tx_iptunnel(struct xdp_md *xdp) in _xdp_tx_iptunnel() argument
219 void *data = (void *)(long)xdp->data; in _xdp_tx_iptunnel()
229 return handle_ipv4(xdp); in _xdp_tx_iptunnel()
[all …]
A Dxdp_adjust_tail_kern.c74 if (bpf_xdp_adjust_head(xdp, 0 - headroom)) in send_icmp4_too_big()
76 void *data = (void *)(long)xdp->data; in send_icmp4_too_big()
77 void *data_end = (void *)(long)xdp->data_end; in send_icmp4_too_big()
122 void *data_end = (void *)(long)xdp->data_end; in handle_ipv4()
123 void *data = (void *)(long)xdp->data; in handle_ipv4()
129 if (bpf_xdp_adjust_tail(xdp, 0 - offset)) in handle_ipv4()
131 return send_icmp4_too_big(xdp); in handle_ipv4()
137 int _xdp_icmp(struct xdp_md *xdp) in _xdp_icmp() argument
139 void *data_end = (void *)(long)xdp->data_end; in _xdp_icmp()
140 void *data = (void *)(long)xdp->data; in _xdp_icmp()
[all …]
/linux/drivers/net/hyperv/
A Dnetvsc_bpf.c24 struct xdp_buff *xdp) in netvsc_run_xdp() argument
32 xdp->data_hard_start = NULL; in netvsc_run_xdp()
53 xdp_init_buff(xdp, PAGE_SIZE, &nvchan->xdp_rxq); in netvsc_run_xdp()
56 memcpy(xdp->data, data, len); in netvsc_run_xdp()
58 act = bpf_prog_run_xdp(prog, xdp); in netvsc_run_xdp()
79 xdp->data_hard_start = NULL; in netvsc_run_xdp()
139 struct netdev_bpf xdp; in netvsc_vf_setxdp() local
152 memset(&xdp, 0, sizeof(xdp)); in netvsc_vf_setxdp()
157 xdp.command = XDP_SETUP_PROG; in netvsc_vf_setxdp()
158 xdp.prog = prog; in netvsc_vf_setxdp()
[all …]
/linux/include/trace/events/
A Dxdp.h3 #define TRACE_SYSTEM xdp
31 const struct bpf_prog *xdp, u32 act),
33 TP_ARGS(dev, xdp, act),
42 __entry->prog_id = xdp->aux->id;
92 const struct bpf_prog *xdp,
123 __entry->prog_id = xdp->aux->id;
142 const struct bpf_prog *xdp,
151 const struct bpf_prog *xdp,
158 #define _trace_xdp_redirect(dev, xdp, to) \ argument
173 const struct bpf_prog *xdp,
[all …]
/linux/drivers/net/ethernet/intel/ice/
A Dice_xsk.c375 struct xdp_buff **xdp; in ice_alloc_rx_bufs_zc() local
394 xdp++; in ice_alloc_rx_bufs_zc()
431 unsigned int datasize_hard = xdp->data_end - xdp->data_hard_start; in ice_construct_skb_zc()
432 unsigned int metasize = xdp->data - xdp->data_meta; in ice_construct_skb_zc()
433 unsigned int datasize = xdp->data_end - xdp->data; in ice_construct_skb_zc()
441 skb_reserve(skb, xdp->data - xdp->data_hard_start); in ice_construct_skb_zc()
446 xsk_buff_free(xdp); in ice_construct_skb_zc()
522 struct xdp_buff *xdp; in ice_clean_rx_irq_zc() local
545 xdp->data = NULL; in ice_clean_rx_irq_zc()
560 xsk_buff_free(xdp); in ice_clean_rx_irq_zc()
[all …]
/linux/drivers/net/ethernet/broadcom/bnxt/
A Dbnxt_xdp.c118 struct xdp_buff xdp; in bnxt_rx_xdp() local
139 orig_data = xdp.data; in bnxt_rx_xdp()
141 act = bpf_prog_run_xdp(xdp_prog, &xdp); in bnxt_rx_xdp()
150 *len = xdp.data_end - xdp.data; in bnxt_rx_xdp()
151 if (orig_data != xdp.data) { in bnxt_rx_xdp()
152 offset = xdp.data - xdp.data_hard_start; in bnxt_rx_xdp()
231 struct xdp_frame *xdp = frames[i]; in bnxt_xdp_xmit() local
237 mapping = dma_map_single(&pdev->dev, xdp->data, xdp->len, in bnxt_xdp_xmit()
243 __bnxt_xmit_xdp_redirect(bp, txr, mapping, xdp->len, xdp); in bnxt_xdp_xmit()
320 switch (xdp->command) { in bnxt_xdp()
[all …]
/linux/tools/testing/selftests/bpf/
A Dtest_xdp_veth.sh61 if ! ip link set dev lo xdp off > /dev/null 2>&1; then
101 xdp_redirect_map.o $BPF_DIR/progs type xdp \
106 ip link set dev veth1 xdp pinned $BPF_DIR/progs/redirect_map_0
107 ip link set dev veth2 xdp pinned $BPF_DIR/progs/redirect_map_1
108 ip link set dev veth3 xdp pinned $BPF_DIR/progs/redirect_map_2
110 ip -n ns1 link set dev veth11 xdp obj xdp_dummy.o sec xdp
111 ip -n ns2 link set dev veth22 xdp obj xdp_tx.o sec xdp
112 ip -n ns3 link set dev veth33 xdp obj xdp_dummy.o sec xdp
A Dtest_tcp_check_syncookie_user.c81 static int get_map_fd_by_prog_id(int prog_id, bool *xdp) in get_map_fd_by_prog_id() argument
108 *xdp = info.type == BPF_PROG_TYPE_XDP; in get_map_fd_by_prog_id()
119 static int run_test(int server_fd, int results_fd, bool xdp) in run_test() argument
170 if (xdp && value_gen == 0) { in run_test()
210 bool xdp; in main() local
217 results = get_map_fd_by_prog_id(atoi(argv[1]), &xdp); in main()
242 if (run_test(server, results, xdp)) in main()
245 if (run_test(server_v6, results, xdp)) in main()
/linux/drivers/net/ethernet/intel/i40e/
A Di40e_xsk.c196 struct xdp_buff **xdp; in i40e_alloc_rx_buffers_zc() local
201 xdp = i40e_rx_bi(rx_ring, ntu); in i40e_alloc_rx_buffers_zc()
210 dma = xsk_buff_xdp_get_dma(*xdp); in i40e_alloc_rx_buffers_zc()
215 xdp++; in i40e_alloc_rx_buffers_zc()
221 xdp = i40e_rx_bi(rx_ring, 0); in i40e_alloc_rx_buffers_zc()
242 struct xdp_buff *xdp) in i40e_construct_skb_zc() argument
244 unsigned int metasize = xdp->data - xdp->data_meta; in i40e_construct_skb_zc()
245 unsigned int datasize = xdp->data_end - xdp->data; in i40e_construct_skb_zc()
250 xdp->data_end - xdp->data_hard_start, in i40e_construct_skb_zc()
255 skb_reserve(skb, xdp->data - xdp->data_hard_start); in i40e_construct_skb_zc()
[all …]
/linux/net/xdp/
A Dxsk_buff_pool.c105 pool->heads[i].xdp.rxq = rxq; in xp_set_rxq_info()
507 xskb->xdp.data = xskb->xdp.data_hard_start + XDP_PACKET_HEADROOM; in xp_alloc()
508 xskb->xdp.data_meta = xskb->xdp.data; in xp_alloc()
515 return &xskb->xdp; in xp_alloc()
554 *xdp = &xskb->xdp; in xp_alloc_new_from_fq()
555 xdp++; in xp_alloc_new_from_fq()
574 *xdp = &xskb->xdp; in xp_alloc_reused()
575 xdp++; in xp_alloc_reused()
588 *xdp = xp_alloc(pool); in xp_alloc_batch()
589 return !!*xdp; in xp_alloc_batch()
[all …]
A Dxsk.c139 struct xdp_buff_xsk *xskb = container_of(xdp, struct xdp_buff_xsk, xdp); in __xsk_rcv_zc()
178 len = xdp->data_end - xdp->data; in __xsk_rcv()
222 if (xs->dev != xdp->rxq->dev || xs->queue_id != xdp->rxq->queue_index) in xsk_rcv_check()
241 err = xsk_rcv_check(xs, xdp); in xsk_generic_rcv()
243 err = __xsk_rcv(xs, xdp); in xsk_generic_rcv()
255 err = xsk_rcv_check(xs, xdp); in xsk_rcv()
260 len = xdp->data_end - xdp->data; in xsk_rcv()
264 err = __xsk_rcv(xs, xdp); in xsk_rcv()
266 xdp_return_buff(xdp); in xsk_rcv()
275 err = xsk_rcv(xs, xdp); in __xsk_map_redirect()
[all …]
/linux/net/core/
A Dxdp.c341 struct xdp_buff *xdp) in __xdp_return() argument
366 xsk_buff_free(xdp); in __xdp_return()
441 void xdp_return_buff(struct xdp_buff *xdp) in xdp_return_buff() argument
443 __xdp_return(xdp->data, &xdp->rxq->mem, true, xdp); in xdp_return_buff()
471 struct xdp_frame *xdp_convert_zc_to_xdp_frame(struct xdp_buff *xdp) in xdp_convert_zc_to_xdp_frame() argument
479 metasize = xdp_data_meta_unsupported(xdp) ? 0 : in xdp_convert_zc_to_xdp_frame()
480 xdp->data - xdp->data_meta; in xdp_convert_zc_to_xdp_frame()
481 totsize = xdp->data_end - xdp->data + metasize; in xdp_convert_zc_to_xdp_frame()
495 data_to_copy = metasize ? xdp->data_meta : xdp->data; in xdp_convert_zc_to_xdp_frame()
505 xsk_buff_free(xdp); in xdp_convert_zc_to_xdp_frame()
/linux/tools/bpf/bpftool/Documentation/
A Dbpftool-net.rst29 | *ATTACH_TYPE* := { **xdp** | **xdpgeneric** | **xdpdrv** | **xdpoffload** }
36 Currently, only device driver xdp attachments and tc filter
47 The current output will start with all xdp program attachments, followed by
48 all tc class/qdisc bpf program attachments. Both xdp programs and
62 … **xdp** - try native XDP and fallback to generic XDP if NIC driver does not support it;
87 xdp:
103 "xdp": [{
154 xdp:
164 xdp:
174 xdp:
/linux/kernel/bpf/
A Ddevmap.c330 struct xdp_buff xdp; in dev_map_bpf_prog_run() local
338 xdp_convert_frame_to_buff(xdpf, &xdp); in dev_map_bpf_prog_run()
339 xdp.txq = &txq; in dev_map_bpf_prog_run()
480 err = xdp_ok_fwd_dev(dev, xdp->data_end - xdp->data); in __xdp_enqueue()
484 xdpf = xdp_convert_buff_to_frame(xdp); in __xdp_enqueue()
495 struct xdp_buff xdp; in dev_map_bpf_prog_run_skb() local
502 xdp.txq = &txq; in dev_map_bpf_prog_run_skb()
543 if (xdp_ok_fwd_dev(obj->dev, xdp->data_end - xdp->data)) in is_valid_dst()
606 xdpf = xdp_convert_buff_to_frame(xdp); in dev_map_enqueue_multi()
614 if (!is_valid_dst(dst, xdp)) in dev_map_enqueue_multi()
[all …]

Completed in 43 milliseconds

12345678910>>...25