Searched refs:xdp (Results 76 - 100 of 206) sorted by relevance

123456789

/linux-master/tools/testing/selftests/bpf/
H A Dtest_tcp_check_syncookie.sh70 ns1_exec ip link set "${TEST_IF}" xdp \
81 XDP_SECTION="xdp"
H A Dbpf_kfuncs.h15 * Initializes an xdp-type dynptr
19 extern int bpf_dynptr_from_xdp(struct xdp_md *xdp, __u64 flags,
H A Dtest_offload.py212 def bpftool_prog_load(sample, file_name, maps=[], prog_type="xdp", dev=None,
483 return ip("link set dev %s xdp%s %s" % (self.dev["ifname"], mode, bpf),
489 return ip("link set dev %s xdp%s off" % (self.dev["ifname"], mode),
493 def ip_link_show(self, xdp):
499 fail(xdp != "xdp" in link,
501 ("xdp" in link, xdp))
695 xdp = sim.ip_link_show(xdp
[all...]
/linux-master/drivers/net/ethernet/netronome/nfp/nfd3/
H A Dnfd3.h57 * @xdp: XSK buffer pool handle (for AF_XDP)
72 struct xdp_buff *xdp; member in union:nfp_nfd3_tx_buf::__anon1798
/linux-master/drivers/net/ethernet/intel/i40e/
H A Di40e_txrx_common.h9 int i40e_xmit_xdp_tx_ring(struct xdp_buff *xdp, struct i40e_ring *xdp_ring);
/linux-master/include/linux/
H A Dbpf_types.h11 BPF_PROG_TYPE(BPF_PROG_TYPE_XDP, xdp,
145 BPF_LINK_TYPE(BPF_LINK_TYPE_XDP, xdp)
H A Dfilter.h819 DECLARE_BPF_DISPATCHER(xdp)
823 u32 xdp_master_redirect(struct xdp_buff *xdp);
1026 struct xdp_buff *xdp, struct bpf_prog *prog);
1028 struct xdp_buff *xdp,
1031 struct xdp_buff *xdp,
1593 int __bpf_xdp_load_bytes(struct xdp_buff *xdp, u32 offset, void *buf, u32 len);
1594 int __bpf_xdp_store_bytes(struct xdp_buff *xdp, u32 offset, void *buf, u32 len);
1595 void *bpf_xdp_pointer(struct xdp_buff *xdp, u32 offset, u32 len);
1596 void bpf_xdp_copy_buf(struct xdp_buff *xdp, unsigned long off,
1611 static inline int __bpf_xdp_load_bytes(struct xdp_buff *xdp, u3 argument
1617 __bpf_xdp_store_bytes(struct xdp_buff *xdp, u32 offset, void *buf, u32 len) argument
1623 bpf_xdp_pointer(struct xdp_buff *xdp, u32 offset, u32 len) argument
1628 bpf_xdp_copy_buf(struct xdp_buff *xdp, unsigned long off, void *buf, unsigned long len, bool flush) argument
[all...]
/linux-master/drivers/net/ethernet/netronome/nfp/
H A Dnfp_net_debugfs.c104 tx_ring == r_vec->tx_ring ? "" : "xdp",
126 struct dentry *queues, *tx, *rx, *xdp; local
144 xdp = debugfs_create_dir("xdp", queues);
150 debugfs_create_file(name, 0400, xdp,
/linux-master/net/xdp/
H A Dxsk_diag.c158 mutex_lock(&net->xdp.lock);
160 sk_for_each(sk, &net->xdp.list) {
176 mutex_unlock(&net->xdp.lock);
/linux-master/drivers/net/ethernet/fungible/funeth/
H A Dfuneth_rx.c146 struct xdp_buff xdp; local
150 xdp_init_buff(&xdp, ALIGN(skb_frag_size(frags), FUN_EPRQ_PKT_ALIGN),
152 xdp_prepare_buff(&xdp, buf_va, FUN_XDP_HEADROOM, skb_frag_size(frags) -
156 act = bpf_prog_run_xdp(xdp_prog, &xdp);
161 skb_frag_size_set(frags, xdp.data_end - xdp.data);
162 skb_frag_off_add(frags, xdp.data - xdp.data_hard_start);
168 xdpf = xdp_convert_buff_to_frame(&xdp);
177 if (unlikely(xdp_do_redirect(q->netdev, &xdp, xdp_pro
[all...]
/linux-master/tools/testing/selftests/bpf/progs/
H A Ddynptr_fail.c1195 SEC("?xdp")
1197 int xdp_invalid_data_slice1(struct xdp_md *xdp) argument
1203 bpf_dynptr_from_xdp(xdp, 0, &ptr);
1210 if (bpf_xdp_adjust_head(xdp, 0 - (int)sizeof(*hdr)))
1220 SEC("?xdp")
1222 int xdp_invalid_data_slice2(struct xdp_md *xdp) argument
1228 bpf_dynptr_from_xdp(xdp, 0, &ptr);
1235 if (bpf_xdp_adjust_head(xdp, 0 - (int)sizeof(*hdr)))
1274 /* Only supported prog type can create xdp-type dynptrs */
1450 SEC("?xdp")
1452 clone_invalid2(struct xdp_md *xdp) argument
1646 clone_xdp_packet_data(struct xdp_md *xdp) argument
[all...]
/linux-master/drivers/net/
H A Dtun.c65 #include <net/xdp.h>
1220 static int tun_xdp(struct net_device *dev, struct netdev_bpf *xdp) argument
1222 switch (xdp->command) {
1224 return tun_xdp_set(dev, xdp->prog, xdp->extack);
1294 struct xdp_frame *xdp = frames[i]; local
1298 void *frame = tun_xdp_to_ptr(xdp);
1315 static int tun_xdp_tx(struct net_device *dev, struct xdp_buff *xdp) argument
1317 struct xdp_frame *frame = xdp_convert_buff_to_frame(xdp);
1620 struct xdp_buff *xdp, u3
1619 tun_xdp_act(struct tun_struct *tun, struct bpf_prog *xdp_prog, struct xdp_buff *xdp, u32 act) argument
1705 struct xdp_buff xdp; local
2437 tun_xdp_one(struct tun_struct *tun, struct tun_file *tfile, struct xdp_buff *xdp, int *flush, struct tun_page *tpage) argument
2562 struct xdp_buff *xdp; local
[all...]
H A Dvirtio_net.c24 #include <net/xdp.h>
271 /* xdp_queue_pairs may be 0, when xdp is already loaded. So add this. */
940 /* when vi->curr_queue_pairs > nr_cpu_ids, the txq/sq is only used for xdp tx on
1037 static void put_xdp_frags(struct xdp_buff *xdp) argument
1043 if (xdp_buff_has_frags(xdp)) {
1044 shinfo = xdp_get_shared_info_from_buff(xdp);
1052 static int virtnet_xdp_handler(struct bpf_prog *xdp_prog, struct xdp_buff *xdp, argument
1061 act = bpf_prog_run_xdp(xdp_prog, xdp);
1070 xdpf = xdp_convert_buff_to_frame(xdp);
1072 netdev_dbg(dev, "convert buff to frame failed for xdp\
1220 struct xdp_buff xdp; local
1390 build_skb_from_xdp_buff(struct net_device *dev, struct virtnet_info *vi, struct xdp_buff *xdp, unsigned int xdp_frags_truesz) argument
1433 virtnet_build_xdp_buff_mrg(struct net_device *dev, struct virtnet_info *vi, struct receive_queue *rq, struct xdp_buff *xdp, void *buf, unsigned int len, unsigned int frame_sz, int *num_buf, unsigned int *xdp_frags_truesize, struct virtnet_rq_stats *stats) argument
1613 struct xdp_buff xdp; local
4108 virtnet_xdp(struct net_device *dev, struct netdev_bpf *xdp) argument
[all...]
/linux-master/drivers/net/ethernet/socionext/
H A Dnetsec.c882 static u32 netsec_xdp_xmit_back(struct netsec_priv *priv, struct xdp_buff *xdp) argument
885 struct xdp_frame *xdpf = xdp_convert_buff_to_frame(xdp);
899 struct xdp_buff *xdp)
902 unsigned int sync, len = xdp->data_end - xdp->data;
908 act = bpf_prog_run_xdp(prog, xdp);
911 sync = xdp->data_end - xdp->data_hard_start - NETSEC_RXBUF_HEADROOM;
919 ret = netsec_xdp_xmit_back(priv, xdp);
921 page = virt_to_head_page(xdp
898 netsec_run_xdp(struct netsec_priv *priv, struct bpf_prog *prog, struct xdp_buff *xdp) argument
958 struct xdp_buff xdp; local
1819 netsec_xdp(struct net_device *ndev, struct netdev_bpf *xdp) argument
[all...]
/linux-master/net/core/
H A Dfilter.c81 #include <net/xdp.h>
3881 BPF_CALL_1(bpf_xdp_get_buff_len, struct xdp_buff*, xdp)
3883 return xdp_get_buff_len(xdp);
3902 static unsigned long xdp_get_metalen(const struct xdp_buff *xdp) argument
3904 return xdp_data_meta_unsupported(xdp) ? 0 :
3905 xdp->data - xdp->data_meta;
3908 BPF_CALL_2(bpf_xdp_adjust_head, struct xdp_buff *, xdp, int, offset)
3910 void *xdp_frame_end = xdp->data_hard_start + sizeof(struct xdp_frame);
3911 unsigned long metalen = xdp_get_metalen(xdp);
3936 bpf_xdp_copy_buf(struct xdp_buff *xdp, unsigned long off, void *buf, unsigned long len, bool flush) argument
3983 bpf_xdp_pointer(struct xdp_buff *xdp, u32 offset, u32 len) argument
4042 __bpf_xdp_load_bytes(struct xdp_buff *xdp, u32 offset, void *buf, u32 len) argument
4074 __bpf_xdp_store_bytes(struct xdp_buff *xdp, u32 offset, void *buf, u32 len) argument
4079 bpf_xdp_frags_increase_tail(struct xdp_buff *xdp, int offset) argument
4102 bpf_xdp_shrink_data_zc(struct xdp_buff *xdp, int shrink, struct xdp_mem_info *mem_info, bool release) argument
4115 bpf_xdp_shrink_data(struct xdp_buff *xdp, skb_frag_t *frag, int shrink) argument
4136 bpf_xdp_frags_shrink_tail(struct xdp_buff *xdp, int offset) argument
4309 xdp_master_redirect(struct xdp_buff *xdp) argument
4331 __xdp_do_redirect_xsk(struct bpf_redirect_info *ri, struct net_device *dev, struct xdp_buff *xdp, struct bpf_prog *xdp_prog) argument
4415 xdp_do_redirect(struct net_device *dev, struct xdp_buff *xdp, struct bpf_prog *xdp_prog) argument
4429 xdp_do_redirect_frame(struct net_device *dev, struct xdp_buff *xdp, struct xdp_frame *xdpf, struct bpf_prog *xdp_prog) argument
4442 xdp_do_generic_redirect_map(struct net_device *dev, struct sk_buff *skb, struct xdp_buff *xdp, struct bpf_prog *xdp_prog, void *fwd, enum bpf_map_type map_type, u32 map_id) argument
4491 xdp_do_generic_redirect(struct net_device *dev, struct sk_buff *skb, struct xdp_buff *xdp, struct bpf_prog *xdp_prog) argument
4984 struct xdp_buff *xdp = (struct xdp_buff *)ctx; local
11839 bpf_dynptr_from_xdp(struct xdp_buff *xdp, u64 flags, struct bpf_dynptr_kern *ptr__uninit) argument
[all...]
/linux-master/drivers/net/ethernet/mellanox/mlx5/core/en/
H A Dxdp.c35 #include "en/xdp.h"
62 struct xdp_buff *xdp)
64 struct page *page = virt_to_page(xdp->data);
71 xdpf = xdp_convert_buff_to_frame(xdp);
80 if (xdp->rxq->mem.type == MEM_TYPE_XSK_BUFF_POOL) {
244 if (unlikely(!(_ctx->xdp.rxq->dev->features & NETIF_F_RXHASH)))
310 /* returns true if packet was consumed by xdp */
314 struct xdp_buff *xdp = &mxbuf->xdp; local
318 act = bpf_prog_run_xdp(prog, xdp);
61 mlx5e_xmit_xdp_buff(struct mlx5e_xdpsq *sq, struct mlx5e_rq *rq, struct xdp_buff *xdp) argument
[all...]
/linux-master/drivers/net/ethernet/mellanox/mlx5/core/
H A Den_rx.c56 #include "en/xdp.h"
499 struct xdp_buff *xdp, struct mlx5e_frag_page *frag_page,
507 if (!xdp_buff_has_frags(xdp)) {
513 xdp_buff_set_frags_flag(xdp);
520 xdp_buff_set_frag_pfmemalloc(xdp);
1665 xdp_init_buff(&mxbuf->xdp, frame_sz, &rq->xdp_rxq);
1666 xdp_prepare_buff(&mxbuf->xdp, va, headroom, len, true);
1703 rx_headroom = mxbuf.xdp.data - mxbuf.xdp.data_hard_start;
1704 metasize = mxbuf.xdp
498 mlx5e_add_skb_shared_info_frag(struct mlx5e_rq *rq, struct skb_shared_info *sinfo, struct xdp_buff *xdp, struct mlx5e_frag_page *frag_page, u32 frag_offset, u32 len) argument
[all...]
/linux-master/kernel/bpf/
H A Ddevmap.c48 #include <net/xdp.h>
50 #include <trace/events/xdp.h>
328 struct xdp_buff xdp; local
336 xdp_convert_frame_to_buff(xdpf, &xdp);
337 xdp.txq = &txq;
339 act = bpf_prog_run_xdp(xdp_prog, &xdp);
342 err = xdp_update_frame_from_buff(&xdp, xdpf);
502 struct xdp_buff xdp; local
509 xdp.txq = &txq;
511 act = bpf_prog_run_generic_xdp(skb, &xdp, ds
[all...]
/linux-master/drivers/net/ethernet/intel/ixgbevf/
H A Dixgbevf_main.c851 struct xdp_buff *xdp,
854 unsigned int size = xdp->data_end - xdp->data;
858 unsigned int truesize = SKB_DATA_ALIGN(xdp->data_end -
859 xdp->data_hard_start);
865 net_prefetch(xdp->data);
876 * xdp->data_meta will always point to xdp->data, since
879 * add xdp->data_meta handling here.
890 headlen = eth_get_headlen(skb->dev, xdp
849 ixgbevf_construct_skb(struct ixgbevf_ring *rx_ring, struct ixgbevf_rx_buffer *rx_buffer, struct xdp_buff *xdp, union ixgbe_adv_rx_desc *rx_desc) argument
924 ixgbevf_build_skb(struct ixgbevf_ring *rx_ring, struct ixgbevf_rx_buffer *rx_buffer, struct xdp_buff *xdp, union ixgbe_adv_rx_desc *rx_desc) argument
971 ixgbevf_xmit_xdp_ring(struct ixgbevf_ring *ring, struct xdp_buff *xdp) argument
1048 ixgbevf_run_xdp(struct ixgbevf_adapter *adapter, struct ixgbevf_ring *rx_ring, struct xdp_buff *xdp) argument
1125 struct xdp_buff xdp; local
4481 ixgbevf_xdp(struct net_device *dev, struct netdev_bpf *xdp) argument
[all...]
/linux-master/drivers/net/ethernet/stmicro/stmmac/
H A Dstmmac.h25 #include <net/xdp.h>
92 struct xdp_buff *xdp; member in union:stmmac_rx_buffer::__anon770
99 struct xdp_buff xdp; member in struct:stmmac_xdp_buff
/linux-master/drivers/net/ethernet/mellanox/mlx4/
H A Den_rx.c665 struct xdp_buff xdp; member in struct:mlx4_en_xdp_buff
733 xdp_init_buff(&mxbuf.xdp, priv->frag_info[0].frag_stride, &ring->xdp_rxq);
828 xdp_prepare_buff(&mxbuf.xdp, va - frags[0].page_offset,
830 orig_data = mxbuf.xdp.data;
836 act = bpf_prog_run_xdp(xdp_prog, &mxbuf.xdp);
838 length = mxbuf.xdp.data_end - mxbuf.xdp.data;
839 if (mxbuf.xdp.data != orig_data) {
840 frags[0].page_offset = mxbuf.xdp.data -
841 mxbuf.xdp
[all...]
/linux-master/drivers/net/ethernet/aquantia/atlantic/
H A Daq_main.c485 static int aq_xdp(struct net_device *dev, struct netdev_bpf *xdp) argument
487 switch (xdp->command) {
489 return aq_xdp_setup(dev, xdp->prog, xdp->extack);
/linux-master/drivers/net/ethernet/freescale/dpaa/
H A Ddpaa_eth.h11 #include <net/xdp.h>
/linux-master/drivers/net/ethernet/qlogic/qede/
H A Dqede_fp.c308 struct sw_tx_xdp *xdp; local
329 xdp = txq->sw_tx_ring.xdp + txq->sw_tx_prod;
330 xdp->mapping = dma;
331 xdp->page = page;
332 xdp->xdpf = xdpf;
402 struct sw_tx_xdp *xdp_info, *xdp_arr = txq->sw_tx_ring.xdp;
1087 struct xdp_buff xdp; local
1090 xdp_init_buff(&xdp, rxq->rx_buf_seg_size, &rxq->xdp_rxq);
1091 xdp_prepare_buff(&xdp, page_addres
[all...]
/linux-master/net/
H A DMakefile78 obj-$(CONFIG_XDP_SOCKETS) += xdp/

Completed in 289 milliseconds

123456789