mirror of
https://github.com/torvalds/linux.git
synced 2026-05-29 17:43:52 +02:00
Documentation: xsk: correct the obsolete references and examples
The modified lines are mainly related to the following commits[1][2] which remove those tests and examples. Since samples/bpf has been deprecated, we can refer to more examples that are easily searched in the various xdp-projects, like the following link: https://github.com/xdp-project/bpf-examples/tree/main/AF_XDP-example [1] commitf366006342("libbpf: move xsk.{c,h} into selftests/bpf") [2] commitcfb5a2dbf1("bpf, samples: Remove AF_XDP samples") Signed-off-by: Jason Xing <kernelxing@tencent.com> Reviewed-by: Toke Høiland-Jørgensen <toke@redhat.com> Reviewed-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com> Acked-by: Stanislav Fomichev <sdf@fomichev.me> Link: https://patch.msgid.link/20250708062907.11557-1-kerneljasonxing@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
76d727ae02
commit
819802e25a
|
|
@ -209,13 +209,10 @@ Libbpf
|
|||
|
||||
Libbpf is a helper library for eBPF and XDP that makes using these
|
||||
technologies a lot simpler. It also contains specific helper functions
|
||||
in tools/lib/bpf/xsk.h for facilitating the use of AF_XDP. It
|
||||
contains two types of functions: those that can be used to make the
|
||||
setup of AF_XDP socket easier and ones that can be used in the data
|
||||
plane to access the rings safely and quickly. To see an example on how
|
||||
to use this API, please take a look at the sample application in
|
||||
samples/bpf/xdpsock_usr.c which uses libbpf for both setup and data
|
||||
plane operations.
|
||||
in tools/testing/selftests/bpf/xsk.h for facilitating the use of
|
||||
AF_XDP. It contains two types of functions: those that can be used to
|
||||
make the setup of AF_XDP socket easier and ones that can be used in the
|
||||
data plane to access the rings safely and quickly.
|
||||
|
||||
We recommend that you use this library unless you have become a power
|
||||
user. It will make your program a lot simpler.
|
||||
|
|
@ -372,9 +369,8 @@ needs to explicitly notify the kernel to send any packets put on the
|
|||
TX ring. This can be accomplished either by a poll() call, as in the
|
||||
RX path, or by calling sendto().
|
||||
|
||||
An example of how to use this flag can be found in
|
||||
samples/bpf/xdpsock_user.c. An example with the use of libbpf helpers
|
||||
would look like this for the TX path:
|
||||
An example with the use of libbpf helpers would look like this for the
|
||||
TX path:
|
||||
|
||||
.. code-block:: c
|
||||
|
||||
|
|
@ -549,12 +545,12 @@ later in this document.
|
|||
Usage
|
||||
-----
|
||||
|
||||
In order to use AF_XDP sockets two parts are needed. The
|
||||
user-space application and the XDP program. For a complete setup and
|
||||
usage example, please refer to the sample application. The user-space
|
||||
side is xdpsock_user.c and the XDP side is part of libbpf.
|
||||
In order to use AF_XDP sockets two parts are needed. The user-space
|
||||
application and the XDP program. For a complete setup and usage example,
|
||||
please refer to the xdp-project at
|
||||
https://github.com/xdp-project/bpf-examples/tree/main/AF_XDP-example.
|
||||
|
||||
The XDP code sample included in tools/lib/bpf/xsk.c is the following:
|
||||
The XDP code sample is the following:
|
||||
|
||||
.. code-block:: c
|
||||
|
||||
|
|
@ -752,11 +748,12 @@ to facilitate extending a zero-copy driver with multi-buffer support.
|
|||
|
||||
Sample application
|
||||
==================
|
||||
|
||||
There is a xdpsock benchmarking/test application included that
|
||||
demonstrates how to use AF_XDP sockets with private UMEMs. Say that
|
||||
you would like your UDP traffic from port 4242 to end up in queue 16,
|
||||
that we will enable AF_XDP on. Here, we use ethtool for this::
|
||||
There is a xdpsock benchmarking/test application that can be found at
|
||||
https://github.com/xdp-project/bpf-examples/tree/main/AF_XDP-example
|
||||
that demonstrates how to use AF_XDP sockets with private
|
||||
UMEMs. Say that you would like your UDP traffic from port 4242 to end
|
||||
up in queue 16, that we will enable AF_XDP on. Here, we use ethtool
|
||||
for this::
|
||||
|
||||
ethtool -N p3p2 rx-flow-hash udp4 fn
|
||||
ethtool -N p3p2 flow-type udp4 src-port 4242 dst-port 4242 \
|
||||
|
|
@ -773,7 +770,7 @@ can be displayed with "-h", as usual.
|
|||
This sample application uses libbpf to make the setup and usage of
|
||||
AF_XDP simpler. If you want to know how the raw uapi of AF_XDP is
|
||||
really used to make something more advanced, take a look at the libbpf
|
||||
code in tools/lib/bpf/xsk.[ch].
|
||||
code in tools/testing/selftests/bpf/xsk.[ch].
|
||||
|
||||
FAQ
|
||||
=======
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user