| /linux/net/xdp/ |
| H A D | xsk_queue.h | 31 struct xdp_desc desc[] ____cacheline_aligned_in_smp; 160 struct xdp_desc *desc) in xp_aligned_validate_desc() 192 struct xdp_desc *desc) in xp_unaligned_validate_desc() 227 struct xdp_desc *desc) in xp_validate_desc() 239 struct xdp_desc *d, in xskq_cons_is_valid_desc() 250 struct xdp_desc *desc, in xskq_cons_read_desc() 271 struct xdp_desc *desc, struct parsed_desc *parsed) in parse_desc() 279 struct xdp_desc *descs, u32 max) in xskq_cons_read_desc_batch() 376 struct xdp_desc *desc, in xskq_cons_peek_desc() 464 static inline void xskq_prod_write_addr_batch(struct xsk_queue *q, struct xdp_desc *descs, in xskq_prod_write_addr_batch()
|
| H A D | xsk.c | 558 bool xsk_tx_peek_desc(struct xsk_buff_pool *pool, struct xdp_desc *desc) in xsk_tx_peek_desc() 608 struct xdp_desc *descs = pool->tx_descs; in xsk_tx_peek_release_fallback() 649 struct xdp_desc *descs, u32 max_descs) in __xsk_tx_peek_release_desc_batch() 912 struct xdp_desc *desc) in xsk_cq_submit_addr_single_locked() 989 struct xdp_desc *desc, struct xsk_buff_pool *pool, in xsk_skb_metadata() 1034 struct xdp_desc *desc) in xsk_build_skb_zerocopy() 1110 struct xdp_desc *desc) in xsk_build_skb() 1218 struct xdp_desc desc; in __xsk_generic_xmit()
|
| /linux/tools/testing/selftests/bpf/ |
| H A D | xsk.h | 65 static inline struct xdp_desc *xsk_ring_prod__tx_desc(struct xsk_ring_prod *tx, in xsk_ring_prod__tx_desc() 68 struct xdp_desc *descs = (struct xdp_desc *)tx->ring; in xsk_ring_prod__tx_desc() 73 static inline const struct xdp_desc * 76 const struct xdp_desc *descs = (const struct xdp_desc *)rx->ring; in xsk_ring_cons__rx_desc()
|
| H A D | xsk.c | 626 xsk->config.rx_size * sizeof(struct xdp_desc), in xsk_socket__create_shared() 647 xsk->config.tx_size * sizeof(struct xdp_desc), in xsk_socket__create_shared() 693 xsk->config.tx_size * sizeof(struct xdp_desc)); in xsk_socket__create_shared() 697 xsk->config.rx_size * sizeof(struct xdp_desc)); in xsk_socket__create_shared() 748 size_t desc_sz = sizeof(struct xdp_desc); in xsk_socket__delete()
|
| H A D | xdp_hw_metadata.c | 357 struct xdp_desc *tx_desc; in ping_pong() 446 const struct xdp_desc *rx_desc; in verify_metadata()
|
| /linux/drivers/net/ethernet/freescale/dpaa2/ |
| H A D | dpaa2-xsk.c | 335 struct xdp_desc *xdp_desc) in dpaa2_xsk_tx_build_fd() argument 354 addr = xsk_buff_raw_get_dma(ch->xsk_pool, xdp_desc->addr); in dpaa2_xsk_tx_build_fd() 355 xsk_buff_raw_dma_sync_for_device(ch->xsk_pool, addr, xdp_desc->len); in dpaa2_xsk_tx_build_fd() 359 dpaa2_sg_set_len(sgt, xdp_desc->len); in dpaa2_xsk_tx_build_fd() 379 dpaa2_fd_set_len(fd, xdp_desc->len); in dpaa2_xsk_tx_build_fd() 393 struct xdp_desc *xdp_descs = ch->xsk_pool->tx_descs; in dpaa2_xsk_tx()
|
| /linux/drivers/net/ethernet/marvell/octeontx2/nic/ |
| H A D | otx2_xsk.c | 232 struct xdp_desc *xdp_desc = pool->tx_descs; in otx2_zc_napi_handler() local 243 dma_addr = xsk_buff_raw_get_dma(pool, xdp_desc[i].addr); in otx2_zc_napi_handler() 244 otx2_xsk_sq_append_pkt(pfvf, dma_addr, xdp_desc[i].len, queue); in otx2_zc_napi_handler()
|
| /linux/include/net/ |
| H A D | xsk_buff_pool.h | 17 struct xdp_desc; 71 struct xdp_desc *tx_descs; 195 static inline bool xp_mb_desc(const struct xdp_desc *desc) in xp_mb_desc()
|
| H A D | xdp_sock_drv.h | 28 bool xsk_tx_peek_desc(struct xsk_buff_pool *pool, struct xdp_desc *desc); 125 static inline bool xsk_is_eop_desc(const struct xdp_desc *desc) in xsk_is_eop_desc() 359 struct xdp_desc *desc) in xsk_tx_peek_desc() 456 static inline bool xsk_is_eop_desc(const struct xdp_desc *desc) in xsk_is_eop_desc()
|
| /linux/drivers/net/ethernet/intel/i40e/ |
| H A D | i40e_xsk.c | 508 static void i40e_xmit_pkt(struct i40e_ring *xdp_ring, struct xdp_desc *desc, in i40e_xmit_pkt() 525 static void i40e_xmit_pkt_batch(struct i40e_ring *xdp_ring, struct xdp_desc *desc, in i40e_xmit_pkt_batch() 550 static void i40e_fill_tx_hw_ring(struct i40e_ring *xdp_ring, struct xdp_desc *descs, u32 nb_pkts, in i40e_fill_tx_hw_ring() 581 struct xdp_desc *descs = xdp_ring->xsk_pool->tx_descs; in i40e_xmit_zc()
|
| /linux/tools/include/uapi/linux/ |
| H A D | if_xdp.h | 167 struct xdp_desc { struct
|
| /linux/include/uapi/linux/ |
| H A D | if_xdp.h | 167 struct xdp_desc { struct
|
| /linux/drivers/net/ethernet/intel/ice/ |
| H A D | ice_xsk.c | 710 struct xsk_buff_pool *xsk_pool, struct xdp_desc *desc, in ice_xmit_pkt() 736 struct xdp_desc *descs, in ice_xmit_pkt_batch() 771 struct xdp_desc *descs, u32 nb_pkts, in ice_fill_tx_hw_ring() 793 struct xdp_desc *descs = xsk_pool->tx_descs; in ice_xmit_zc()
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/ |
| H A D | tx.c | 82 struct xdp_desc desc; in mlx5e_xsk_tx()
|
| /linux/include/net/libeth/ |
| H A D | xsk.h | 191 __libeth_xsk_xmit_fill_buf_md(const struct xdp_desc *xdesc, in __libeth_xsk_xmit_fill_buf_md() 224 __libeth_xsk_xmit_fill_buf(const struct xdp_desc *xdesc, in __libeth_xsk_xmit_fill_buf()
|
| H A D | xdp.h | 360 struct xdp_desc desc; 362 } __aligned(sizeof(struct xdp_desc)); 365 static_assert(sizeof(struct libeth_xdp_tx_frame) == sizeof(struct xdp_desc));
|
| /linux/tools/testing/selftests/bpf/prog_tests/ |
| H A D | xdp_metadata.c | 139 struct xdp_desc *tx_desc; in generate_packet() 261 const struct xdp_desc *rx_desc; in verify_xsk_metadata()
|
| H A D | test_xsk.c | 1035 const struct xdp_desc *desc = xsk_ring_cons__rx_desc(&xsk->rx, idx_rx++); in __receive_pkts() 1225 struct xdp_desc *tx_desc = xsk_ring_prod__tx_desc(&xsk->tx, idx + i); in __send_pkts()
|
| /linux/drivers/net/ethernet/ti/icssg/ |
| H A D | icssg_common.c | 105 struct xdp_desc xdp_desc; in emac_xsk_xmit_zc() local 123 if (!xsk_tx_peek_desc(pool, &xdp_desc)) in emac_xsk_xmit_zc() 126 dma_buf = xsk_buff_raw_get_dma(pool, xdp_desc.addr); in emac_xsk_xmit_zc() 127 pkt_len = xdp_desc.len; in emac_xsk_xmit_zc()
|
| /linux/Documentation/networking/ |
| H A D | af_xdp.rst | 188 is a struct xdp_desc descriptor. The descriptor contains UMEM offset 194 The user application consumes struct xdp_desc descriptors from this 200 The TX ring is used to send frames. The struct xdp_desc descriptor is 206 The user application produces struct xdp_desc descriptors to this 592 // struct xdp_desc *desc; 604 // typedef struct xdp_desc RING_TYPE; 658 struct xdp_desc *desc = xsk_ring_cons__rx_desc(&xsk->rx, idx_rx++); 701 struct xdp_desc *tx_desc;
|
| /linux/drivers/net/ethernet/intel/igc/ |
| H A D | igc_main.c | 3040 struct xdp_desc xdp_desc; in igc_xdp_xmit_zc() local 3060 while (budget >= 4 && xsk_tx_peek_desc(pool, &xdp_desc)) { in igc_xdp_xmit_zc() 3070 IGC_TXD_DCMD | xdp_desc.len; in igc_xdp_xmit_zc() 3071 olinfo_status = xdp_desc.len << IGC_ADVTXD_PAYLEN_SHIFT; in igc_xdp_xmit_zc() 3073 dma = xsk_buff_raw_get_dma(pool, xdp_desc.addr); in igc_xdp_xmit_zc() 3074 meta = xsk_buff_get_metadata(pool, xdp_desc.addr, in igc_xdp_xmit_zc() 3075 xdp_desc.options); in igc_xdp_xmit_zc() 3076 xsk_buff_raw_dma_sync_for_device(pool, dma, xdp_desc.len); in igc_xdp_xmit_zc() 3102 bi->bytecount = xdp_desc.len; in igc_xdp_xmit_zc() 3107 netdev_tx_sent_queue(txring_txq(ring), xdp_desc.len); in igc_xdp_xmit_zc()
|
| /linux/drivers/net/ethernet/intel/igb/ |
| H A D | igb_xsk.c | 469 struct xdp_desc *descs = xsk_pool->tx_descs; in igb_xmit_zc()
|
| /linux/drivers/net/ethernet/stmicro/stmmac/ |
| H A D | stmmac_main.c | 2690 struct xdp_desc xdp_desc; in stmmac_xdp_xmit_zc() local 2714 if (!xsk_tx_peek_desc(pool, &xdp_desc)) in stmmac_xdp_xmit_zc() 2719 xdp_desc.len > priv->est->max_sdu[queue]) { in stmmac_xdp_xmit_zc() 2725 dma_addr = xsk_buff_raw_get_dma(pool, xdp_desc.addr); in stmmac_xdp_xmit_zc() 2726 meta = xsk_buff_get_metadata(pool, xdp_desc.addr, in stmmac_xdp_xmit_zc() 2727 xdp_desc.options); in stmmac_xdp_xmit_zc() 2728 xsk_buff_raw_dma_sync_for_device(pool, dma_addr, xdp_desc.len); in stmmac_xdp_xmit_zc() 2735 0, xdp_desc.len, false); in stmmac_xdp_xmit_zc() 2764 stmmac_prepare_tx_desc(priv, tx_desc, 1, xdp_desc.len, in stmmac_xdp_xmit_zc() 2766 xdp_desc.len); in stmmac_xdp_xmit_zc()
|
| /linux/samples/bpf/ |
| H A D | xdp_sample_user.c | 144 struct xdp_desc { struct 1319 (struct xdp_desc){ ifindex, prog_id, xdp_flags }; in sample_install_xdp()
|
| /linux/drivers/net/ethernet/engleder/ |
| H A D | tsnep_main.c | 761 static int tsnep_xdp_tx_map_zc(struct xdp_desc *xdpd, struct tsnep_tx *tx) in tsnep_xdp_tx_map_zc() 780 static void tsnep_xdp_xmit_frame_ring_zc(struct xdp_desc *xdpd, in tsnep_xdp_xmit_frame_ring_zc() 794 struct xdp_desc *descs = tx->xsk_pool->tx_descs; in tsnep_xdp_xmit_zc()
|