/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,
|
/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)
|
/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/tools/testing/selftests/net/ |
H A D | bpf_offload.py | 217 def bpftool_prog_load(sample, file_name, maps=[], prog_type="xdp", dev=None, 245 def bpf_obj(name, sec="xdp", path=bpf_test_dir,): 419 return ip("link set dev %s xdp%s %s" % (self.dev["ifname"], mode, bpf), 425 return ip("link set dev %s xdp%s off" % (self.dev["ifname"], mode), 429 def ip_link_show(self, xdp): 435 fail(xdp != "xdp" in link, 437 ("xdp" in link, xdp)) 631 xdp [all...] |
/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...] |
H A D | xdp_synproxy_kern.c | 430 static __always_inline int tcp_lookup(void *ctx, struct header_pointers *hdr, bool xdp) argument 464 if (xdp) 582 bool xdp) 718 if (xdp) { 751 struct header_pointers *hdr, bool xdp) 759 ret = tcp_lookup(ctx, hdr, xdp); 771 if (xdp) { 788 struct header_pointers *hdr, bool xdp) 817 return hdr->tcp->syn ? syncookie_handle_syn(hdr, ctx, data, data_end, xdp) : 821 SEC("xdp") 579 syncookie_handle_syn(struct header_pointers *hdr, void *ctx, void *data, void *data_end, bool xdp) argument 750 syncookie_part1(void *ctx, void *data, void *data_end, struct header_pointers *hdr, bool xdp) argument 787 syncookie_part2(void *ctx, void *data, void *data_end, struct header_pointers *hdr, bool 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> 394 /* xdp_queue_pairs may be 0, when xdp is already loaded. So add this. */ 1075 /* when vi->curr_queue_pairs > nr_cpu_ids, the txq/sq is only used for xdp tx on 1172 static void put_xdp_frags(struct xdp_buff *xdp) argument 1178 if (xdp_buff_has_frags(xdp)) { 1179 shinfo = xdp_get_shared_info_from_buff(xdp); 1187 static int virtnet_xdp_handler(struct bpf_prog *xdp_prog, struct xdp_buff *xdp, argument 1196 act = bpf_prog_run_xdp(xdp_prog, xdp); 1205 xdpf = xdp_convert_buff_to_frame(xdp); 1207 netdev_dbg(dev, "convert buff to frame failed for xdp\ 1355 struct xdp_buff xdp; local 1525 build_skb_from_xdp_buff(struct net_device *dev, struct virtnet_info *vi, struct xdp_buff *xdp, unsigned int xdp_frags_truesz) argument 1568 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 1748 struct xdp_buff xdp; local 5034 virtnet_xdp(struct net_device *dev, struct netdev_bpf *xdp) argument 5585 const struct xdp_buff *xdp = (void *)_ctx; local [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> 3883 BPF_CALL_1(bpf_xdp_get_buff_len, struct xdp_buff*, xdp) 3885 return xdp_get_buff_len(xdp); 3904 static unsigned long xdp_get_metalen(const struct xdp_buff *xdp) argument 3906 return xdp_data_meta_unsupported(xdp) ? 0 : 3907 xdp->data - xdp->data_meta; 3910 BPF_CALL_2(bpf_xdp_adjust_head, struct xdp_buff *, xdp, int, offset) 3912 void *xdp_frame_end = xdp->data_hard_start + sizeof(struct xdp_frame); 3913 unsigned long metalen = xdp_get_metalen(xdp); 3938 bpf_xdp_copy_buf(struct xdp_buff *xdp, unsigned long off, void *buf, unsigned long len, bool flush) argument 3985 bpf_xdp_pointer(struct xdp_buff *xdp, u32 offset, u32 len) argument 4044 __bpf_xdp_load_bytes(struct xdp_buff *xdp, u32 offset, void *buf, u32 len) argument 4076 __bpf_xdp_store_bytes(struct xdp_buff *xdp, u32 offset, void *buf, u32 len) argument 4081 bpf_xdp_frags_increase_tail(struct xdp_buff *xdp, int offset) argument 4104 bpf_xdp_shrink_data_zc(struct xdp_buff *xdp, int shrink, struct xdp_mem_info *mem_info, bool release) argument 4117 bpf_xdp_shrink_data(struct xdp_buff *xdp, skb_frag_t *frag, int shrink) argument 4138 bpf_xdp_frags_shrink_tail(struct xdp_buff *xdp, int offset) argument 4311 xdp_master_redirect(struct xdp_buff *xdp) argument 4333 __xdp_do_redirect_xsk(struct bpf_redirect_info *ri, struct net_device *dev, struct xdp_buff *xdp, struct bpf_prog *xdp_prog) argument 4428 xdp_do_redirect(struct net_device *dev, struct xdp_buff *xdp, struct bpf_prog *xdp_prog) argument 4442 xdp_do_redirect_frame(struct net_device *dev, struct xdp_buff *xdp, struct xdp_frame *xdpf, struct bpf_prog *xdp_prog) argument 4455 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, u32 flags) argument 4513 xdp_do_generic_redirect(struct net_device *dev, struct sk_buff *skb, struct xdp_buff *xdp, struct bpf_prog *xdp_prog) argument 5010 struct xdp_buff *xdp = (struct xdp_buff *)ctx; local 11869 bpf_dynptr_from_xdp(struct xdp_buff *xdp, u64 flags, struct bpf_dynptr_kern *ptr__uninit) argument [all...] |
H A D | Makefile | 15 fib_notifier.o xdp.o flow_offload.o gro.o \
|
/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/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/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::__anon901 99 struct xdp_buff xdp; member in struct:stmmac_xdp_buff
|
/linux-master/drivers/net/ethernet/mellanox/mlx4/ |
H A D | en_rx.c | 666 struct xdp_buff xdp; member in struct:mlx4_en_xdp_buff 734 xdp_init_buff(&mxbuf.xdp, priv->frag_info[0].frag_stride, &ring->xdp_rxq); 829 xdp_prepare_buff(&mxbuf.xdp, va - frags[0].page_offset, 831 orig_data = mxbuf.xdp.data; 837 act = bpf_prog_run_xdp(xdp_prog, &mxbuf.xdp); 839 length = mxbuf.xdp.data_end - mxbuf.xdp.data; 840 if (mxbuf.xdp.data != orig_data) { 841 frags[0].page_offset = mxbuf.xdp.data - 842 mxbuf.xdp [all...] |
/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/
|