Home
last modified time | relevance | path

Searched refs:xdp (Results 1 - 25 of 321) sorted by relevance

12345678910>>...13

/kernel/linux/linux-5.10/include/net/
H A Dxdp.h2 /* include/net/xdp.h
84 #define xdp_data_hard_end(xdp) \
85 ((xdp)->data_hard_start + (xdp)->frame_sz - \
89 xdp_get_shared_info_from_buff(struct xdp_buff *xdp) in xdp_get_shared_info_from_buff() argument
91 return (struct skb_shared_info *)xdp_data_hard_end(xdp); in xdp_get_shared_info_from_buff()
134 struct xdp_frame *xdp_convert_zc_to_xdp_frame(struct xdp_buff *xdp);
137 void xdp_convert_frame_to_buff(struct xdp_frame *frame, struct xdp_buff *xdp) in xdp_convert_frame_to_buff() argument
139 xdp->data_hard_start = frame->data - frame->headroom - sizeof(*frame); in xdp_convert_frame_to_buff()
140 xdp in xdp_convert_frame_to_buff()
147 xdp_update_frame_from_buff(struct xdp_buff *xdp, struct xdp_frame *xdp_frame) xdp_update_frame_from_buff() argument
176 xdp_convert_buff_to_frame(struct xdp_buff *xdp) xdp_convert_buff_to_frame() argument
229 xdp_set_data_meta_invalid(struct xdp_buff *xdp) xdp_set_data_meta_invalid() argument
235 xdp_data_meta_unsupported(const struct xdp_buff *xdp) xdp_data_meta_unsupported() argument
[all...]
H A Dxdp_sock_drv.h60 static inline dma_addr_t xsk_buff_xdp_get_dma(struct xdp_buff *xdp) in xsk_buff_xdp_get_dma() argument
62 struct xdp_buff_xsk *xskb = container_of(xdp, struct xdp_buff_xsk, xdp); in xsk_buff_xdp_get_dma()
67 static inline dma_addr_t xsk_buff_xdp_get_frame_dma(struct xdp_buff *xdp) in xsk_buff_xdp_get_frame_dma() argument
69 struct xdp_buff_xsk *xskb = container_of(xdp, struct xdp_buff_xsk, xdp); in xsk_buff_xdp_get_frame_dma()
84 static inline void xsk_buff_free(struct xdp_buff *xdp) in xsk_buff_free() argument
86 struct xdp_buff_xsk *xskb = container_of(xdp, struct xdp_buff_xsk, xdp); in xsk_buff_free()
102 static inline void xsk_buff_dma_sync_for_cpu(struct xdp_buff *xdp, struc argument
193 xsk_buff_xdp_get_dma(struct xdp_buff *xdp) xsk_buff_xdp_get_dma() argument
198 xsk_buff_xdp_get_frame_dma(struct xdp_buff *xdp) xsk_buff_xdp_get_frame_dma() argument
213 xsk_buff_free(struct xdp_buff *xdp) xsk_buff_free() argument
228 xsk_buff_dma_sync_for_cpu(struct xdp_buff *xdp, struct xsk_buff_pool *pool) xsk_buff_dma_sync_for_cpu() argument
[all...]
/kernel/linux/linux-6.6/include/net/
H A Dxdp.h2 /* include/net/xdp.h
74 XDP_FLAGS_HAS_FRAGS = BIT(0), /* non-linear xdp buff */
75 XDP_FLAGS_FRAGS_PF_MEMALLOC = BIT(1), /* xdp paged memory is under
91 static __always_inline bool xdp_buff_has_frags(struct xdp_buff *xdp) in xdp_buff_has_frags() argument
93 return !!(xdp->flags & XDP_FLAGS_HAS_FRAGS); in xdp_buff_has_frags()
96 static __always_inline void xdp_buff_set_frags_flag(struct xdp_buff *xdp) in xdp_buff_set_frags_flag() argument
98 xdp->flags |= XDP_FLAGS_HAS_FRAGS; in xdp_buff_set_frags_flag()
101 static __always_inline void xdp_buff_clear_frags_flag(struct xdp_buff *xdp) in xdp_buff_clear_frags_flag() argument
103 xdp->flags &= ~XDP_FLAGS_HAS_FRAGS; in xdp_buff_clear_frags_flag()
106 static __always_inline bool xdp_buff_is_frag_pfmemalloc(struct xdp_buff *xdp) in xdp_buff_is_frag_pfmemalloc() argument
111 xdp_buff_set_frag_pfmemalloc(struct xdp_buff *xdp) xdp_buff_set_frag_pfmemalloc() argument
117 xdp_init_buff(struct xdp_buff *xdp, u32 frame_sz, struct xdp_rxq_info *rxq) xdp_init_buff() argument
125 xdp_prepare_buff(struct xdp_buff *xdp, unsigned char *hard_start, int headroom, int data_len, const bool meta_valid) xdp_prepare_buff() argument
147 xdp_get_shared_info_from_buff(struct xdp_buff *xdp) xdp_get_shared_info_from_buff() argument
152 xdp_get_buff_len(struct xdp_buff *xdp) xdp_get_buff_len() argument
252 xdp_convert_frame_to_buff(struct xdp_frame *frame, struct xdp_buff *xdp) xdp_convert_frame_to_buff() argument
263 xdp_update_frame_from_buff(struct xdp_buff *xdp, struct xdp_frame *xdp_frame) xdp_update_frame_from_buff() argument
293 xdp_convert_buff_to_frame(struct xdp_buff *xdp) xdp_convert_buff_to_frame() argument
359 xdp_set_data_meta_invalid(struct xdp_buff *xdp) xdp_set_data_meta_invalid() argument
365 xdp_data_meta_unsupported(const struct xdp_buff *xdp) xdp_data_meta_unsupported() argument
482 bpf_prog_run_xdp(const struct bpf_prog *prog, struct xdp_buff *xdp) bpf_prog_run_xdp() argument
[all...]
H A Dxdp_sock_drv.h53 return pool->heads[0].xdp.rxq->napi_id; in xsk_pool_get_napi_id()
73 static inline dma_addr_t xsk_buff_xdp_get_dma(struct xdp_buff *xdp) in xsk_buff_xdp_get_dma() argument
75 struct xdp_buff_xsk *xskb = container_of(xdp, struct xdp_buff_xsk, xdp); in xsk_buff_xdp_get_dma()
80 static inline dma_addr_t xsk_buff_xdp_get_frame_dma(struct xdp_buff *xdp) in xsk_buff_xdp_get_frame_dma() argument
82 struct xdp_buff_xsk *xskb = container_of(xdp, struct xdp_buff_xsk, xdp); in xsk_buff_xdp_get_frame_dma()
98 static inline u32 xsk_buff_alloc_batch(struct xsk_buff_pool *pool, struct xdp_buff **xdp, u32 max) in xsk_buff_alloc_batch() argument
100 return xp_alloc_batch(pool, xdp, max); in xsk_buff_alloc_batch()
108 static inline void xsk_buff_free(struct xdp_buff *xdp) in xsk_buff_free() argument
127 xsk_buff_add_frag(struct xdp_buff *xdp) xsk_buff_add_frag() argument
167 xsk_buff_set_size(struct xdp_buff *xdp, u32 size) xsk_buff_set_size() argument
186 xsk_buff_dma_sync_for_cpu(struct xdp_buff *xdp, struct xsk_buff_pool *pool) xsk_buff_dma_sync_for_cpu() argument
287 xsk_buff_xdp_get_dma(struct xdp_buff *xdp) xsk_buff_xdp_get_dma() argument
292 xsk_buff_xdp_get_frame_dma(struct xdp_buff *xdp) xsk_buff_xdp_get_frame_dma() argument
307 xsk_buff_alloc_batch(struct xsk_buff_pool *pool, struct xdp_buff **xdp, u32 max) xsk_buff_alloc_batch() argument
317 xsk_buff_free(struct xdp_buff *xdp) xsk_buff_free() argument
321 xsk_buff_add_frag(struct xdp_buff *xdp) xsk_buff_add_frag() argument
339 xsk_buff_set_size(struct xdp_buff *xdp, u32 size) xsk_buff_set_size() argument
354 xsk_buff_dma_sync_for_cpu(struct xdp_buff *xdp, struct xsk_buff_pool *pool) xsk_buff_dma_sync_for_cpu() argument
[all...]
/kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/
H A Drx.c5 #include "en/xdp.h"
32 struct xdp_buff *xdp = wi->umr.dma_info[page_idx].xsk; in mlx5e_xsk_skb_from_cqe_mpwrq_linear() local
41 /* head_offset is not used in this function, because xdp->data and the in mlx5e_xsk_skb_from_cqe_mpwrq_linear()
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()
68 if (likely(mlx5e_xdp_handle(rq, NULL, &cqe_bcnt32, xdp))) { in mlx5e_xsk_skb_from_cqe_mpwrq_linear()
77 return mlx5e_xsk_construct_skb(rq, xdp in mlx5e_xsk_skb_from_cqe_mpwrq_linear()
85 struct xdp_buff *xdp = wi->di->xsk; mlx5e_xsk_skb_from_cqe_linear() local
[all...]
/kernel/linux/linux-5.10/drivers/net/hyperv/
H A Dnetvsc_bpf.c16 #include <net/xdp.h>
24 struct xdp_buff *xdp) in netvsc_run_xdp()
32 xdp->data_hard_start = NULL; in netvsc_run_xdp()
47 xdp->data_hard_start = page_address(page); in netvsc_run_xdp()
48 xdp->data = xdp->data_hard_start + NETVSC_XDP_HDRM; in netvsc_run_xdp()
49 xdp_set_data_meta_invalid(xdp); in netvsc_run_xdp()
50 xdp->data_end = xdp->data + len; in netvsc_run_xdp()
51 xdp in netvsc_run_xdp()
23 netvsc_run_xdp(struct net_device *ndev, struct netvsc_channel *nvchan, struct xdp_buff *xdp) netvsc_run_xdp() argument
137 struct netdev_bpf xdp; netvsc_vf_setxdp() local
[all...]
/kernel/linux/linux-6.6/tools/testing/selftests/bpf/progs/
H A Dxdp_features.c65 xdp_process_echo_packet(struct xdp_md *xdp, bool dut) in xdp_process_echo_packet() argument
67 void *data_end = (void *)(long)xdp->data_end; in xdp_process_echo_packet()
68 void *data = (void *)(long)xdp->data; in xdp_process_echo_packet()
135 xdp_update_stats(struct xdp_md *xdp, bool tx, bool dut) in xdp_update_stats() argument
139 if (xdp_process_echo_packet(xdp, tx)) in xdp_update_stats()
155 SEC("xdp")
156 int xdp_tester_check_tx(struct xdp_md *xdp) in xdp_tester_check_tx() argument
158 xdp_update_stats(xdp, true, false); in xdp_tester_check_tx()
163 SEC("xdp")
164 int xdp_tester_check_rx(struct xdp_md *xdp) in xdp_tester_check_rx() argument
174 xdp_do_pass(struct xdp_md *xdp) xdp_do_pass() argument
182 xdp_do_drop(struct xdp_md *xdp) xdp_do_drop() argument
191 xdp_do_aborted(struct xdp_md *xdp) xdp_do_aborted() argument
200 xdp_do_tx(struct xdp_md *xdp) xdp_do_tx() argument
217 xdp_do_redirect(struct xdp_md *xdp) xdp_do_redirect() argument
226 BPF_PROG(xdp_exception, const struct net_device *dev, const struct bpf_prog *xdp, __u32 act) BPF_PROG() argument
252 xdp_do_redirect_cpumap(struct xdp_md *xdp) xdp_do_redirect_cpumap() argument
[all...]
H A Dtest_xdp_do_redirect.c28 SEC("xdp")
29 int xdp_redirect(struct xdp_md *xdp) in xdp_redirect() argument
31 __u32 *metadata = (void *)(long)xdp->data_meta; in xdp_redirect()
32 void *data_end = (void *)(long)xdp->data_end; in xdp_redirect()
33 void *data = (void *)(long)xdp->data; in xdp_redirect()
41 if (xdp->ingress_ifindex != ifindex_in) in xdp_redirect()
55 if (bpf_xdp_adjust_meta(xdp, sizeof(__u64))) in xdp_redirect()
85 SEC("xdp")
86 int xdp_count_pkts(struct xdp_md *xdp) in xdp_count_pkts() argument
88 void *data = (void *)(long)xdp in xdp_count_pkts()
[all...]
H A Dtest_xdp.c78 static __always_inline int handle_ipv4(struct xdp_md *xdp) in handle_ipv4() argument
80 void *data_end = (void *)(long)xdp->data_end; in handle_ipv4()
81 void *data = (void *)(long)xdp->data; in handle_ipv4()
111 if (bpf_xdp_adjust_head(xdp, 0 - (int)sizeof(struct iphdr))) in handle_ipv4()
114 data = (void *)(long)xdp->data; in handle_ipv4()
115 data_end = (void *)(long)xdp->data_end; in handle_ipv4()
151 static __always_inline int handle_ipv6(struct xdp_md *xdp) in handle_ipv6() argument
153 void *data_end = (void *)(long)xdp->data_end; in handle_ipv6()
154 void *data = (void *)(long)xdp->data; in handle_ipv6()
181 if (bpf_xdp_adjust_head(xdp, in handle_ipv6()
212 _xdp_tx_iptunnel(struct xdp_md *xdp) _xdp_tx_iptunnel() argument
[all...]
/kernel/linux/linux-6.6/drivers/net/ethernet/broadcom/bnxt/
H A Dbnxt_xdp.c28 struct xdp_buff *xdp) in bnxt_xmit_bd()
38 if (xdp && xdp_buff_has_frags(xdp)) { in bnxt_xmit_bd()
39 sinfo = xdp_get_shared_info_from_buff(xdp); in bnxt_xmit_bd()
47 if (xdp) in bnxt_xmit_bd()
48 tx_buf->page = virt_to_head_page(xdp->data); in bnxt_xmit_bd()
97 struct xdp_buff *xdp) in __bnxt_xmit_xdp()
101 tx_buf = bnxt_xmit_bd(bp, txr, mapping, len, xdp); in __bnxt_xmit_xdp()
184 struct xdp_buff *xdp) in bnxt_xdp_buff_init()
199 xdp_init_buff(xdp, bufle in bnxt_xdp_buff_init()
25 bnxt_xmit_bd(struct bnxt *bp, struct bnxt_tx_ring_info *txr, dma_addr_t mapping, u32 len, struct xdp_buff *xdp) bnxt_xmit_bd() argument
95 __bnxt_xmit_xdp(struct bnxt *bp, struct bnxt_tx_ring_info *txr, dma_addr_t mapping, u32 len, u16 rx_prod, struct xdp_buff *xdp) __bnxt_xmit_xdp() argument
182 bnxt_xdp_buff_init(struct bnxt *bp, struct bnxt_rx_ring_info *rxr, u16 cons, u8 *data_ptr, unsigned int len, struct xdp_buff *xdp) bnxt_xdp_buff_init() argument
203 bnxt_xdp_buff_frags_free(struct bnxt_rx_ring_info *rxr, struct xdp_buff *xdp) bnxt_xdp_buff_frags_free() argument
224 bnxt_rx_xdp(struct bnxt *bp, struct bnxt_rx_ring_info *rxr, u16 cons, struct xdp_buff xdp, struct page *page, u8 **data_ptr, unsigned int *len, u8 *event) bnxt_rx_xdp() argument
363 struct xdp_frame *xdp = frames[i]; bnxt_xdp_xmit() local
452 bnxt_xdp(struct net_device *dev, struct netdev_bpf *xdp) bnxt_xdp() argument
469 bnxt_xdp_build_skb(struct bnxt *bp, struct sk_buff *skb, u8 num_frags, struct page_pool *pool, struct xdp_buff *xdp, struct rx_cmp_ext *rxcmp1) bnxt_xdp_build_skb() argument
[all...]
/kernel/linux/linux-5.10/drivers/net/ethernet/intel/ixgbe/
H A Dixgbe_xsk.c6 #include <net/xdp.h>
99 struct xdp_buff *xdp) in ixgbe_run_xdp_zc()
108 act = bpf_prog_run_xdp(xdp_prog, xdp); in ixgbe_run_xdp_zc()
111 err = xdp_do_redirect(rx_ring->netdev, xdp, xdp_prog); in ixgbe_run_xdp_zc()
122 xdpf = xdp_convert_buff_to_frame(xdp); in ixgbe_run_xdp_zc()
161 bi->xdp = xsk_buff_alloc(rx_ring->xsk_pool); in ixgbe_alloc_rx_buffers_zc()
162 if (!bi->xdp) { in ixgbe_alloc_rx_buffers_zc()
167 dma = xsk_buff_xdp_get_dma(bi->xdp); in ixgbe_alloc_rx_buffers_zc()
209 unsigned int metasize = bi->xdp->data - bi->xdp in ixgbe_construct_skb_zc()
97 ixgbe_run_xdp_zc(struct ixgbe_adapter *adapter, struct ixgbe_ring *rx_ring, struct xdp_buff *xdp) ixgbe_run_xdp_zc() argument
[all...]
/kernel/linux/linux-6.6/drivers/net/ethernet/intel/ixgbe/
H A Dixgbe_xsk.c6 #include <net/xdp.h>
99 struct xdp_buff *xdp) in ixgbe_run_xdp_zc()
108 act = bpf_prog_run_xdp(xdp_prog, xdp); in ixgbe_run_xdp_zc()
111 err = xdp_do_redirect(rx_ring->netdev, xdp, xdp_prog); in ixgbe_run_xdp_zc()
125 xdpf = xdp_convert_buff_to_frame(xdp); in ixgbe_run_xdp_zc()
168 bi->xdp = xsk_buff_alloc(rx_ring->xsk_pool); in ixgbe_alloc_rx_buffers_zc()
169 if (!bi->xdp) { in ixgbe_alloc_rx_buffers_zc()
174 dma = xsk_buff_xdp_get_dma(bi->xdp); in ixgbe_alloc_rx_buffers_zc()
214 const struct xdp_buff *xdp) in ixgbe_construct_skb_zc()
216 unsigned int totalsize = xdp in ixgbe_construct_skb_zc()
97 ixgbe_run_xdp_zc(struct ixgbe_adapter *adapter, struct ixgbe_ring *rx_ring, struct xdp_buff *xdp) ixgbe_run_xdp_zc() argument
213 ixgbe_construct_skb_zc(struct ixgbe_ring *rx_ring, const struct xdp_buff *xdp) ixgbe_construct_skb_zc() argument
[all...]
/kernel/linux/linux-5.10/samples/bpf/
H A Dxdp_tx_iptunnel_kern.c77 static __always_inline int handle_ipv4(struct xdp_md *xdp) in handle_ipv4() argument
79 void *data_end = (void *)(long)xdp->data_end; in handle_ipv4()
80 void *data = (void *)(long)xdp->data; in handle_ipv4()
112 if (bpf_xdp_adjust_head(xdp, 0 - (int)sizeof(struct iphdr))) in handle_ipv4()
115 data = (void *)(long)xdp->data; in handle_ipv4()
116 data_end = (void *)(long)xdp->data_end; in handle_ipv4()
152 static __always_inline int handle_ipv6(struct xdp_md *xdp) in handle_ipv6() argument
154 void *data_end = (void *)(long)xdp->data_end; in handle_ipv6()
155 void *data = (void *)(long)xdp->data; in handle_ipv6()
184 if (bpf_xdp_adjust_head(xdp, in handle_ipv6()
216 _xdp_tx_iptunnel(struct xdp_md *xdp) _xdp_tx_iptunnel() argument
[all...]
H A Dxdp_adjust_tail_kern.c70 static __always_inline int send_icmp4_too_big(struct xdp_md *xdp) in send_icmp4_too_big() argument
74 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()
120 static __always_inline int handle_ipv4(struct xdp_md *xdp) in handle_ipv4() argument
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
[all...]
/kernel/linux/linux-6.6/samples/bpf/
H A Dxdp_tx_iptunnel_kern.c77 static __always_inline int handle_ipv4(struct xdp_md *xdp) in handle_ipv4() argument
79 void *data_end = (void *)(long)xdp->data_end; in handle_ipv4()
80 void *data = (void *)(long)xdp->data; in handle_ipv4()
112 if (bpf_xdp_adjust_head(xdp, 0 - (int)sizeof(struct iphdr))) in handle_ipv4()
115 data = (void *)(long)xdp->data; in handle_ipv4()
116 data_end = (void *)(long)xdp->data_end; in handle_ipv4()
152 static __always_inline int handle_ipv6(struct xdp_md *xdp) in handle_ipv6() argument
154 void *data_end = (void *)(long)xdp->data_end; in handle_ipv6()
155 void *data = (void *)(long)xdp->data; in handle_ipv6()
184 if (bpf_xdp_adjust_head(xdp, in handle_ipv6()
216 _xdp_tx_iptunnel(struct xdp_md *xdp) _xdp_tx_iptunnel() argument
[all...]
H A Dxdp_adjust_tail_kern.c70 static __always_inline int send_icmp4_too_big(struct xdp_md *xdp) in send_icmp4_too_big() argument
74 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()
120 static __always_inline int handle_ipv4(struct xdp_md *xdp) in handle_ipv4() argument
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
[all...]
/kernel/linux/linux-6.6/drivers/net/ethernet/netronome/nfp/
H A Dnfp_net_xsk.c9 #include <trace/events/xdp.h>
18 struct xdp_buff *xdp) in nfp_net_xsk_rx_bufs_stash()
27 rx_ring->xsk_rxbufs[idx].xdp = xdp; in nfp_net_xsk_rx_bufs_stash()
29 xsk_buff_xdp_get_frame_dma(xdp) + headroom; in nfp_net_xsk_rx_bufs_stash()
35 rxbuf->xdp = NULL; in nfp_net_xsk_rx_unstash()
40 if (rxbuf->xdp) in nfp_net_xsk_rx_free()
41 xsk_buff_free(rxbuf->xdp); in nfp_net_xsk_rx_free()
62 struct xdp_buff *xdp; in nfp_net_xsk_rx_ring_fill_freelist() local
67 xdp in nfp_net_xsk_rx_ring_fill_freelist()
17 nfp_net_xsk_rx_bufs_stash(struct nfp_net_rx_ring *rx_ring, unsigned int idx, struct xdp_buff *xdp) nfp_net_xsk_rx_bufs_stash() argument
[all...]
/kernel/linux/linux-6.6/drivers/net/ethernet/intel/ice/
H A Dice_xsk.c6 #include <net/xdp.h>
444 * @xdp: SW ring of xdp_buff that will hold the buffers
455 static u16 ice_fill_rx_descs(struct xsk_buff_pool *pool, struct xdp_buff **xdp, in ice_fill_rx_descs() argument
462 buffs = xsk_buff_alloc_batch(pool, xdp, count); in ice_fill_rx_descs()
464 dma = xsk_buff_xdp_get_dma(*xdp); in ice_fill_rx_descs()
469 xdp++; in ice_fill_rx_descs()
492 struct xdp_buff **xdp; in __ice_alloc_rx_bufs_zc() local
495 xdp = ice_xdp_buf(rx_ring, ntu); in __ice_alloc_rx_bufs_zc()
498 nb_buffs_extra = ice_fill_rx_descs(rx_ring->xsk_pool, xdp, in __ice_alloc_rx_bufs_zc()
506 xdp in __ice_alloc_rx_bufs_zc()
559 ice_construct_skb_zc(struct ice_rx_ring *rx_ring, struct xdp_buff *xdp) ice_construct_skb_zc() argument
685 ice_xmit_xdp_tx_zc(struct xdp_buff *xdp, struct ice_tx_ring *xdp_ring) ice_xmit_xdp_tx_zc() argument
766 ice_run_xdp_zc(struct ice_rx_ring *rx_ring, struct xdp_buff *xdp, struct bpf_prog *xdp_prog, struct ice_tx_ring *xdp_ring) ice_run_xdp_zc() argument
810 ice_add_xsk_frag(struct ice_rx_ring *rx_ring, struct xdp_buff *first, struct xdp_buff *xdp, const unsigned int size) ice_add_xsk_frag() argument
871 struct xdp_buff *xdp; ice_clean_rx_irq_zc() local
1170 struct xdp_buff *xdp = *ice_xdp_buf(rx_ring, ntc); ice_xsk_clean_rx_ring() local
[all...]
/kernel/linux/linux-6.6/drivers/net/ethernet/microchip/lan966x/
H A Dlan966x_xdp.c9 static int lan966x_xdp_setup(struct net_device *dev, struct netdev_bpf *xdp) in lan966x_xdp_setup() argument
18 NL_SET_ERR_MSG_MOD(xdp->extack, in lan966x_xdp_setup()
19 "Allow to set xdp only when using fdma"); in lan966x_xdp_setup()
24 old_prog = xchg(&port->xdp_prog, xdp->prog); in lan966x_xdp_setup()
43 int lan966x_xdp(struct net_device *dev, struct netdev_bpf *xdp) in lan966x_xdp() argument
45 switch (xdp->command) { in lan966x_xdp()
47 return lan966x_xdp_setup(dev, xdp); in lan966x_xdp()
79 struct xdp_buff xdp; in lan966x_xdp_run() local
82 xdp_init_buff(&xdp, PAGE_SIZE << lan966x->rx.page_order, in lan966x_xdp_run()
84 xdp_prepare_buff(&xdp, page_addres in lan966x_xdp_run()
[all...]
/kernel/linux/linux-6.6/drivers/net/hyperv/
H A Dnetvsc_bpf.c17 #include <net/xdp.h>
25 struct xdp_buff *xdp) in netvsc_run_xdp()
35 xdp->data_hard_start = NULL; in netvsc_run_xdp()
56 xdp_init_buff(xdp, PAGE_SIZE, &nvchan->xdp_rxq); in netvsc_run_xdp()
57 xdp_prepare_buff(xdp, page_address(page), NETVSC_XDP_HDRM, len, false); in netvsc_run_xdp()
59 memcpy(xdp->data, data, len); in netvsc_run_xdp()
61 act = bpf_prog_run_xdp(prog, xdp); in netvsc_run_xdp()
73 if (!xdp_do_redirect(ndev, xdp, prog)) { in netvsc_run_xdp()
107 xdp->data_hard_start = NULL; in netvsc_run_xdp()
167 struct netdev_bpf xdp; in netvsc_vf_setxdp() local
24 netvsc_run_xdp(struct net_device *ndev, struct netvsc_channel *nvchan, struct xdp_buff *xdp) netvsc_run_xdp() argument
[all...]
/kernel/linux/linux-5.10/drivers/net/ethernet/broadcom/bnxt/
H A Dbnxt_xdp.c118 struct xdp_buff xdp; in bnxt_rx_xdp() local
136 xdp.data_hard_start = *data_ptr - offset; in bnxt_rx_xdp()
137 xdp.data = *data_ptr; in bnxt_rx_xdp()
138 xdp_set_data_meta_invalid(&xdp); in bnxt_rx_xdp()
139 xdp.data_end = *data_ptr + *len; in bnxt_rx_xdp()
140 xdp.rxq = &rxr->xdp_rxq; in bnxt_rx_xdp()
141 xdp.frame_sz = PAGE_SIZE; /* BNXT_RX_PAGE_MODE(bp) when XDP enabled */ in bnxt_rx_xdp()
142 orig_data = xdp.data; in bnxt_rx_xdp()
145 act = bpf_prog_run_xdp(xdp_prog, &xdp); in bnxt_rx_xdp()
155 *len = xdp in bnxt_rx_xdp()
236 struct xdp_frame *xdp = frames[i]; bnxt_xdp_xmit() local
324 bnxt_xdp(struct net_device *dev, struct netdev_bpf *xdp) bnxt_xdp() argument
[all...]
/kernel/linux/linux-5.10/tools/testing/selftests/bpf/progs/
H 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
H A Dtest_xdp.c80 static __always_inline int handle_ipv4(struct xdp_md *xdp) in handle_ipv4() argument
82 void *data_end = (void *)(long)xdp->data_end; in handle_ipv4()
83 void *data = (void *)(long)xdp->data; in handle_ipv4()
113 if (bpf_xdp_adjust_head(xdp, 0 - (int)sizeof(struct iphdr))) in handle_ipv4()
116 data = (void *)(long)xdp->data; in handle_ipv4()
117 data_end = (void *)(long)xdp->data_end; in handle_ipv4()
153 static __always_inline int handle_ipv6(struct xdp_md *xdp) in handle_ipv6() argument
155 void *data_end = (void *)(long)xdp->data_end; in handle_ipv6()
156 void *data = (void *)(long)xdp->data; in handle_ipv6()
183 if (bpf_xdp_adjust_head(xdp, in handle_ipv6()
214 _xdp_tx_iptunnel(struct xdp_md *xdp) _xdp_tx_iptunnel() argument
[all...]
H A Dtest_xdp_loop.c76 static __always_inline int handle_ipv4(struct xdp_md *xdp) in handle_ipv4() argument
78 void *data_end = (void *)(long)xdp->data_end; in handle_ipv4()
79 void *data = (void *)(long)xdp->data; in handle_ipv4()
109 if (bpf_xdp_adjust_head(xdp, 0 - (int)sizeof(struct iphdr))) in handle_ipv4()
112 data = (void *)(long)xdp->data; in handle_ipv4()
113 data_end = (void *)(long)xdp->data_end; in handle_ipv4()
149 static __always_inline int handle_ipv6(struct xdp_md *xdp) in handle_ipv6() argument
151 void *data_end = (void *)(long)xdp->data_end; in handle_ipv6()
152 void *data = (void *)(long)xdp->data; in handle_ipv6()
179 if (bpf_xdp_adjust_head(xdp, in handle_ipv6()
210 _xdp_tx_iptunnel(struct xdp_md *xdp) _xdp_tx_iptunnel() argument
[all...]
/kernel/linux/linux-6.6/include/trace/events/
H A Dxdp.h3 #define TRACE_SYSTEM xdp
12 #include <net/xdp.h>
32 const struct bpf_prog *xdp, u32 act),
34 TP_ARGS(dev, xdp, act),
43 __entry->prog_id = xdp->aux->id;
93 const struct bpf_prog *xdp,
98 TP_ARGS(dev, xdp, tgt, err, map_type, map_id, index),
124 __entry->prog_id = xdp->aux->id;
143 const struct bpf_prog *xdp,
147 TP_ARGS(dev, xdp, tg
[all...]

Completed in 11 milliseconds

12345678910>>...13