/linux-master/drivers/net/ethernet/intel/igc/ |
H A D | igc_main.c | 450 if (!bi->xdp) 453 xsk_buff_free(bi->xdp); 454 bi->xdp = NULL; 1939 struct xdp_buff *xdp) 1941 unsigned int size = xdp->data_end - xdp->data; 1943 unsigned int metasize = xdp->data - xdp->data_meta; 1947 net_prefetch(xdp->data_meta); 1950 skb = napi_build_skb(xdp 1937 igc_build_skb(struct igc_ring *rx_ring, struct igc_rx_buffer *rx_buffer, struct xdp_buff *xdp) argument 1968 struct xdp_buff *xdp = &ctx->xdp; local 2463 igc_xdp_xmit_back(struct igc_adapter *adapter, struct xdp_buff *xdp) argument 2486 __igc_xdp_run_prog(struct igc_adapter *adapter, struct bpf_prog *prog, struct xdp_buff *xdp) argument 2516 igc_xdp_run_prog(struct igc_adapter *adapter, struct xdp_buff *xdp) argument 2706 igc_construct_skb_zc(struct igc_ring *ring, struct xdp_buff *xdp) argument 2731 igc_dispatch_skb_zc(struct igc_q_vector *q_vector, union igc_adv_rx_desc *desc, struct xdp_buff *xdp, ktime_t timestamp) argument 2755 xsk_buff_to_igc_ctx(struct xdp_buff *xdp) argument [all...] |
H A D | igc.h | 18 #include <net/xdp.h> 549 struct xdp_buff *xdp; member in union:igc_rx_buffer::__anon37 555 struct xdp_buff xdp; member in struct:igc_xdp_buff
|
/linux-master/drivers/net/ethernet/intel/i40e/ |
H A D | i40e_main.c | 3639 xdp_init_buff(&ring->xdp, i40e_rx_pg_size(ring) / 2, &ring->xdp_rxq); 4779 false /*is xdp*/, true); 4788 true /*is xdp*/, true); 13429 false /*is xdp*/, enable); 13457 true /*is xdp*/, enable); 13581 * @xdp: XDP command 13584 struct netdev_bpf *xdp) 13592 switch (xdp->command) { 13594 return i40e_xdp_setup(vsi, xdp->prog, xdp 13583 i40e_xdp(struct net_device *dev, struct netdev_bpf *xdp) argument [all...] |
H A D | i40e_txrx.h | 7 #include <net/xdp.h> 347 struct xdp_buff xdp; member in struct:i40e_ring
|
H A D | i40e_txrx.c | 8 #include <net/xdp.h> 2076 * @xdp: xdp_buff pointing to the data 2079 struct xdp_buff *xdp) 2081 u32 nr_frags = xdp_get_shared_info_from_buff(xdp)->nr_frags; 2085 xdp->flags = 0; 2096 i40e_rx_buffer_flip(rx_buffer, xdp->frame_sz); 2111 * @xdp: xdp_buff pointing to the data 2118 struct xdp_buff *xdp) 2120 unsigned int size = xdp->data_end - xdp 2078 i40e_process_rx_buffs(struct i40e_ring *rx_ring, int xdp_res, struct xdp_buff *xdp) argument 2117 i40e_construct_skb(struct i40e_ring *rx_ring, struct xdp_buff *xdp) argument 2214 i40e_build_skb(struct i40e_ring *rx_ring, struct xdp_buff *xdp) argument 2287 i40e_xmit_xdp_tx_ring(struct xdp_buff *xdp, struct i40e_ring *xdp_ring) argument 2303 i40e_run_xdp(struct i40e_ring *rx_ring, struct xdp_buff *xdp, struct bpf_prog *xdp_prog) argument 2422 i40e_add_xdp_frag(struct xdp_buff *xdp, u32 *nr_frags, struct i40e_rx_buffer *rx_buffer, u32 size) argument 2454 i40e_consume_xdp_buff(struct i40e_ring *rx_ring, struct xdp_buff *xdp, struct i40e_rx_buffer *rx_buffer) argument 2484 struct xdp_buff *xdp = &rx_ring->xdp; local [all...] |
/linux-master/drivers/net/ethernet/broadcom/bnxt/ |
H A D | bnxt.c | 1176 struct xdp_buff *xdp) 1218 if (xdp && page_is_pfmemalloc(page)) 1219 xdp_buff_set_frag_pfmemalloc(xdp); 1267 struct xdp_buff *xdp, u16 idx, 1270 struct skb_shared_info *shinfo = xdp_get_shared_info_from_buff(xdp); 1273 if (!xdp_buff_has_frags(xdp)) 1277 idx, agg_bufs, tpa, xdp); 1279 xdp_buff_set_frags_flag(xdp); 1979 struct xdp_buff xdp; local 2092 bnxt_xdp_buff_init(bp, rxr, cons, data_ptr, len, &xdp); 1172 __bnxt_rx_agg_pages(struct bnxt *bp, struct bnxt_cp_ring_info *cpr, struct skb_shared_info *shinfo, u16 idx, u32 agg_bufs, bool tpa, struct xdp_buff *xdp) argument 1265 bnxt_rx_agg_pages_xdp(struct bnxt *bp, struct bnxt_cp_ring_info *cpr, struct xdp_buff *xdp, u16 idx, u32 agg_bufs, bool tpa) argument [all...] |
/linux-master/net/core/ |
H A D | dev.c | 136 #include <trace/events/xdp.h> 4811 u32 bpf_prog_run_generic_xdp(struct sk_buff *skb, struct xdp_buff *xdp, argument 4834 xdp_init_buff(xdp, frame_sz, &rxqueue->xdp_rxq); 4835 xdp_prepare_buff(xdp, hard_start, skb_headroom(skb) - mac_len, 4839 xdp_buff_set_frags_flag(xdp); 4841 xdp_buff_clear_frags_flag(xdp); 4844 orig_data_end = xdp->data_end; 4845 orig_data = xdp->data; 4846 eth = (struct ethhdr *)xdp->data; 4851 act = bpf_prog_run_xdp(xdp_prog, xdp); 4936 netif_receive_generic_xdp(struct sk_buff **pskb, struct xdp_buff *xdp, struct bpf_prog *xdp_prog) argument 5019 struct xdp_buff xdp; local 5693 generic_xdp_install(struct net_device *dev, struct netdev_bpf *xdp) argument 9248 struct netdev_bpf xdp; local [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...] |
H A D | xen-netfront.c | 970 struct xdp_buff *xdp, bool *need_xdp_flush) 977 xdp_init_buff(xdp, XEN_PAGE_SIZE - XDP_PACKET_HEADROOM, 979 xdp_prepare_buff(xdp, page_address(pdata), XDP_PACKET_HEADROOM, 982 act = bpf_prog_run_xdp(prog, xdp); 986 xdpf = xdp_convert_buff_to_frame(xdp); 995 err = xdp_do_redirect(queue->info->netdev, xdp, prog); 1028 struct xdp_buff xdp; local 1037 struct xen_netif_extra_info *xdp; local 1039 xdp = &extras[XEN_NETIF_EXTRA_TYPE_XDP - 1]; 1040 rx->offset = xdp 968 xennet_run_xdp(struct netfront_queue *queue, struct page *pdata, struct xen_netif_rx_response *rx, struct bpf_prog *prog, struct xdp_buff *xdp, bool *need_xdp_flush) argument 1603 talk_to_netback_xdp(struct netfront_info *np, int xdp) argument 1664 xennet_xdp(struct net_device *dev, struct netdev_bpf *xdp) argument [all...] |
/linux-master/drivers/net/ethernet/stmicro/stmmac/ |
H A D | stmmac_main.c | 1598 if (!buf->xdp) 1601 xsk_buff_free(buf->xdp); 1602 buf->xdp = NULL; 1631 buf->xdp = xsk_buff_alloc(rx_q->xsk_pool); 1632 if (!buf->xdp) 1635 dma_addr = xsk_buff_xdp_get_dma(buf->xdp); 2073 netdev_err(priv->dev, "Failed to register xdp rxq info\n"); 4996 struct xdp_buff *xdp) 4998 struct xdp_frame *xdpf = xdp_convert_buff_to_frame(xdp); 5025 struct xdp_buff *xdp) 4995 stmmac_xdp_xmit_back(struct stmmac_priv *priv, struct xdp_buff *xdp) argument 5023 __stmmac_xdp_run_prog(struct stmmac_priv *priv, struct bpf_prog *prog, struct xdp_buff *xdp) argument 5058 stmmac_xdp_run_prog(struct stmmac_priv *priv, struct xdp_buff *xdp) argument 5090 stmmac_construct_skb_zc(struct stmmac_channel *ch, struct xdp_buff *xdp) argument 5111 stmmac_dispatch_skb_zc(struct stmmac_priv *priv, u32 queue, struct dma_desc *p, struct dma_desc *np, struct xdp_buff *xdp) argument 5213 xsk_buff_to_stmmac_ctx(struct xdp_buff *xdp) argument [all...] |
/linux-master/drivers/net/ethernet/mellanox/mlx5/core/ |
H A D | en_main.c | 56 #include "en/xdp.h" 2384 err = c->xdp ? mlx5e_open_cq(c->mdev, params->tx_cq_moderation, &cparam->xdp_sq.cqp, 2411 if (c->xdp) { 2425 if (c->xdp) 2441 if (c->xdp) 2465 if (c->xdp) 2474 if (c->xdp) 2570 c->xdp = !!params->xdp_prog; 4907 static int mlx5e_xdp(struct net_device *dev, struct netdev_bpf *xdp) argument 4909 switch (xdp [all...] |
/linux-master/net/xdp/ |
H A D | xsk.c | 29 #include <net/xdp.h> 157 static int xsk_rcv_zc(struct xdp_sock *xs, struct xdp_buff *xdp, u32 len) argument 159 struct xdp_buff_xsk *xskb = container_of(xdp, struct xdp_buff_xsk, xdp); 160 u32 frags = xdp_buff_has_frags(xdp); 179 len = pos->xdp.data_end - pos->xdp.data; 188 xsk_buff_free(xdp); 228 static int __xsk_rcv(struct xdp_sock *xs, struct xdp_buff *xdp, u32 len) argument 231 void *copy_from = xsk_copy_xdp_start(xdp), *copy_t 314 xsk_rcv_check(struct xdp_sock *xs, struct xdp_buff *xdp, u32 len) argument 341 xsk_generic_rcv(struct xdp_sock *xs, struct xdp_buff *xdp) argument 356 xsk_rcv(struct xdp_sock *xs, struct xdp_buff *xdp) argument 376 __xsk_map_redirect(struct xdp_sock *xs, struct xdp_buff *xdp) argument [all...] |
/linux-master/drivers/net/ethernet/amazon/ena/ |
H A D | ena_netdev.c | 232 /* Don't init RX queues for xdp queues */ 805 is_xdp ? "xdp frame" : "skb", ring->qid, req_id); 1171 static int ena_xdp_handle_buff(struct ena_ring *rx_ring, struct xdp_buff *xdp, u16 num_descs) argument 1179 "xdp: dropped unsupported multi-buffer packets\n"); 1185 xdp_prepare_buff(xdp, page_address(rx_info->page), 1189 ret = ena_xdp_execute(rx_ring, xdp); 1191 /* The xdp program might expand the headers */ 1193 rx_info->buf_offset = xdp->data - xdp->data_hard_start; 1194 rx_ring->ena_bufs[0].len = xdp 1219 struct xdp_buff xdp; local [all...] |
/linux-master/tools/testing/selftests/net/ |
H A D | udpgro_fwd.sh | 56 ip -n $NS_DST link set veth$DST xdp object ${BPF_FILE} section xdp 2>/dev/null
|
H A D | veth.sh | 251 ip -n $NS_DST link set dev veth$DST xdp object ${BPF_FILE} section xdp 252 chk_gro_flag "gro vs xdp while down - gro flag off" $DST off 255 ip -n $NS_DST link set dev veth$DST xdp off 256 chk_gro_flag " - after xdp off" $DST off 259 ip -n $NS_SRC link set dev veth$SRC xdp object ${BPF_FILE} section xdp 260 chk_gro_flag " - after peer xdp" $DST off 265 ip -n $NS_DST link set dev veth$DST xdp object ${BPF_FILE} section xdp [all...] |
/linux-master/kernel/bpf/ |
H A D | verifier.c | 30 #include <net/xdp.h> 9203 * This also applies to dynptr slices belonging to skb and xdp dynptrs,
|
H A D | cpumap.c | 26 #include <net/xdp.h> 33 #include <trace/events/xdp.h> 143 struct xdp_buff xdp; local 148 act = bpf_prog_run_generic_xdp(skb, &xdp, rcpu->prog); 154 err = xdp_do_generic_redirect(skb->dev, skb, &xdp, 183 struct xdp_buff xdp; local 187 xdp.rxq = &rxq; 198 xdp_convert_frame_to_buff(xdpf, &xdp); 200 act = bpf_prog_run_xdp(rcpu->prog, &xdp); 203 err = xdp_update_frame_from_buff(&xdp, xdp [all...] |
/linux-master/include/net/mana/ |
H A D | mana.h | 7 #include <net/xdp.h> 468 struct xdp_buff *xdp, void *buf_va, uint pkt_len);
|
/linux-master/drivers/net/ethernet/microsoft/mana/ |
H A D | mana_en.c | 16 #include <net/xdp.h> 1483 uint pkt_len, struct xdp_buff *xdp) 1490 if (xdp->data_hard_start) { 1491 skb_reserve(skb, xdp->data - xdp->data_hard_start); 1492 skb_put(skb, xdp->data_end - xdp->data); 1510 struct xdp_buff xdp = {}; local 1523 act = mana_run_xdp(ndev, rxq, &xdp, buf_va, pkt_len); 1531 skb = mana_build_skb(rxq, buf_va, pkt_len, &xdp); 1482 mana_build_skb(struct mana_rxq *rxq, void *buf_va, uint pkt_len, struct xdp_buff *xdp) argument [all...] |
/linux-master/drivers/net/ethernet/marvell/octeontx2/nic/ |
H A D | otx2_pf.c | 2622 /* Abort xmit if xdp queue is not */ 2679 static int otx2_xdp(struct net_device *netdev, struct netdev_bpf *xdp) argument 2683 switch (xdp->command) { 2685 return otx2_xdp_setup(pf, xdp->prog);
|
/linux-master/drivers/net/ethernet/freescale/ |
H A D | fec_main.c | 81 int cpu, struct xdp_buff *xdp, 1594 struct xdp_buff *xdp, struct fec_enet_priv_rx_q *rxq, int cpu) 1596 unsigned int sync, len = xdp->data_end - xdp->data; 1602 act = bpf_prog_run_xdp(prog, xdp); 1607 sync = xdp->data_end - xdp->data; 1618 err = xdp_do_redirect(fep->netdev, xdp, prog); 1627 err = fec_enet_xdp_tx_xmit(fep, cpu, xdp, sync); 1647 page = virt_to_head_page(xdp 1593 fec_enet_run_xdp(struct fec_enet_private *fep, struct bpf_prog *prog, struct xdp_buff *xdp, struct fec_enet_priv_rx_q *rxq, int cpu) argument 1682 struct xdp_buff xdp; local 3910 fec_enet_xdp_tx_xmit(struct fec_enet_private *fep, int cpu, struct xdp_buff *xdp, u32 dma_sync_len) argument [all...] |
/linux-master/include/net/ |
H A D | xdp_sock.h | 122 int xsk_generic_rcv(struct xdp_sock *xs, struct xdp_buff *xdp); 123 int __xsk_map_redirect(struct xdp_sock *xs, struct xdp_buff *xdp); 199 static inline int xsk_generic_rcv(struct xdp_sock *xs, struct xdp_buff *xdp) argument 204 static inline int __xsk_map_redirect(struct xdp_sock *xs, struct xdp_buff *xdp) argument
|
/linux-master/include/linux/ |
H A D | netdevice.h | 1314 * int (*ndo_xdp_xmit)(struct net_device *dev, int n, struct xdp_frame **xdp, 1322 * struct xdp_buff *xdp); 1579 struct xdp_frame **xdp, 1582 struct xdp_buff *xdp); 3888 u32 bpf_prog_run_generic_xdp(struct sk_buff *skb, struct xdp_buff *xdp,
|
/linux-master/drivers/net/vmxnet3/ |
H A D | vmxnet3_xdp.c | 100 /* This is the main xdp call used by kernel to set/unset eBPF program. */ 251 vmxnet3_run_xdp(struct vmxnet3_rx_queue *rq, struct xdp_buff *xdp, argument 260 act = bpf_prog_run_xdp(prog, xdp); 261 page = virt_to_page(xdp->data_hard_start); 267 err = xdp_do_redirect(rq->adapter->netdev, xdp, prog); 276 xdpf = xdp_convert_buff_to_frame(xdp); 304 const struct xdp_buff *xdp) 316 skb_reserve(skb, xdp->data - xdp->data_hard_start); 317 skb_put(skb, xdp 303 vmxnet3_build_skb(struct vmxnet3_rx_queue *rq, struct page *page, const struct xdp_buff *xdp) argument 331 struct xdp_buff xdp; local 377 struct xdp_buff xdp; local [all...] |