/linux-master/tools/testing/selftests/bpf/ |
H A D | test_tcp_check_syncookie.sh | 70 ns1_exec ip link set "${TEST_IF}" xdp \ 81 XDP_SECTION="xdp"
|
H A D | bpf_kfuncs.h | 15 * Initializes an xdp-type dynptr 19 extern int bpf_dynptr_from_xdp(struct xdp_md *xdp, __u64 flags,
|
H A D | test_offload.py | 212 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 D | nfd3.h | 57 * @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 D | i40e_txrx_common.h | 9 int i40e_xmit_xdp_tx_ring(struct xdp_buff *xdp, struct i40e_ring *xdp_ring);
|
/linux-master/include/linux/ |
H A D | bpf_types.h | 11 BPF_PROG_TYPE(BPF_PROG_TYPE_XDP, xdp, 145 BPF_LINK_TYPE(BPF_LINK_TYPE_XDP, xdp)
|
H A D | filter.h | 819 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 D | nfp_net_debugfs.c | 104 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 D | xsk_diag.c | 158 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 D | funeth_rx.c | 146 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 D | dynptr_fail.c | 1195 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 D | tun.c | 65 #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 D | virtio_net.c | 24 #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 D | netsec.c | 882 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 D | filter.c | 81 #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 D | xdp.c | 35 #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 D | en_rx.c | 56 #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 D | devmap.c | 48 #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 D | ixgbevf_main.c | 851 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 D | stmmac.h | 25 #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 D | en_rx.c | 665 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 D | aq_main.c | 485 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 D | dpaa_eth.h | 11 #include <net/xdp.h>
|
/linux-master/drivers/net/ethernet/qlogic/qede/ |
H A D | qede_fp.c | 308 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 D | Makefile | 78 obj-$(CONFIG_XDP_SOCKETS) += xdp/
|