Home
last modified time | relevance | path

Searched full:af_xdp (Results 1 – 25 of 60) sorted by relevance

123

/linux-6.14.4/include/net/
Dxdp_sock.h2 /* 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 …]
Dxsk_buff_pool.h101 /* 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/
Dmap_xskmap.rst13 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/
Daf_xdp.rst4 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 …]
Dxdp-rx-metadata.rst55 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)::
Dxsk-tx-metadata.rst4 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
Dindex.rst11 af_xdp
/linux-6.14.4/tools/testing/selftests/bpf/
Dtest_xsk.sh5 # 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
Dxskxceiver.h17 #ifndef AF_XDP
18 #define AF_XDP 44 macro
22 #define PF_XDP AF_XDP
Dxsk.c4 * 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/
Dice_xsk.c603 * 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/
Di40e_xsk.c73 * 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/
Dxsk_diag.c108 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/
Dxdp_metadata.c63 /* Forwarding UDP:8080 to AF_XDP */ in rx()
84 * timestamp, so put some non-zero value into AF_XDP frame for in rx()
Dxdp_hw_metadata.c69 /* Forwarding UDP:9091 to AF_XDP */ in rx()
/linux-6.14.4/drivers/net/ethernet/netronome/nfp/nfd3/
Dnfd3.h57 * @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/
Ddpaa2-xsk.c102 /* 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/
Dif_xdp.h29 * handle multiple descriptors per packet thus enabling AF_XDP to split
136 /* AF_XDP offloads request. 'request' union member is consumed by the driver
Dnetdev.h19 * @NETDEV_XDP_ACT_XSK_ZEROCOPY: This feature informs if netdev supports AF_XDP
/linux-6.14.4/tools/include/uapi/linux/
Dif_xdp.h29 * handle multiple descriptors per packet thus enabling AF_XDP to split
136 /* AF_XDP offloads request. 'request' union member is consumed by the driver
Dnetdev.h19 * @NETDEV_XDP_ACT_XSK_ZEROCOPY: This feature informs if netdev supports AF_XDP
/linux-6.14.4/net/ethtool/
Dchannels.c172 /* 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/
Dxdp_metadata.c398 /* 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/
Dtx.c42 * 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/
Dnfp_net.h293 * @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).

123