-
Notifications
You must be signed in to change notification settings - Fork 103
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
cleanup: increase base kernel support
- Loading branch information
1 parent
1dac4e6
commit 8c7b36f
Showing
2 changed files
with
69 additions
and
60 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -22,43 +22,74 @@ protocol when the application is not scheduled. | |
OpenOnload is distributed as source code. Instructions for building, packaging | ||
and installing may be found in [DEVELOPING.md](DEVELOPING.md) | ||
|
||
For each interface on which Onload is to use AF_XDP, execute the following: | ||
If there are any interfaces to be accelerated by Onload which are not | ||
AMD Solarflare interfaces, execute the following to register those interfaces | ||
to be accelerated using AF_XDP: | ||
|
||
```sh | ||
echo ens2f0 > /sys/module/sfc_resource/afxdp/register | ||
``` | ||
|
||
Nota bene: for linux<5.11 you may need to run `ulimit -l unlimited` | ||
before the line above. | ||
|
||
The application to be Onloaded should be launched by prefixing the command | ||
line with `onload`. | ||
|
||
## Contributors | ||
## Support | ||
|
||
Please see [CONTRIBUTING.md](CONTRIBUTING.md) | ||
The publicly-hosted repository is a community-supported project. When raising | ||
issues on this repository it is expected that users will be running | ||
from the head of the git tree to pick up recent changes, not using official | ||
versions of Onload that were typically released before recent breaking kernel | ||
changes appeared as that is likely to lead to many duplicate issues being | ||
raised. Incompatibilities introduced by recent kernel versions are likely | ||
to be fixed rapidly here in this repository. | ||
|
||
## Onload with AF_XDP | ||
Supported releases of OpenOnload are available from | ||
<https://www.xilinx.com/support/download/nic-software-and-drivers.html#open>. | ||
Please raise issues on _supported releases_ of Onload with | ||
<[email protected]>. | ||
|
||
### Compatible network adapters, drivers and operating systems | ||
## Compatible Linux kernels and distributions | ||
|
||
This source tree is compatible with the following Linux kernels and | ||
distributions: | ||
|
||
* Debian 12 | ||
* Ubuntu LTS 22.04, 24.04 | ||
* Red Hat Enterprise Linux 8.6 - 8.10 | ||
* Red Hat Enterprise Linux 9.0 - 9.4 | ||
* kernel.org Linux kernels 5.11 - 6.9 | ||
|
||
OpenOnload can accelerate applications on operating systems with AF_XDP support. | ||
AF_XDP support needs Linux kernel version 5.3 or later. To support zero-copy, | ||
Onload needs AF_XDP network adapter drivers to implement the necessary AF_XDP | ||
primitives. Typically the latest drivers from the network adapter vendors will | ||
support these primitives. | ||
## Onload with AMD Solarflare NICs | ||
|
||
The AF_XDP support is currently under development and is not yet at final | ||
release quality. | ||
Onload provides optimum networking acceleration and additional features using | ||
the native ef_vi hardware interface provided by AMD Solarflare network | ||
adapters compared to using Linux's AF_XDP mechanism. In this mode kernel and | ||
driver support for AF_XDP is not required. | ||
|
||
The following operating system distributions are the minimum versions known | ||
to provide an adequate level of AF_XDP support for Onload: | ||
A version of the 'sfc' net driver for AMD Solarflare network adapters is | ||
included. | ||
|
||
* Ubuntu LTS 20.04 | ||
* Debian 10 with Linux kernel 5.10 | ||
* Redhat Enterprise Linux 8.3 | ||
* Redhat Enterprise Linux 9.0 | ||
* kernel.org Linux kernels from version 5.4 | ||
### Compatible AMD Solarflare network adapters | ||
|
||
The following adapters are able to support OpenOnload without AF_XDP: | ||
|
||
* SFN8522, SFN8542, SFN8042 | ||
* X2522, X2522-25G, X2541 | ||
* X3522 | ||
|
||
## Onload with AF_XDP | ||
|
||
OpenOnload can accelerate applications on non-Solarflare network adapters | ||
with support for AF_XDP. | ||
|
||
### Compatible network adapters, drivers and operating systems | ||
|
||
To support zero-copy, Onload needs AF_XDP network adapter drivers to implement | ||
the necessary AF_XDP primitives. Typically the latest drivers from the network | ||
adapter vendors will support these primitives. | ||
|
||
The AF_XDP support is a community-supported work in progress that is not | ||
currently at release quality. | ||
|
||
If a netdriver does not support AF_XDP in native mode, Onload will try to use | ||
generic XDP mode when registering an interface. To make it work, one has to set | ||
|
@@ -68,7 +99,7 @@ $ make -C ./src/tools/bpf_link_helper/ | |
$ echo $(realpath ./src/tools/bpf_link_helper/bpf-link-helper) | sudo tee /sys/module/sfc_resource/parameters/bpf_link_helper | ||
``` | ||
|
||
### Building without Xilinx NICs, for AF_XDP only | ||
### Building without AMD Solarflare NICs, for AF_XDP only | ||
|
||
OpenOnload can be built without SFC driver: | ||
* `make`: use `HAVE_SFC=0` variable; | ||
|
@@ -79,42 +110,10 @@ Also, it can be built without EFCT and AUX support: | |
* `make`: use `HAVE_EFCT=0` variable; | ||
* `onload_build`: use `--no-efct` parameter. | ||
|
||
## Native Onload with Xilinx/AMD NICs | ||
|
||
Onload also works with the native ef_vi hardware interface, supported by Xilinx | ||
network adapters. In this mode of operation, AF_XDP kernel and driver support | ||
is not required. This allows Onload to be used on older operating systems and | ||
take advantage of additional features. A version of the 'sfc' net driver for | ||
Xilinx network adapters is included. | ||
|
||
### Compatible Xilinx network adapters | ||
|
||
The following adapters at least are able to support OpenOnload without AF_XDP: | ||
|
||
* X2541 | ||
* X2522, X2522-25G | ||
* X3522 | ||
* SFN8042 | ||
* SFN8522, SFN8542 | ||
|
||
### Compatible Linux kernels and distributions for AMD Solarflare network adapters | ||
## Contributions | ||
|
||
This source tree is known to work with AMD Solarflare network adapters | ||
on the following Linux distributions: | ||
|
||
* Ubuntu LTS 20.04, LTS 22.04 | ||
* Debian 11, 12 | ||
* Redhat Enterprise Linux 8.1 - 8.9 | ||
* Redhat Enterprise Linux 9.0 - 9.3 | ||
* Linux kernel in the range 4.15 - 6.6 | ||
|
||
## Support | ||
|
||
The publicly-hosted repository is a community-supported project. | ||
|
||
Supported releases of OpenOnload are available from | ||
https://www.xilinx.com/support/download/nic-software-and-drivers.html#open | ||
Please see [CONTRIBUTING.md](CONTRIBUTING.md) | ||
|
||
## Copyright | ||
|
||
This file: (c) Copyright 2020-2024 Xilinx, Inc. | ||
This file: (c) Copyright 2020-2024 Advanced Micro Devices, Inc. |