| /kernel/linux/linux-6.6/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 …]
|
| /kernel/linux/linux-6.6/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 | 47 the AF_XDP use case, see below). 49 AF_XDP chapter 52 :doc:`af_xdp` use-case implies that there is a contract between the BPF 53 program that redirects XDP frames into the ``AF_XDP`` socket (``XSK``) and 59 ``METADATA_SIZE`` is an application-specific constant (``AF_XDP`` receive 62 Here is the ``AF_XDP`` consumer layout (note missing ``data_meta`` pointer)::
|
| D | index.rst | 11 af_xdp
|
| /kernel/linux/linux-5.10/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 | index.rst | 10 af_xdp
|
| /kernel/linux/linux-6.6/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 | 14 #ifndef AF_XDP 15 #define AF_XDP 44 macro 19 #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 239 umem->fd = socket(AF_XDP, SOCK_RAW | SOCK_CLOEXEC, 0); in xsk_umem__create() 567 xsk->fd = socket(AF_XDP, SOCK_RAW | SOCK_CLOEXEC, 0); in xsk_socket__create_shared()
|
| /kernel/linux/linux-6.6/tools/testing/selftests/bpf/progs/ |
| D | xdp_hw_metadata.c | 58 /* Forwarding UDP:9091 to AF_XDP */ in rx() 83 meta->rx_timestamp = 0; /* Used by AF_XDP as not avail signal */ in rx() 87 meta->rx_hash_err = err; /* Used by AF_XDP as no hash signal */ in rx()
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlx5/core/en/ |
| D | params.c | 43 /* AF_XDP doesn't build SKBs in place. */ in mlx5e_rx_get_linear_frag_sz() 47 /* XDP in mlx5e doesn't support multiple packets per page. AF_XDP is a in mlx5e_rx_get_linear_frag_sz() 79 /* AF_XDP allocates SKBs on XDP_PASS - ensure they don't occupy more in mlx5e_rx_is_linear_skb()
|
| /kernel/linux/linux-5.10/include/net/ |
| D | xsk_buff_pool.h | 84 /* AF_XDP core. */ 99 /* AF_XDP, and XDP core. */ 102 /* AF_XDP ZC drivers, via xdp_sock_buff.h */
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/intel/i40e/ |
| D | i40e_xsk.c | 76 * i40e_xsk_pool_enable - Enable/associate an AF_XDP buffer pool to a 133 * i40e_xsk_pool_disable - Disassociate an AF_XDP buffer pool from a 175 * i40e_xsk_pool_setup - Enable/disassociate an AF_XDP buffer pool to/from 450 * i40e_xmit_zc - Performs zero-copy Tx AF_XDP 520 * i40e_clean_xdp_tx_irq - Completes AF_XDP entries, and cleans XDP entries 669 * i40e_xsk_any_rx_ring_enabled - Checks if Rx rings have an AF_XDP 673 * Returns true if any of the Rx rings has an AF_XDP buffer pool attached
|
| /kernel/linux/linux-5.10/tools/lib/bpf/ |
| D | README.rst | 66 AF_XDP functions 69 AF_XDP functions should have an ``xsk_`` prefix, e.g. 75 Please take a look at Documentation/networking/af_xdp.rst in the Linux
|
| D | xsk.c | 4 * AF_XDP user-space access library. 41 #ifndef AF_XDP 42 #define AF_XDP 44 macro 46 #define PF_XDP AF_XDP 294 umem->fd = socket(AF_XDP, SOCK_RAW, 0); in xsk_umem__create_v0_0_4() 369 * // has an active AF_XDP socket bound to it. in xsk_load_xdp_prog() 735 xsk->fd = socket(AF_XDP, SOCK_RAW, 0); in xsk_socket__create_shared()
|
| /kernel/linux/linux-6.6/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 597 * i40e_xmit_zc - Performs zero-copy Tx AF_XDP 648 * i40e_clean_xdp_tx_irq - Completes AF_XDP entries, and cleans XDP entries 797 * i40e_xsk_any_rx_ring_enabled - Checks if Rx rings have an AF_XDP 801 * Returns true if any of the Rx rings has an AF_XDP buffer pool attached
|
| /kernel/linux/linux-5.10/net/xdp/ |
| D | xsk_diag.c | 108 msg->xdiag_family = AF_XDP; in xsk_diag_fill() 194 .family = AF_XDP, 211 MODULE_ALIAS_NET_PF_PROTO_TYPE(PF_NETLINK, NETLINK_SOCK_DIAG, AF_XDP);
|
| /kernel/linux/linux-6.6/include/net/ |
| D | xsk_buff_pool.h | 100 /* AF_XDP core. */ 115 /* AF_XDP, and XDP core. */ 133 /* AF_XDP ZC drivers, via xdp_sock_buff.h */
|
| /kernel/linux/linux-6.6/net/xdp/ |
| D | xsk_diag.c | 108 msg->xdiag_family = AF_XDP; in xsk_diag_fill() 198 .family = AF_XDP, 215 MODULE_ALIAS_NET_PF_PROTO_TYPE(PF_NETLINK, NETLINK_SOCK_DIAG, AF_XDP);
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/intel/ice/ |
| D | ice_xsk.c | 611 * ice_clean_xdp_irq_zc - produce AF_XDP descriptors to CQ 671 * ice_xmit_xdp_tx_zc - AF_XDP ZC handler for XDP_TX 837 * @rx_ring: AF_XDP Rx ring 982 * ice_xmit_pkt - produce a single HW Tx descriptor out of AF_XDP descriptor 984 * @desc: AF_XDP descriptor to pull the DMA address and length from 1005 * ice_xmit_pkt_batch - produce a batch of HW Tx descriptors out of AF_XDP descriptors 1007 * @descs: AF_XDP descriptors to pull the DMA addresses and lengths from 1037 * @descs: AF_XDP descriptors to pull the DMA addresses and lengths from 1144 * ice_xsk_any_rx_ring_ena - Checks if Rx rings have AF_XDP buff pool attached 1147 * Returns true if any of the Rx rings has an AF_XDP buff pool attached
|
| /kernel/linux/linux-6.6/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).
|
| /kernel/linux/linux-6.6/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()
|
| /kernel/linux/linux-6.6/net/ethtool/ |
| D | channels.c | 186 /* Disabling channels, query zero-copy AF_XDP sockets */ in ethnl_set_channels() 191 …GENL_SET_ERR_MSG(info, "requested channel counts are too low for existing zerocopy AF_XDP sockets"… in ethnl_set_channels()
|
| /kernel/linux/linux-5.10/net/ethtool/ |
| D | channels.c | 202 /* Disabling channels, query zero-copy AF_XDP sockets */ in ethnl_set_channels() 208 …GENL_SET_ERR_MSG(info, "requested channel counts are too low for existing zerocopy AF_XDP sockets"… in ethnl_set_channels()
|
| /kernel/linux/linux-6.6/tools/testing/selftests/bpf/prog_tests/ |
| D | xdp_metadata.c | 312 /* Setup separate AF_XDP for TX and RX interfaces. */ in test_xdp_metadata() 357 /* Send packet destined to RX AF_XDP socket. */ in test_xdp_metadata() 362 /* Verify AF_XDP RX packet has proper metadata. */ in test_xdp_metadata()
|