/linux-6.14.4/include/net/ |
D | xdp_sock.h | 2 /* AF_XDP internal functions 97 * AF_XDP TX metadata hooks for network devices. 102 * Called when AF_XDP frame requested egress timestamp. 105 * Called when AF_XDP frame, that had requested egress timestamp, 109 * Called when AF_XDP frame requested HW checksum offload. csum_start 114 * Called when AF_XDP frame requested launch time HW offload support. 134 * @meta: pointer to AF_XDP metadata area 138 * it prepares AF_XDP egress packet. The value of @compl should be stored 154 * xsk_tx_metadata_request - Evaluate AF_XDP TX metadata at submission 156 * @meta: pointer to AF_XDP metadata area [all …]
|
D | xsk_buff_pool.h | 101 /* AF_XDP core. */ 116 /* AF_XDP, and XDP core. */ 133 /* AF_XDP ZC drivers, via xdp_sock_buff.h */
|
/linux-6.14.4/Documentation/bpf/ |
D | map_xskmap.rst | 13 This map type redirects raw XDP frames to `AF_XDP`_ sockets (XSKs), a new type of 15 user space without having to traverse the full network stack. An AF_XDP socket 43 An AF_XDP socket that is bound to a certain <netdev/queue_id> will *only* 50 the ``max_entries`` map parameter. For AF_XDP ``max_entries`` is equal to the number 179 For an example on how create AF_XDP sockets, please see the AF_XDP-example and 180 AF_XDP-forwarding programs in the `bpf-examples`_ directory in the `libxdp`_ repository. 181 For a detailed explanation of the AF_XDP interface please see: 184 - `AF_XDP`_ kernel documentation. 187 The most comprehensive resource for using XSKMAPs and AF_XDP is `libxdp`_. 190 .. _AF_XDP: https://www.kernel.org/doc/html/latest/networking/af_xdp.html [all …]
|
/linux-6.14.4/Documentation/networking/ |
D | af_xdp.rst | 4 AF_XDP title 10 AF_XDP is an address family that is optimized for high performance 19 bpf_redirect_map() function. AF_XDP sockets enable the possibility for 23 An AF_XDP socket (XSK) is created with the normal socket() 81 AF_XDP can operate in two different modes: XDP_SKB and XDP_DRV. If the 86 hand, if the driver has support for XDP, it will be used by the AF_XDP 93 In order to use an AF_XDP socket, a number of associated objects need 97 For an overview on how AF_XDP works, you can also take a look at the 101 at AF_XDP. Nearly everything changed since then. Jonathan Corbet has 103 with AF_XDP". It can be found at https://lwn.net/Articles/750845/. [all …]
|
D | xdp-rx-metadata.rst | 55 the AF_XDP use case, see below). 57 AF_XDP chapter 60 :doc:`af_xdp` use-case implies that there is a contract between the BPF 61 program that redirects XDP frames into the ``AF_XDP`` socket (``XSK``) and 67 ``METADATA_SIZE`` is an application-specific constant (``AF_XDP`` receive 70 Here is the ``AF_XDP`` consumer layout (note missing ``data_meta`` pointer)::
|
D | xsk-tx-metadata.rst | 4 AF_XDP TX Metadata 8 via :doc:`af_xdp`. Refer to :doc:`xdp-rx-metadata` on how to access similar 38 An AF_XDP application can request headrooms larger than ``sizeof(struct 76 Hardware Clock (PHC) to ensure accuracy. AF_XDP takes a different data path 78 their transmission. Instead, AF_XDP immediately hands off the packets to
|
D | index.rst | 11 af_xdp
|
/linux-6.14.4/tools/testing/selftests/bpf/ |
D | test_xsk.sh | 5 # AF_XDP selftests based on veth 7 # End-to-end AF_XDP over Veth test 28 # AF_XDP is an address family optimized for high performance packet processing, 31 # An AF_XDP socket is linked to a single UMEM which is a region of virtual 34 # Refer to AF_XDP Kernel Documentation for detailed information: 35 # https://www.kernel.org/doc/html/latest/networking/af_xdp.html
|
D | xskxceiver.h | 17 #ifndef AF_XDP 18 #define AF_XDP 44 macro 22 #define PF_XDP AF_XDP
|
D | xsk.c | 4 * AF_XDP user-space access library. 44 #ifndef AF_XDP 45 #define AF_XDP 44 macro 49 #define PF_XDP AF_XDP 241 umem->fd = socket(AF_XDP, SOCK_RAW | SOCK_CLOEXEC, 0); in xsk_umem__create() 569 xsk->fd = socket(AF_XDP, SOCK_RAW | SOCK_CLOEXEC, 0); in xsk_socket__create_shared()
|
/linux-6.14.4/drivers/net/ethernet/intel/ice/ |
D | ice_xsk.c | 603 * ice_clean_xdp_irq_zc - produce AF_XDP descriptors to CQ 605 * @xsk_pool: AF_XDP buffer pool pointer 665 * ice_xmit_xdp_tx_zc - AF_XDP ZC handler for XDP_TX 668 * @xsk_pool: AF_XDP buffer pool pointer 755 * @xsk_pool: AF_XDP buffer pool pointer 806 * @rx_ring: AF_XDP Rx ring 807 * @xsk_pool: AF_XDP buffer pool pointer 952 * ice_xmit_pkt - produce a single HW Tx descriptor out of AF_XDP descriptor 955 * @desc: AF_XDP descriptor to pull the DMA address and length from 977 * ice_xmit_pkt_batch - produce a batch of HW Tx descriptors out of AF_XDP descriptors [all …]
|
/linux-6.14.4/drivers/net/ethernet/intel/i40e/ |
D | i40e_xsk.c | 73 * i40e_xsk_pool_enable - Enable/associate an AF_XDP buffer pool to a 130 * i40e_xsk_pool_disable - Disassociate an AF_XDP buffer pool from a 172 * i40e_xsk_pool_setup - Enable/disassociate an AF_XDP buffer pool to/from 571 * i40e_xmit_zc - Performs zero-copy Tx AF_XDP 622 * i40e_clean_xdp_tx_irq - Completes AF_XDP entries, and cleans XDP entries 771 * i40e_xsk_any_rx_ring_enabled - Checks if Rx rings have an AF_XDP 775 * Returns true if any of the Rx rings has an AF_XDP buffer pool attached
|
/linux-6.14.4/net/xdp/ |
D | xsk_diag.c | 108 msg->xdiag_family = AF_XDP; in xsk_diag_fill() 198 .family = AF_XDP, 216 MODULE_ALIAS_NET_PF_PROTO_TYPE(PF_NETLINK, NETLINK_SOCK_DIAG, AF_XDP);
|
/linux-6.14.4/tools/testing/selftests/bpf/progs/ |
D | xdp_metadata.c | 63 /* Forwarding UDP:8080 to AF_XDP */ in rx() 84 * timestamp, so put some non-zero value into AF_XDP frame for in rx()
|
D | xdp_hw_metadata.c | 69 /* Forwarding UDP:9091 to AF_XDP */ in rx()
|
/linux-6.14.4/drivers/net/ethernet/netronome/nfp/nfd3/ |
D | nfd3.h | 57 * @xdp: XSK buffer pool handle (for AF_XDP) 64 * buffer from the TX queue (for AF_XDP).
|
/linux-6.14.4/drivers/net/ethernet/freescale/dpaa2/ |
D | dpaa2-xsk.c | 102 /* Rx frame processing routine for the AF_XDP fast path */ 123 /* AF_XDP doesn't support any other formats */ in dpaa2_xsk_rx() 231 netdev_err(dev, "AF_XDP zero-copy not supported on devices <= WRIOP(3, 0, 0)\n"); in dpaa2_xsk_enable_pool() 236 netdev_err(dev, "AF_XDP zero-copy not supported on DPNI with more then 8 queues\n"); in dpaa2_xsk_enable_pool()
|
/linux-6.14.4/include/uapi/linux/ |
D | if_xdp.h | 29 * handle multiple descriptors per packet thus enabling AF_XDP to split 136 /* AF_XDP offloads request. 'request' union member is consumed by the driver
|
D | netdev.h | 19 * @NETDEV_XDP_ACT_XSK_ZEROCOPY: This feature informs if netdev supports AF_XDP
|
/linux-6.14.4/tools/include/uapi/linux/ |
D | if_xdp.h | 29 * handle multiple descriptors per packet thus enabling AF_XDP to split 136 /* AF_XDP offloads request. 'request' union member is consumed by the driver
|
D | netdev.h | 19 * @NETDEV_XDP_ACT_XSK_ZEROCOPY: This feature informs if netdev supports AF_XDP
|
/linux-6.14.4/net/ethtool/ |
D | channels.c | 172 /* Disabling channels, query zero-copy AF_XDP sockets */ in ethnl_set_channels() 177 …GENL_SET_ERR_MSG(info, "requested channel counts are too low for existing zerocopy AF_XDP sockets"… in ethnl_set_channels()
|
/linux-6.14.4/tools/testing/selftests/bpf/prog_tests/ |
D | xdp_metadata.c | 398 /* Setup separate AF_XDP for RX interface. */ in test_xdp_metadata() 443 /* Setup separate AF_XDP for TX interface nad send packet to the RX socket. */ in test_xdp_metadata() 457 /* Verify packet sent from AF_XDP has proper metadata. */ in test_xdp_metadata()
|
/linux-6.14.4/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/ |
D | tx.c | 42 * in order, so post a NOP to get a CQE. Since AF_XDP doesn't distinguish
|
/linux-6.14.4/drivers/net/ethernet/netronome/nfp/ |
D | nfp_net.h | 293 * @xdp: XSK buffer pool handle (for AF_XDP) 310 * @xsk_rxbufs: Array of transmitted FL/RX buffers (for AF_XDP) 348 * @xsk_pool: XSK buffer pool active on vector queue pair (for AF_XDP) 499 * @xsk_pools: XSK buffer pools, @max_r_vecs in size (for AF_XDP).
|