/kernel/linux/linux-6.6/net/core/ |
H A D | xdp.c | 410 void xdp_return_frame(struct xdp_frame *xdpf) in xdp_return_frame() argument 415 if (likely(!xdp_frame_has_frags(xdpf))) in xdp_return_frame() 418 sinfo = xdp_get_shared_info_from_frame(xdpf); in xdp_return_frame() 422 __xdp_return(page_address(page), &xdpf->mem, false, NULL); in xdp_return_frame() 425 __xdp_return(xdpf->data, &xdpf->mem, false, NULL); in xdp_return_frame() 429 void xdp_return_frame_rx_napi(struct xdp_frame *xdpf) in xdp_return_frame_rx_napi() argument 434 if (likely(!xdp_frame_has_frags(xdpf))) in xdp_return_frame_rx_napi() 437 sinfo = xdp_get_shared_info_from_frame(xdpf); in xdp_return_frame_rx_napi() 441 __xdp_return(page_address(page), &xdpf in xdp_return_frame_rx_napi() 472 xdp_return_frame_bulk(struct xdp_frame *xdpf, struct xdp_frame_bulk *bq) xdp_return_frame_bulk() argument 548 struct xdp_frame *xdpf; xdp_convert_zc_to_xdp_frame() local 600 __xdp_build_skb_from_frame(struct xdp_frame *xdpf, struct sk_buff *skb, struct net_device *dev) __xdp_build_skb_from_frame() argument 656 xdp_build_skb_from_frame(struct xdp_frame *xdpf, struct net_device *dev) xdp_build_skb_from_frame() argument 671 xdpf_clone(struct xdp_frame *xdpf) xdpf_clone() argument [all...] |
/kernel/linux/linux-5.10/kernel/bpf/ |
H A D | cpumap.c | 158 static struct sk_buff *cpu_map_build_skb(struct xdp_frame *xdpf, in cpu_map_build_skb() argument 165 /* Part of headroom was reserved to xdpf */ in cpu_map_build_skb() 166 hard_start_headroom = sizeof(struct xdp_frame) + xdpf->headroom; in cpu_map_build_skb() 171 frame_size = xdpf->frame_sz; in cpu_map_build_skb() 173 pkt_data_start = xdpf->data - hard_start_headroom; in cpu_map_build_skb() 179 __skb_put(skb, xdpf->len); in cpu_map_build_skb() 180 if (xdpf->metasize) in cpu_map_build_skb() 181 skb_metadata_set(skb, xdpf->metasize); in cpu_map_build_skb() 184 skb->protocol = eth_type_trans(skb, xdpf->dev_rx); in cpu_map_build_skb() 193 xdp_release_frame(xdpf); in cpu_map_build_skb() 208 struct xdp_frame *xdpf; __cpu_map_ring_cleanup() local 245 struct xdp_frame *xdpf = frames[i]; cpu_map_bpf_prog_run_xdp() local 363 struct xdp_frame *xdpf = frames[i]; cpu_map_kthread_run() local 685 struct xdp_frame *xdpf = bq->q[i]; bq_flush_to_queue() local 707 bq_enqueue(struct bpf_cpu_map_entry *rcpu, struct xdp_frame *xdpf) bq_enqueue() argument 733 struct xdp_frame *xdpf; cpu_map_enqueue() local [all...] |
H A D | devmap.c | 357 struct xdp_frame *xdpf = bq->q[i]; in bq_xmit_all() local 359 prefetch(xdpf); in bq_xmit_all() 381 struct xdp_frame *xdpf = bq->q[i]; in bq_xmit_all() local 383 xdp_return_frame_rx_napi(xdpf); in bq_xmit_all() 427 static void bq_enqueue(struct net_device *dev, struct xdp_frame *xdpf, in bq_enqueue() argument 443 bq->q[bq->count++] = xdpf; in bq_enqueue() 452 struct xdp_frame *xdpf; in __xdp_enqueue() local 462 xdpf = xdp_convert_buff_to_frame(xdp); in __xdp_enqueue() 463 if (unlikely(!xdpf)) in __xdp_enqueue() 466 bq_enqueue(dev, xdpf, dev_r in __xdp_enqueue() [all...] |
/kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlx5/core/en/ |
H A D | xdp.c | 64 struct xdp_frame *xdpf; in mlx5e_xmit_xdp_buff() local 67 xdpf = xdp_convert_buff_to_frame(xdp); in mlx5e_xmit_xdp_buff() 68 if (unlikely(!xdpf)) in mlx5e_xmit_xdp_buff() 71 xdptxd.data = xdpf->data; in mlx5e_xmit_xdp_buff() 72 xdptxd.len = xdpf->len; in mlx5e_xmit_xdp_buff() 92 xdp_return_frame(xdpf); in mlx5e_xmit_xdp_buff() 97 xdpi.frame.xdpf = xdpf; in mlx5e_xmit_xdp_buff() 108 dma_addr = di->addr + (xdpf->data - (void *)xdpf); in mlx5e_xmit_xdp_buff() 508 struct xdp_frame *xdpf = frames[i]; mlx5e_xdp_xmit() local [all...] |
/kernel/linux/linux-5.10/net/core/ |
H A D | xdp.c | 405 void xdp_return_frame(struct xdp_frame *xdpf) in xdp_return_frame() argument 407 __xdp_return(xdpf->data, &xdpf->mem, false, NULL); in xdp_return_frame() 411 void xdp_return_frame_rx_napi(struct xdp_frame *xdpf) in xdp_return_frame_rx_napi() argument 413 __xdp_return(xdpf->data, &xdpf->mem, true, NULL); in xdp_return_frame_rx_napi() 451 struct xdp_frame *xdpf; in xdp_convert_zc_to_xdp_frame() local 459 if (sizeof(*xdpf) + totsize > PAGE_SIZE) in xdp_convert_zc_to_xdp_frame() 467 xdpf = addr; in xdp_convert_zc_to_xdp_frame() 468 memset(xdpf, in xdp_convert_zc_to_xdp_frame() [all...] |
/kernel/linux/linux-6.6/kernel/bpf/ |
H A D | cpumap.c | 189 struct xdp_frame *xdpf = frames[i]; in cpu_map_bpf_prog_run_xdp() local 193 rxq.dev = xdpf->dev_rx; in cpu_map_bpf_prog_run_xdp() 194 rxq.mem = xdpf->mem; in cpu_map_bpf_prog_run_xdp() 197 xdp_convert_frame_to_buff(xdpf, &xdp); in cpu_map_bpf_prog_run_xdp() 202 err = xdp_update_frame_from_buff(&xdp, xdpf); in cpu_map_bpf_prog_run_xdp() 204 xdp_return_frame(xdpf); in cpu_map_bpf_prog_run_xdp() 207 frames[nframes++] = xdpf; in cpu_map_bpf_prog_run_xdp() 212 err = xdp_do_redirect(xdpf->dev_rx, &xdp, in cpu_map_bpf_prog_run_xdp() 215 xdp_return_frame(xdpf); in cpu_map_bpf_prog_run_xdp() 225 xdp_return_frame(xdpf); in cpu_map_bpf_prog_run_xdp() 342 struct xdp_frame *xdpf = frames[i]; cpu_map_kthread_run() local 683 struct xdp_frame *xdpf = bq->q[i]; bq_flush_to_queue() local 705 bq_enqueue(struct bpf_cpu_map_entry *rcpu, struct xdp_frame *xdpf) bq_enqueue() argument 728 cpu_map_enqueue(struct bpf_cpu_map_entry *rcpu, struct xdp_frame *xdpf, struct net_device *dev_rx) cpu_map_enqueue() argument [all...] |
H A D | devmap.c | 332 struct xdp_frame *xdpf = frames[i]; in dev_map_bpf_prog_run() local 336 xdp_convert_frame_to_buff(xdpf, &xdp); in dev_map_bpf_prog_run() 342 err = xdp_update_frame_from_buff(&xdp, xdpf); in dev_map_bpf_prog_run() 344 xdp_return_frame_rx_napi(xdpf); in dev_map_bpf_prog_run() 346 frames[nframes++] = xdpf; in dev_map_bpf_prog_run() 355 xdp_return_frame_rx_napi(xdpf); in dev_map_bpf_prog_run() 374 struct xdp_frame *xdpf = bq->q[i]; in bq_xmit_all() local 376 prefetch(xdpf); in bq_xmit_all() 443 static void bq_enqueue(struct net_device *dev, struct xdp_frame *xdpf, in bq_enqueue() argument 465 bq->q[bq->count++] = xdpf; in bq_enqueue() 468 __xdp_enqueue(struct net_device *dev, struct xdp_frame *xdpf, struct net_device *dev_rx, struct bpf_prog *xdp_prog) __xdp_enqueue() argument 520 dev_xdp_enqueue(struct net_device *dev, struct xdp_frame *xdpf, struct net_device *dev_rx) dev_xdp_enqueue() argument 526 dev_map_enqueue(struct bpf_dtab_netdev *dst, struct xdp_frame *xdpf, struct net_device *dev_rx) dev_map_enqueue() argument 534 is_valid_dst(struct bpf_dtab_netdev *obj, struct xdp_frame *xdpf) is_valid_dst() argument 552 dev_map_enqueue_clone(struct bpf_dtab_netdev *obj, struct net_device *dev_rx, struct xdp_frame *xdpf) dev_map_enqueue_clone() argument 592 dev_map_enqueue_multi(struct xdp_frame *xdpf, struct net_device *dev_rx, struct bpf_map *map, bool exclude_ingress) dev_map_enqueue_multi() argument [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlx5/core/en/ |
H A D | xdp.c | 67 struct xdp_frame *xdpf; in mlx5e_xmit_xdp_buff() local 71 xdpf = xdp_convert_buff_to_frame(xdp); in mlx5e_xmit_xdp_buff() 72 if (unlikely(!xdpf)) in mlx5e_xmit_xdp_buff() 76 xdptxd->data = xdpf->data; in mlx5e_xmit_xdp_buff() 77 xdptxd->len = xdpf->len; in mlx5e_xmit_xdp_buff() 78 xdptxd->has_frags = xdp_frame_has_frags(xdpf); in mlx5e_xmit_xdp_buff() 99 xdp_return_frame(xdpf); in mlx5e_xmit_xdp_buff() 113 (union mlx5e_xdp_info) { .frame.xdpf = xdpf }); in mlx5e_xmit_xdp_buff() 125 dma_addr = page_pool_get_dma_addr(page) + (xdpf in mlx5e_xmit_xdp_buff() 624 struct xdp_frame *xdpf; mlx5e_free_xdpsq_desc() local 807 struct xdp_frame *xdpf = frames[i]; mlx5e_xdp_xmit() local [all...] |
/kernel/linux/linux-6.6/drivers/net/vmxnet3/ |
H A D | vmxnet3_xdp.c | 116 struct xdp_frame *xdpf, in vmxnet3_xdp_xmit_frame() 128 dw2 |= xdpf->len; in vmxnet3_xdp_xmit_frame() 132 buf_size = xdpf->len; in vmxnet3_xdp_xmit_frame() 143 xdpf->data, buf_size, in vmxnet3_xdp_xmit_frame() 149 page = virt_to_page(xdpf->data); in vmxnet3_xdp_xmit_frame() 156 tbi->xdpf = xdpf; in vmxnet3_xdp_xmit_frame() 202 struct xdp_frame *xdpf) in vmxnet3_xdp_xmit_back() 215 err = vmxnet3_xdp_xmit_frame(adapter, xdpf, tq, false); in vmxnet3_xdp_xmit_back() 254 struct xdp_frame *xdpf; in vmxnet3_run_xdp() local 115 vmxnet3_xdp_xmit_frame(struct vmxnet3_adapter *adapter, struct xdp_frame *xdpf, struct vmxnet3_tx_queue *tq, bool dma_map) vmxnet3_xdp_xmit_frame() argument 201 vmxnet3_xdp_xmit_back(struct vmxnet3_adapter *adapter, struct xdp_frame *xdpf) vmxnet3_xdp_xmit_back() argument [all...] |
/kernel/linux/linux-5.10/include/net/ |
H A D | xdp.h | 194 void xdp_return_frame(struct xdp_frame *xdpf); 195 void xdp_return_frame_rx_napi(struct xdp_frame *xdpf); 204 static inline void xdp_release_frame(struct xdp_frame *xdpf) in xdp_release_frame() argument 206 struct xdp_mem_info *mem = &xdpf->mem; in xdp_release_frame() 210 __xdp_release_frame(xdpf->data, mem); in xdp_release_frame()
|
/kernel/linux/linux-5.10/drivers/net/ethernet/intel/ixgbe/ |
H A D | ixgbe_xsk.c | 103 struct xdp_frame *xdpf; in ixgbe_run_xdp_zc() local 122 xdpf = xdp_convert_buff_to_frame(xdp); in ixgbe_run_xdp_zc() 123 if (unlikely(!xdpf)) in ixgbe_run_xdp_zc() 125 result = ixgbe_xmit_xdp_ring(adapter, xdpf); in ixgbe_run_xdp_zc() 410 tx_bi->xdpf = NULL; in ixgbe_xmit_zc() 441 xdp_return_frame(tx_bi->xdpf); in ixgbe_clean_xdp_tx_buffer() 468 if (tx_bi->xdpf) in ixgbe_clean_xdp_tx_irq() 473 tx_bi->xdpf = NULL; in ixgbe_clean_xdp_tx_irq() 547 if (tx_bi->xdpf) in ixgbe_xsk_clean_tx_ring() 552 tx_bi->xdpf in ixgbe_xsk_clean_tx_ring() [all...] |
/kernel/linux/linux-6.6/include/net/ |
H A D | xdp.h | 243 struct sk_buff *__xdp_build_skb_from_frame(struct xdp_frame *xdpf, 246 struct sk_buff *xdp_build_skb_from_frame(struct xdp_frame *xdpf, 249 struct xdp_frame *xdpf_clone(struct xdp_frame *xdpf); 313 void xdp_return_frame(struct xdp_frame *xdpf); 314 void xdp_return_frame_rx_napi(struct xdp_frame *xdpf); 317 void xdp_return_frame_bulk(struct xdp_frame *xdpf, 320 static __always_inline unsigned int xdp_get_frame_len(struct xdp_frame *xdpf) in xdp_get_frame_len() argument 323 unsigned int len = xdpf->len; in xdp_get_frame_len() 325 if (likely(!xdp_frame_has_frags(xdpf))) in xdp_get_frame_len() 328 sinfo = xdp_get_shared_info_from_frame(xdpf); in xdp_get_frame_len() [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/intel/ixgbe/ |
H A D | ixgbe_xsk.c | 104 struct xdp_frame *xdpf; in ixgbe_run_xdp_zc() local 125 xdpf = xdp_convert_buff_to_frame(xdp); in ixgbe_run_xdp_zc() 126 if (unlikely(!xdpf)) in ixgbe_run_xdp_zc() 131 result = ixgbe_xmit_xdp_ring(ring, xdpf); in ixgbe_run_xdp_zc() 423 tx_bi->xdpf = NULL; in ixgbe_xmit_zc() 454 xdp_return_frame(tx_bi->xdpf); in ixgbe_clean_xdp_tx_buffer() 481 if (tx_bi->xdpf) in ixgbe_clean_xdp_tx_irq() 486 tx_bi->xdpf = NULL; in ixgbe_clean_xdp_tx_irq() 560 if (tx_bi->xdpf) in ixgbe_xsk_clean_tx_ring() 565 tx_bi->xdpf in ixgbe_xsk_clean_tx_ring() [all...] |
/kernel/linux/linux-5.10/drivers/net/ethernet/ti/ |
H A D | cpsw_priv.c | 54 struct xdp_frame *xdpf; in cpsw_tx_handler() local 61 xdpf = cpsw_handle_to_xdpf(token); in cpsw_tx_handler() 62 xmeta = (void *)xdpf + CPSW_XMETA_OFFSET; in cpsw_tx_handler() 65 xdp_return_frame(xdpf); in cpsw_tx_handler() 1288 int cpsw_xdp_tx_frame(struct cpsw_priv *priv, struct xdp_frame *xdpf, in cpsw_xdp_tx_frame() argument 1297 xmeta = (void *)xdpf + CPSW_XMETA_OFFSET; in cpsw_xdp_tx_frame() 1304 dma += xdpf->headroom + sizeof(struct xdp_frame); in cpsw_xdp_tx_frame() 1305 ret = cpdma_chan_submit_mapped(txch, cpsw_xdpf_to_handle(xdpf), in cpsw_xdp_tx_frame() 1306 dma, xdpf->len, port); in cpsw_xdp_tx_frame() 1308 if (sizeof(*xmeta) > xdpf in cpsw_xdp_tx_frame() 1331 struct xdp_frame *xdpf; cpsw_run_xdp() local [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/sfc/siena/ |
H A D | tx.c | 213 struct xdp_frame *xdpf; in efx_siena_xdp_tx_buffers() local 255 xdpf = xdpfs[i]; in efx_siena_xdp_tx_buffers() 263 len = xdpf->len; in efx_siena_xdp_tx_buffers() 267 xdpf->data, len, in efx_siena_xdp_tx_buffers() 274 tx_buffer->xdpf = xdpf; in efx_siena_xdp_tx_buffers()
|
/kernel/linux/linux-5.10/drivers/net/ethernet/intel/ice/ |
H A D | ice_txrx_lib.c | 262 struct xdp_frame *xdpf = xdp_convert_buff_to_frame(xdp); in ice_xmit_xdp_buff() local 264 if (unlikely(!xdpf)) in ice_xmit_xdp_buff() 267 return ice_xmit_xdp_ring(xdpf->data, xdpf->len, xdp_ring); in ice_xmit_xdp_buff()
|
/kernel/linux/linux-6.6/drivers/net/ethernet/fungible/funeth/ |
H A D | funeth_tx.c | 500 xdp_return_frame(q->info[reclaim_idx].xdpf); in fun_xdpq_clean() 514 bool fun_xdp_tx(struct funeth_txq *q, struct xdp_frame *xdpf) in fun_xdp_tx() argument 516 unsigned int idx, nfrags = 1, ndesc = 1, tot_len = xdpf->len; in fun_xdp_tx() 525 if (unlikely(xdp_frame_has_frags(xdpf))) { in fun_xdp_tx() 526 si = xdp_get_shared_info_from_frame(xdpf); in fun_xdp_tx() 527 tot_len = xdp_get_frame_len(xdpf); in fun_xdp_tx() 539 if (unlikely(fun_map_pkt(q->dma_dev, si, xdpf->data, xdpf->len, dma, in fun_xdp_tx() 558 q->info[idx].xdpf = xdpf; in fun_xdp_tx() [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/aquantia/atlantic/ |
H A D | aq_ring.c | 320 } else if (buff->xdpf) { in aq_ring_tx_clean() 323 self->stats.tx.bytes += xdp_get_frame_len(buff->xdpf); in aq_ring_tx_clean() 325 xdp_return_frame_rx_napi(buff->xdpf); in aq_ring_tx_clean() 330 buff->xdpf = NULL; in aq_ring_tx_clean() 377 struct xdp_frame *xdpf = frames[i]; in aq_xdp_xmit() local 379 if (aq_nic_xmit_xdpf(aq_nic, ring, xdpf) == NETDEV_TX_BUSY) in aq_xdp_xmit() 390 struct xdp_frame *xdpf; in aq_xdp_build_skb() local 393 xdpf = xdp_convert_buff_to_frame(xdp); in aq_xdp_build_skb() 394 if (unlikely(!xdpf)) in aq_xdp_build_skb() 397 skb = xdp_build_skb_from_frame(xdpf, de in aq_xdp_build_skb() 412 struct xdp_frame *xdpf; aq_xdp_run_prog() local [all...] |
/kernel/linux/linux-5.10/drivers/net/ethernet/socionext/ |
H A D | netsec.c | 272 struct xdp_frame *xdpf; member 667 bytes += desc->xdpf->len; in netsec_clean_tx_dring() 668 xdp_return_frame(desc->xdpf); in netsec_clean_tx_dring() 807 dring->desc[idx].xdpf = buf; in netsec_set_tx_de() 815 struct xdp_frame *xdpf, bool is_ndo) in netsec_xdp_queue_one() 819 struct page *page = virt_to_page(xdpf->data); in netsec_xdp_queue_one() 837 dma_handle = dma_map_single(priv->dev, xdpf->data, xdpf->len, in netsec_xdp_queue_one() 851 dma_handle = page_pool_get_dma_addr(page) + xdpf->headroom + in netsec_xdp_queue_one() 852 sizeof(*xdpf); in netsec_xdp_queue_one() 814 netsec_xdp_queue_one(struct netsec_priv *priv, struct xdp_frame *xdpf, bool is_ndo) netsec_xdp_queue_one() argument 871 struct xdp_frame *xdpf = xdp_convert_buff_to_frame(xdp); netsec_xdp_xmit_back() local 1764 struct xdp_frame *xdpf = frames[i]; netsec_xdp_xmit() local [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/socionext/ |
H A D | netsec.c | 272 struct xdp_frame *xdpf; member 675 bytes += desc->xdpf->len; in netsec_clean_tx_dring() 677 xdp_return_frame_rx_napi(desc->xdpf); in netsec_clean_tx_dring() 679 xdp_return_frame_bulk(desc->xdpf, &bq); in netsec_clean_tx_dring() 821 dring->desc[idx].xdpf = buf; in netsec_set_tx_de() 829 struct xdp_frame *xdpf, bool is_ndo) in netsec_xdp_queue_one() 833 struct page *page = virt_to_page(xdpf->data); in netsec_xdp_queue_one() 851 dma_handle = dma_map_single(priv->dev, xdpf->data, xdpf->len, in netsec_xdp_queue_one() 865 dma_handle = page_pool_get_dma_addr(page) + xdpf in netsec_xdp_queue_one() 828 netsec_xdp_queue_one(struct netsec_priv *priv, struct xdp_frame *xdpf, bool is_ndo) netsec_xdp_queue_one() argument 885 struct xdp_frame *xdpf = xdp_convert_buff_to_frame(xdp); netsec_xdp_xmit_back() local 1771 struct xdp_frame *xdpf = frames[i]; netsec_xdp_xmit() local [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/freescale/dpaa/ |
H A D | dpaa_eth.c | 1717 xdp_return_frame(swbp->xdpf); in dpaa_cleanup_tx_fd() 2198 struct xdp_frame *new_xdpf, *xdpf = *init_xdpf; in dpaa_a050385_wa_xdpf() local 2205 * enough to store the xdpf backpointer. Use an aligned headroom in dpaa_a050385_wa_xdpf() 2212 if (PTR_IS_ALIGNED(xdpf->data, DPAA_FD_DATA_ALIGNMENT) && in dpaa_a050385_wa_xdpf() 2213 xdpf->headroom >= priv->tx_headroom) { in dpaa_a050385_wa_xdpf() 2214 xdpf->headroom = priv->tx_headroom; in dpaa_a050385_wa_xdpf() 2219 * store the xdpf backpointer. If the available headroom isn't large in dpaa_a050385_wa_xdpf() 2222 aligned_data = PTR_ALIGN_DOWN(xdpf->data, DPAA_FD_DATA_ALIGNMENT); in dpaa_a050385_wa_xdpf() 2223 data_shift = xdpf->data - aligned_data; in dpaa_a050385_wa_xdpf() 2226 * shifting the data as well as storing the xdpf backpointe in dpaa_a050385_wa_xdpf() 2494 dpaa_xdp_xmit_frame(struct net_device *net_dev, struct xdp_frame *xdpf) dpaa_xdp_xmit_frame() argument 2572 struct xdp_frame *xdpf; dpaa_run_xdp() local 3048 struct xdp_frame *xdpf; dpaa_xdp_xmit() local [all...] |
/kernel/linux/linux-5.10/drivers/net/ethernet/sfc/ |
H A D | tx.c | 434 struct xdp_frame *xdpf; in efx_xdp_tx_buffers() local 464 xdpf = xdpfs[i]; in efx_xdp_tx_buffers() 472 len = xdpf->len; in efx_xdp_tx_buffers() 476 xdpf->data, len, in efx_xdp_tx_buffers() 483 tx_buffer->xdpf = xdpf; in efx_xdp_tx_buffers()
|
/kernel/linux/linux-6.6/drivers/net/ethernet/sfc/ |
H A D | tx.c | 426 struct xdp_frame *xdpf; in efx_xdp_tx_buffers() local 468 xdpf = xdpfs[i]; in efx_xdp_tx_buffers() 476 len = xdpf->len; in efx_xdp_tx_buffers() 480 xdpf->data, len, in efx_xdp_tx_buffers() 487 tx_buffer->xdpf = xdpf; in efx_xdp_tx_buffers()
|
/kernel/linux/linux-5.10/drivers/net/ethernet/qlogic/qede/ |
H A D | qede_fp.c | 306 u16 len, struct page *page, struct xdp_frame *xdpf) in qede_xdp_xmit() 333 xdp->xdpf = xdpf; in qede_xdp_xmit() 346 struct xdp_frame *xdpf; in qede_xdp_transmit() local 363 xdpf = frames[i]; in qede_xdp_transmit() 365 mapping = dma_map_single(dmadev, xdpf->data, xdpf->len, in qede_xdp_transmit() 368 xdp_return_frame_rx_napi(xdpf); in qede_xdp_transmit() 374 if (unlikely(qede_xdp_xmit(xdp_tx, mapping, 0, xdpf->len, in qede_xdp_transmit() 375 NULL, xdpf))) { in qede_xdp_transmit() 305 qede_xdp_xmit(struct qede_tx_queue *txq, dma_addr_t dma, u16 pad, u16 len, struct page *page, struct xdp_frame *xdpf) qede_xdp_xmit() argument 410 struct xdp_frame *xdpf; qede_xdp_tx_int() local [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/ti/ |
H A D | cpsw_priv.c | 55 struct xdp_frame *xdpf; in cpsw_tx_handler() local 62 xdpf = cpsw_handle_to_xdpf(token); in cpsw_tx_handler() 63 xmeta = (void *)xdpf + CPSW_XMETA_OFFSET; in cpsw_tx_handler() 66 xdp_return_frame(xdpf); in cpsw_tx_handler() 1291 int cpsw_xdp_tx_frame(struct cpsw_priv *priv, struct xdp_frame *xdpf, in cpsw_xdp_tx_frame() argument 1300 xmeta = (void *)xdpf + CPSW_XMETA_OFFSET; in cpsw_xdp_tx_frame() 1307 dma += xdpf->headroom + sizeof(struct xdp_frame); in cpsw_xdp_tx_frame() 1308 ret = cpdma_chan_submit_mapped(txch, cpsw_xdpf_to_handle(xdpf), in cpsw_xdp_tx_frame() 1309 dma, xdpf->len, port); in cpsw_xdp_tx_frame() 1311 if (sizeof(*xmeta) > xdpf in cpsw_xdp_tx_frame() 1330 struct xdp_frame *xdpf; cpsw_run_xdp() local [all...] |