Shell script to patch MLNX OFED to add back support for MLX4 and EFA
This repository targets legacy MLNX OFED releases. If you are looking for a modern solution for NVIDIA DOCA OFED, use docaofed-patch.
This script has proven to be useful if you're maintaining systems like:
- HPC cluster with OpenHPC
- Red Hat Virtualization and oVirt with Openvswitch
If you have an additional use case please update this documentation with a Pull Request.
-
Enterprise Linux 8 or 9
- Red Hat Enterprise Linux (RHEL)
- Oracle Linux
- Rocky Linux
- Alma Linux
- CentOS
-
Enterprise Linux 8
- CodeReady Builder / PowerTools repositories must be enabled
-
Enterprise Linux 9
- CRB must be enabled
- EPEL is required for
pandoc
-
root privileges are needed for installation
-
MLNX OFED must be installed with
--upstream-libs
MLNX OFED has to be installed with --upstream-libs (the default on modern
releases). Without it a standalone legacy libibmad package is kept, which
conflicts with the patched rdma-core packages and breaks both this patch and
other packages on the system. The script detects this situation and aborts with
instructions; set ALLOW_NON_UPSTREAM_LIBS=1 to override the check if you know
what you are doing.
| Series | Releases |
|---|---|
| 25.01 | 25.01-0.6.0.0 |
| 24.10 | 24.10-4.1.4.024.10-3.2.5.024.10-2.1.8.024.10-1.1.4.0.10524.10-1.1.4.024.10-0.7.0.024.10-0.6.8.124.10-0.6.8.0 |
| 24.07 | 24.07-0.6.1.024.07-0.6.0.0 |
| 24.04 | 24.04-0.7.0.024.04-0.6.6.024.04-0.6.5.0 |
| 24.01 | 24.01-0.3.3.1 |
| 23.10 | 23.10-7.1.8.023.10-6.1.6.123.10-4.0.9.123.10-3.2.2.023.10-2.1.3.1.20123.10-2.1.3.123.10-1.1.9.023.10-0.5.5.0 |
| 23.07 | 23.07-0.5.1.223.07-0.5.0.0 |
| 23.04 | 23.04-1.1.3.023.04-0.5.3.3 |
| 5.9 | 5.9-0.5.6.0.1275.9-0.5.6.0.1255.9-0.5.6.0 |
| 5.8 | 5.8-7.0.6.15.8-6.0.4.25.8-5.1.1.25.8-4.1.5.05.8-3.0.7.0.1015.8-3.0.7.05.8-2.0.3.05.8-1.1.2.15.8-1.0.1.1 |
| 5.7 | 5.7-1.0.2.0 |
| 5.6 | 5.6-2.0.9.05.6-1.0.3.3 |
| 5.5 | 5.5-1.0.3.2 |
| 5.4 | 5.4-3.7.5.05.4-3.6.8.15.4-3.5.8.05.4-3.4.0.05.4-3.2.7.2.35.4-3.1.0.05.4-3.0.3.05.4-2.4.1.35.4-1.0.3.0 |
| 5.3 | 5.3-1.0.5.05.3-1.0.0.1 |
| 5.2 | 5.2-2.2.0.05.2-1.0.4.0 |
| 5.1 | 5.1-2.5.8.05.1-2.3.7.15.1-0.6.6.0 |
| 5.0 | 5.0-2.1.8.05.0-1.0.0.0 |
| 4.9 | 4.9-7.1.0.04.9-6.0.6.04.9-5.1.0.04.9-4.1.7.04.9-4.0.8.04.9-3.1.5.04.9-2.2.6.04.9-2.2.4.04.9-0.1.7.0 |
| 4.7 | 4.7-3.2.9.04.7-1.0.0.1 |
Debian-only, Ubuntu-only, SLES-only, and pre-Enterprise Linux 8 public drops are not listed because this script targets RPM source packages for Enterprise Linux 8 or 9.
Just run patch-mlnxofed.sh on a machine where MLNX OFED is already installed,
and you should be fine.
The script will execute dnf to install the new packages, but it's up to you to
install it or not. The resulting RPMs will be available by default on
PATCHED-MLNX-OFED directory inside $HOME
You can verify expected source markers and patched output lines against upstream
rdma-core source RPMs with:
tests/verify-releases.sh 25.01-0.6.0.0 24.10-4.1.4.0 24.04-0.6.5.0 23.04-0.5.3.3 5.8-7.0.6.1 5.3-1.0.5.0 4.7-3.2.9.0
You can check for new upstream Enterprise Linux MLNX OFED releases with:
tests/check-upstream-releases.sh
The scheduled GitHub Actions workflow runs the same check weekly. If NVIDIA
publishes a new RPM-backed Enterprise Linux release, it opens or updates one
upstream-update issue.
This shell script is made available under the Apache License, Version 2.0: https://www.apache.org/licenses/LICENSE-2.0