Installing MLNX_OFED
For installation of MLNX_OFED on Community OSs, please see section "Installation on Community Operating Systems" below.
The installation script, mlnxofedinstall, performs the following:
- Discovers the currently installed kernel 
- Uninstalls any software stacks that are part of the standard operating system distribution or another vendor's commercial stack 
- Installs the MLNX_OFED_LINUX binary RPMs (if they are available for the current kernel) 
- Identifies the currently installed InfiniBand and Ethernet network adapters and automatically upgrades the firmware - Note: To perform a firmware upgrade using customized firmware binaries, a path can be provided to the folder that contains the firmware binary files, by running --fw-image-dir. Using this option, the firmware version embedded in the MLNX_OFED package will be ignored. - Example: - ./mlnxofedinstall --fw-image-dir /tmp/my_fw_bin_files 
If the driver detects unsupported cards on the system, it will abort the installation procedure. To avoid this, make sure to add --skip-unsupported-devices-check flag during installation.
Usage
            
            ./mnt/mlnxofedinstall [OPTIONS]
    
The installation script removes all previously installed OFED packages and re-installs from scratch. You will be prompted to acknowledge the deletion of the old packages.
Pre-existing configuration files will be saved with the extension “.conf.rpmsave”.
- If you need to install OFED on an entire (homogeneous) cluster, a common strategy is to mount the ISO image on one of the cluster nodes and then copy it to a shared file system such as NFS. To install on all the cluster nodes, use cluster-aware tools (suchaspdsh). 
- If your kernel version does not match with any of the offered pre-built RPMs, you can add your kernel version by using the “mlnx_add_kernel_support.sh” script located inside the MLNX_OFED package. Warning- On Redhat and SLES distributions with errata kernel installed there is no need to use the mlnx_add_kernel_support.sh script. The regular installation can be performed and weak-updates mechanism will create symbolic links to the MLNX_OFED kernel modules. Warning- If you regenerate kernel modules for a custom kernel (using --add-kernel-support), the packages installation will not involve automatic regeneration of the initramfs. In some cases, such as a system with a root filesystem mounted over a ConnectX card, not regenerating the initramfs may even cause the system to fail to reboot. - In such cases, the installer will recommend running the following command to update the initramfs: - dracut -f - On some OSs, dracut -f might result in the following error message which can be safely ignore. - libkmod: kmod_module_new_from_path: kmod_module 'mdev' already exists with different path - The “mlnx_add_kernel_support.sh” script can be executed directly from the mlnxofedinstall script. For further information, please see '--add-kernel-support' option below. Warning- On Ubuntu and Debian distributions drivers installation use Dynamic Kernel Module Support (DKMS) framework. Thus, the drivers' compilation will take place on the host during MLNX_OFED installation. 
 Therefore, using "mlnx_add_kernel_support.sh" is irrelevant on Ubuntu and Debian distributions.- Example: The following command will create a MLNX_OFED_LINUX ISO image for RedHat 7.3 under the /tmp directory. - # ./MLNX_OFED_LINUX-x.x-x-rhel7. - 3-x86_64/mlnx_add_kernel_support.sh -m /tmp/MLNX_OFED_LINUX-x.x-x-rhel7.- 3-x86_64/ --make-tgz Note: This program will create MLNX_OFED_LINUX TGZ- forrhel7.- 3under /tmp directory. All Mellanox, OEM, OFED, or Distribution IB packages will be removed. Do you want to- continue?[y/N]:y See log file /tmp/mlnx_ofed_iso.- 21642.log Building OFED RPMs. Please wait... Removing OFED RPMs... Created /tmp/MLNX_OFED_LINUX-x.x-x-rhel7.- 3-x86_64-ext.tgz
- The script adds the following lines to /etc/security/limits.conf for the userspace components such as MPI: - * soft memlock unlimited 
- * hard memlock unlimited - These settings set the amount of memory that can be pinned by a userspace application to unlimited. If desired, tune the value unlimited to a specific amount of RAM. 
 
 
For your machine to be part of the InfiniBand/VPI fabric, a Subnet Manager must be running on one of the fabric nodes. At this point, OFED for Linux has already installed the OpenSM Subnet Manager on your machine.
For the list of installation options, run: ./mlnxofedinstall --h
This section describes the installation procedure of MLNX_OFED on NVIDIA adapter cards.
- Log in to the installation machine as root. 
- Mount the ISO image on your machine. - host1# mount -o ro,loop MLNX_OFED_LINUX-<ver>-<OS label>-<CPU arch>.iso /mnt 
- Run the installation script. - /mnt/mlnxofedinstall Logs dir: /tmp/MLNX_OFED_LINUX-x.x-x.logs This program will install the MLNX_OFED_LINUX - packageon your machine. Note that all other Mellanox, OEM, OFED, RDMA or Distribution IB packages will be removed. Those packages are removed due to conflicts with MLNX_OFED_LINUX,- donot reinstall them. Starting MLNX_OFED_LINUX-x.x.x installation ... ........ ........ Installation finished successfully. Attempting to perform Firmware update... Querying Mellanox devices firmware ...Warning- For unattended installation, use the --force installation option while running the MLNX_OFED installation script: 
 /mnt/mlnxofedinstall --forceWarning- MLNX_OFED for Ubuntu should be installed with the following flags in chroot environment: 
 ./mlnxofedinstall --without-dkms --add-kernel-support --kernel <kernel version in chroot> --without-fw-update --force
 For example:
 ./mlnxofedinstall --without-dkms --add-kernel-support --kernel 3.13.0-85-generic --without-fw-update --force
 Note that the path to kernel sources (--kernel-sources) should be added if the sources are not in their default location.Warning- In case your machine has the latest firmware, no firmware update will occur and the installation script will print at the end of installation a message similar to the following: 
 Device #1:
 ----------
 Device Type: ConnectX4
 Part Number: MCX456A-ECA
 Description: ConnectX-4 VPI adapter card; EDR IB (100Gb/s) and 100GbE; dual-port QSFP28; PCIe3.0 x16; ROHS R6
 PSID: MT_2190110032
 PCI Device Name: 0b:00.0
 Base MAC: 0000e41d2d5cf810
 Versions: Current Available
 FW 12.14.0114 12.14.0114
 Status: Up to dateWarning- In case your machine has an unsupported network adapter device, no firmware update will occur and one of the error messages below will be printed. Please contact your hardware vendor for help with firmware updates. - Error message #1: 
 Device #1:
 ----------
 Device Type: ConnectX4
 Part Number: MCX456A-ECA
 Description: ConnectX-4 VPI adapter card; EDR IB (100Gb/s) and 100GbE; dual-port QSFP28; PCIe3.0 x16; ROHS R6
 PSID: MT_2190110032
 PCI Device Name: 0b:00.0
 Base MAC: 0000e41d2d5cf810
 Versions: Current Available
 FW 12.14.0114 N/A
 Status: No matching image found- Error message #2: 
 The firmware for this device is not distributed inside NVIDIA driver: 0000:01:00.0 (PSID: IBM2150110033)
 To obtain firmware for this device, please contact your HW vendor.
- Case A: If the installation script has performed a firmware update on your network adapter, you need to either restart the driver or reboot your system before the firmware update can take effect. Refer to the table below to find the appropriate action for your specific card. - Action \ Adapter - Driver Restart - Standard Reboot (Soft Reset) - Cold Reboot (Hard Reset) - Standard ConnectX-4/ConnectX-4 Lx or higher - - - + - - - Adapters with Multi-Host Support - - - - - + - Socket Direct Cards - - - - - + - Case B: If the installations script has not performed a firmware upgrade on your network adapter, restart the driver by running: “/etc/init.d/openibd restart”. 
- (InfiniBand only) Run the hca_self_test.ofed utility to verify whether or not the InfiniBand link is up. The utility also checks for and displays additional information such as: 
- HCA firmware version 
- Kernel architecture 
- Driver version 
- Number of active HCA ports along with their states 
- Node GUID 
 For more details on hca_self_test.ofed, see the file docs/readme_and_user_manual/hca_self_test.readme.
After installation completion, information about the OFED installation, such as prefix, kernel version, and installation parameters can be retrieved by running the command /etc/infiniband/info. Most of the OFED components can be configured or reconfigured after the installation, by modifying the relevant configuration files. See the relevant chapters in this manual for details.
The list of the modules that will be loaded automatically upon boot can be found in the /etc/infiniband/openib.conf file.
Installing OFED will replace the RDMA stack and remove existing 3rd party RDMA connectors.
| Software | 
 | 
| Firmware | 
 
 | 
While installing MLNX_OFED, the install log for each selected package will be saved in a separate log file.
The path to the directory containing the log files will be displayed after running the installation script in the following format:
Example:
            
            Logs dir: /tmp/MLNX_OFED_LINUX-4.4-1.0.0.0.IBMM2150110033.logs
    
Upon system boot, the NVIDIA drivers will be loaded automatically.
To prevent the automatic load of the NVIDIA drivers upon system boot:
- Add the following lines to the "/etc/modprobe.d/mlnx.conf" file. - blacklist mlx5_core blacklist mlx5_ib 
- Set “ONBOOT=no” in the "/etc/infiniband/openib.conf" file. 
- If the modules exist in the initramfs file, they can automatically be loaded by the kernel. To prevent this behavior, update the initramfs using the operating systems’ standard tools.Note: The process of updating the initramfs will add the blacklists from step 1, and will prevent the kernel from loading the modules automatically. 
The table below lists the mlnxofedinstall script return codes and their meanings.
| Return Code | Meaning | 
| 0 | The Installation ended successfully | 
| 1 | The installation failed | 
| 2 | No firmware was found for the adapter device | 
| 22 | Invalid parameter | 
| 28 | Not enough free space | 
| 171 | Not applicable to this system configuration. This can occur when the required hardware is not present on the system | 
| 172 | Prerequisites are not met. For example, missing the required software installed or the hardware is not configured correctly | 
| 173 | Failed to start the mst driver | 
| Software | 
 | 
| Firmware | 
 | 
While installing MLNX_OFED, the install log for each selected package will be saved in a separate log file.
The path to the directory containing the log files will be displayed after running the installation script in the following format:
Example:
            
            Logs dir: /tmp/MLNX_OFED_LINUX-4.4-1.0.0.0.IBMM2150110033.logs
    
Upon system boot, the NVIDIA drivers will be loaded automatically.
To prevent the automatic load of the NVIDIA drivers upon system boot:
- Add the following lines to the "/etc/modprobe.d/mlnx.conf" file. - blacklist mlx5_core blacklist mlx5_ib 
- Set “ONBOOT=no” in the "/etc/infiniband/openib.conf" file. 
- If the modules exist in the initramfs file, they can automatically be loaded by the kernel. To prevent this behavior, update the initramfs using the operating systems’ standard tools.Note: The process of updating the initramfs will add the blacklists from step 1, and will prevent the kernel from loading the modules automatically. 
The table below lists the mlnxofedinstall script return codes and their meanings.
NVIDIA provides OFED packages to be installed on common operating systems. These packages are provided as binaries, and NVIDIA provided full support for them. This model is now referred to as "Primary support".
Starting OFED 5.6, NVIDIA is introducing a new support model for OFED used on open source community operating systems. The goal of this new support model is to enable customers to use community-maintained variants of the Linux operating system, without being limited to major distributions that NVIDIA provides primary support for.
In the community model, there is shared responsibility between NVIDIA and customers choosing to use community operating systems in their environment. NVIDIA owns basic validation for the operating systems, so that customers know they can expect OFED to work. Customers are responsible for building their own packages and binaries (based on source code and build instructions detailed below), and can also choose to deploy parts of OFED instead of the whole package.
In case of issues, for customers that are entitled for NVIDIA support (e.g. customers who have an applicable support contract), NVIDIA will do the best effort to assist, but may require the customer to work with the community to fix issues that are deemed to be caused by the community breaking OFED, as opposed to NVIDIA owning the fix end to end.
Overall, the following should be noted when running OFED on the community-supported operating systems:
- NVIDIA will perform sanity testing of OFED on community supported OSs 
- NVIDIA will declare which kernel versions were tested (min/max), based on mainstream kernel (kernel.org) versions 
- NVIDIA will not ship binaries/installation packages for community-supported OSs 
- Customers will use source code of OFED and build guidance and will need to build their own binaries & installation packages 
- Customers will be able to pick and choose the parts of OFED they deploy (e.g., drivers only, user tools only, and so forth) 
- In case of bug reports, customers may be asked to reproduce on a primary-supported distribution (such as RHEL) in order to have support 
- If issues are deemed specific to the community OS (e.g., if an OS deviates from mainstream in a way that breaks OFED), it is the customer’s responsibility to work with the community to fix it 
Below are the instructions how to build OFED from the sources provided by NVIDIA.
Installing OFED on Community Operating Systems
- Download sources from https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed - Scroll down to the and click the "Download" tab. 
- Choose the relevant package, depending on the host operating system (the package format is what really matters (rpm/deb)). 
- Download the desired tgz SOURCE package (e.g., MLNX_OFED_SRC-<debian?>-<ver>.tgz) 
 
- Unpack the tarball. - tar -xzf MLNX_OFED_SRC-<debian?>-<version>.tgz 
- Go to the extracted directory. - cd MLNX_OFED_SOURCE- - 5.6-x.x.x.x
- Run the installation script with the relevant options. - ./install.pl <option - 1> <option- 2> .- Use "./install.pl --help" to see all the options and choose the desired option. For example: "./install.pl --all" should build and install all the default packages. 
- While running install.pl, the script may fail on missing dependencies. Those dependencies should be installed manually before running install.pl again. 
Proprietary Packages
The installation procedure does not install proprietary packages—propriety packages should be installed upon request.
List of closed source proprietary packages:
- Clusterkit 
- DPCP 
- hcoll 
- Sharp 
- ibutils2 
- opensm 
Today the only way to install these packages is by using an already-built rpm/deb from a similar primary operating system.
The following table maps the community OSs that are most similar to Primary OSs based on internal testing:
| Community OS | Most Similar Primary OS | 
| BCLINUX7.6 | RHEL 7.9 | 
| BCLINUX7.7 | RHEL 7.9 | 
| BCLINUX8.1 | RHEL 8.5 | 
| Debian9.13 | Debian 10.8 | 
| EulerOS2.0sp5 | EulerOS2.0sp10 | 
| EulerOS2.0sp8 | EulerOS2.0sp10 | 
| RHEL/CentOS7.5 | RHEL 7.9 | 
| RHEL/CentOS7.5alternate | RHEL 7.9 | 
| RHEL/CentOS7.6alternate | RHEL 7.9 | 
| RHEL/CentOS7.7 | RHEL 7.9 | 
| RHEL/CentOS7.8 | RHEL 7.9 | 
| SLES12SP2 | SLES12 SP5 | 
| SLES12SP3 | SLES12 SP5 | 
| SLES12SP4 | SLES12 SP5 | 
| Ubuntu16.04 | Ubuntu22.04 | 
| Alma 8.5 | RHEL 8.5 | 
| Anolis OS 8.4 | RHEL 8.5 | 
| CentOS Strea m 8.5 | RHEL 8.5 | 
| Fedora 35 | RHEL 8.5 | 
| OpenEuler OS 22.03 LTS | OpenEuler20 SP3 | 
| OpenSUSE 15.3 | SLES15 SP3 | 
| Photon OS 3.0 | RHEL 7.9 | 
| Rocky 8.5 | RHEL 8.5 | 
| Rocky 8.6 | RHEL 8.6 | 
Download and install MFT and Firmware
NVIDIA Firmware Tools (MFT) Download
Firmware Downloads
Creating Metapackages and Installing OFED on Multiple Servers (RPM-Based Systems)
By building the packages using install.pl, the RPMs will be created under /tmp/OFED-internal-5.6-x.x.x/RPMS/<OS>/<arch>/
- List the packages that will be installed by running the following: - /tmp/OFED-internal- - 5.6-x.x.x/install.pl--all -p
- Create working directories. - Example: - mkdir -p /tmp/OFED_topdir/SOURCES/<rpmname>-<version> mkdir -p /tmp/OFED_topdir/SPECS mkdir -p /tmp/OFED_topdir/BUILD mkdir -p /tmp/OFED_topdir/SRPMS mkdir -p /tmp/OFED_topdir/RPMS - For --all option it used to set rpmname as mlnx-ofed-all 
 OFED will be set to the current GA version being used.
- Create a new XML file under /tmp/OFED_topdir/comp.xml that contains all the required packages. 
 Example:- <?xml version= - "1.0"encoding=- "UTF-8"?> <comps> <group> <id>all</id> <name>MLNX_OFED ALL</name> <- default>- true</- default> <description>Mellanox OpenFabrics Enterprise Distribution- forLinux: MLNX_OFED ALL packages </description> <uservisible>- true</uservisible> <packagelist>- /* ------ The list below needs to be aligned with the packages listed by "install.pl --all -p" ------ */<packagereq type=- "default">mlnx-tools</packagereq> <packagereq type=- "default">rdma-core-devel</packagereq> <packagereq type=- "default">perftest</packagereq> <packagereq type=- "default">Package Example- 1</packagereq> <packagereq type=- "default">Package Example- 2</packagereq> <packagereq type=- "default">mlnx-ofed-all</packagereq>- // This line is for the Group name</packagelist> </group> </comps>
- Create tarball with the correct source name: - echo <rpmname>-<version> > /tmp/OFED_topdir/SOURCES/<rpmname>-<version>/<rpmname>-release cd /tmp/OFED_topdir/SOURCES tar czf <rpmname>-<version>.tar.gz <rpmname>-<version> 
- Create new spec file that requires all the packages in that directory under /tmp/OFED_topdir/SPECS/<rpmname>.spec 
- Build the RPM metapackage from the spec file that was created before. As a result, the RPMs will be created under /tmp/OFED_topdir/RPMS/<arch>/ - rpmbuild -ba --target noarch --define - '_source_filedigest_algorithm md5'--define- '_binary_filedigest_algorithm md5'--define- '_topdir /tmp/OFED_topdir'--define- '_sourcedir %{_topdir}/SOURCES'--define- '_specdir %{_topdir}/SPECS'--define- '_srcrpmdir %{_topdir}/SRPMS'--define- '_rpmdir %{_topdir}/RPMS'/tmp/OFED_topdir/SPECS/<rpmname>.spec
- Copy the newly-created RPMs into the RPMS directory that was created before. - cp /tmp/OFED_topdir/RPMS/noarch/mlnx-ofed-all- - 5.6-.rhel8u3.noarch.rpm /tmp/OFED-internal-- 5.6-x.x.x/<arch>/redhat-release-- 8.3-- 1.0.el8/x86_64/
- Create repodata. - createrepo -q -g /tmp/OFED_topdir/comps.xml /tmp/OFED-internal- - 5.6-x.x.x/RPMS/redhat-release-- 8.3-- 1.0.el8/<arch>/
- Copy the generated RPMS to any server and do the following to install OFED: - Create new yum repository. - cat /etc/yum.repos.d/mlnx_ofed.repo [mlnx_ofed] name=mlnx_ofed baseurl=/tmp/OFED-internal- - 5.6-x.x.x/RPMS/OS/<arch>/ enabled=- 1gpgcheck=- 0
- Refresh repository list. - yum repolist 
- Install OFED. - yum install mlnx-ofed-all 
 
Creating Metapackages and Installing OFED on Multiple Servers (Deb-Based Systems)
By building the packages using install.pl, the debs will be created under /tmp/OFED-internal-5.6-x.x.x/DEBS/<OS>/<arch>/
- List the packages that will be installed by the following: - /tmp/OFED-internal-debian- - 5.6-x.x.x/install.pl --all -p
- Create working directories. - Example: - mkdir -p /tmp/OFED_topdir/<rpmname>-<version>/debian/source echo <rpmname>-<version> > /tmp/OFED_topdir/<rpmname>-<version>/<rpmname>-release - For --all option it used to set rpmname as mlnx-ofed-all 
 For OFED 5.6, the version will be set to 5.6
- Create rules file under /tmp/OFED_topdir/<rpmname>-<version>/debian/rules - #!/usr/bin/make -f # -*- makefile -*- export DH_OPTIONS pname:=<rpmname> %: dh $@ override_dh_auto_install: dh_installdirs -p$(pname) usr/share/doc/$(pname) install -m - 0644$(pname)-release debian/$(pname)/usr/share/doc/$(pname)
- Change rules file mode. - chmod - 755/tmp/OFED_topdir/<rpmname>-<version>/debian/rules
- Create rules file under /tmp/OFED_topdir/<rpmname>-<version>/debian/compat - echo - 9> /tmp/OFED_topdir/<rpmname>-<version>/debian/compat
- Create source/format file under /tmp/OFED_topdir/<rpmname>-<version>/debian/source/format - echo - "3.0 (quilt)"> /tmp/OFED_topdir/<rpmname>-<version>/debian/source/format
- Create changelog file under /tmp/OFED_topdir/<rpmname>-<version>/debian/changelog - Exmaple: - mlnx-ofed-all ( - 5.6-x.x.x.x) unstable; urgency=low * Initial release -- your username <mail> Sun,- 15May- 2022- 21:- 00:- 00+- 0200
- Create postinst script (if needed) under /tmp/OFED_topdir/<rpmname>-<version>/debian/<rpmname>.postinst - #!/bin/bash cd /lib/modules - fordd in `/bin/ls`- do/sbin/depmod $dd >/dev/- null- 2>&- 1done- if[ -f /usr/bin/ofed_info ]; then sed -i -r -e- "s/^(OFED)(.*)(-[0-9]*.*-[0-9]*.*):/MLNX_OFED_LINUX-5.6-x.x.x.x (\1\3):\n/"/usr/bin/ofed_info sed -i -r -e- "s/(.*then echo) (.*):(.*)/\1 MLNX_OFED_LINUX-5.6-x.x.x.x: \3/"/usr/bin/ofed_info sed -i -r -e- "s/(.*X-n\" ]; then echo) (.*)(; exit.*)/\1 5.6-x.x.x.x \3/"/usr/bin/ofed_info sed -i -e- "s/OFED-internal/MLNX_OFED_LINUX/g"/usr/bin/ofed_info fi # Switch off opensmd service /sbin/chkconfig --set opensmd off > /dev/- null- 2>&- 1||- true/sbin/chkconfig opensmd off > /dev/- null- 2>&- 1||- true- if[ -f- "/etc/init.d/opensmd"] ; then- if[ -e /sbin/chkconfig ]; then /sbin/chkconfig --del opensmd > /dev/- null- 2>&- 1||- trueelif [ -e /usr/sbin/update-rc.d ]; then /usr/sbin/update-rc.d -f opensmd remove > /dev/- null- 2>&- 1||- true- else/usr/lib/lsb/remove_initd /etc/init.d/opensmd > /dev/- null- 2>&- 1||- truefi fi # Disable ibacm daemon by- defaultchkconfig --del ibacm > /dev/- null- 2>&- 1||- true# disable SDP and QIB loading by- default- if[ -e /etc/infiniband/openib.conf ]; then sed -i -r -e- "s/^SDP_LOAD=.*/SDP_LOAD=no/"/etc/infiniband/openib.conf sed -i -r -e- "s/^QIB_LOAD=.*/QIB_LOAD=no/"/etc/infiniband/openib.conf fi /sbin/ldconfig > /dev/- null- 2>&- 1||- true
- Create control file under /tmp/OFED_topdir/<rpmname>-<version>/debian/control - Source: mlnx-ofed-all Section: utils Priority: extra Maintainer: your username <mail> Build-Depends: debhelper (>= - 9.0.- 0) Standards-Version:- 3.9.- 2Homepage: http:- //www.mellanox.comPackage:mlnx-ofed-all- // PACKAGE NAMEArchitecture: all- // list of the packages we need to install in this group (see the list of packages to install we created at first)Depends: ${shlibs:Depends}, ${misc:Depends}, dpcp (>=- 1.1.- 25-- 1.56076), mstflint (>=- 4.16.- 0-- 1.56076), rdmacm-utils (>=56mlnx40-- 1.56076), mlnx-tools (>=- 5.2.- 0-- 0.56076), mlnx-iproute2 (>=- 5.16.- 0-- 1.56076), opensm (>=- 5.11.- 0.MLNX20220418.fd3d650-- 0.1.- 56076), ibutils2 (>=- 2.1.- 1-- 0.148.MLNX20220418.g60b8156.- 56076), ofed-scripts (>=- 5.6-OFED.- 5.6.- 0.7.- 6), dump-pr (>=- 1.0-- 5.11.- 0.MLNX20220418.g7e9d922.- 56076), mlnx-ethtool (>=- 5.15-- 1.56076), perftest (>=- 4.5-- 0.14.gd962d8c.- 56076), libibverbs-dev (>=56mlnx40-- 1.56076), ucx (>=- 1.13.- 0-- 1.56076), ibsim-doc (>=- 0.10-- 1.56076), srp-dkms (>=- 5.6-OFED.- 5.6.- 0.7.- 6.1), ibacm (>=56mlnx40-- 1.56076), sharp (>=- 2.7.- 0.MLNX20220331.8d57397a-- 1.56076), libibmad5 (>=56mlnx40-- 1.56076), mlnx-ofed-kernel-utils (>=- 5.6-OFED.- 5.6.- 0.7.- 6.1), srptools (>=56mlnx40-- 1.56076), ibsim (>=- 0.10-- 1.56076), libibmad-dev (>=56mlnx40-- 1.56076), libibumad3 (>=56mlnx40-- 1.56076), ibverbs-utils (>=56mlnx40-- 1.56076), rdma-core (>=56mlnx40-- 1.56076), libibverbs1 (>=56mlnx40-- 1.56076), isert-dkms (>=- 5.6-OFED.- 5.6.- 0.7.- 6.1), libibumad-dev (>=56mlnx40-- 1.56076), iser-dkms (>=- 5.6-OFED.- 5.6.- 0.7.- 6.1), ibdump (>=- 6.0.- 0-- 1.56076), libopensm-devel (>=- 5.11.- 0.MLNX20220418.fd3d650-- 0.1.- 56076), libopensm (>=- 5.11.- 0.MLNX20220418.fd3d650-- 0.1.- 56076), kernel-mft-dkms (>=- 4.20.- 0-- 29), libibnetdisc5 (>=56mlnx40-- 1.56076), librdmacm1 (>=56mlnx40-- 1.56076), opensm-doc (>=- 5.11.- 0.MLNX20220418.fd3d650-- 0.1.- 56076), mlnx-ofed-kernel-dkms (>=- 5.6-OFED.- 5.6.- 0.7.- 6.1), infiniband-diags (>=56mlnx40-- 1.56076), mft (>=- 4.15.- 1-- 9), librdmacm-dev (>=56mlnx40-- 1.56076), ibverbs-providers (>=56mlnx40-- 1.56076) Description: MLNX_OFED all installer- package(with DKMS support) Package:mlnx-ofed-all-exact Architecture: all
- Create copyright file under /tmp/OFED_topdir/<rpmname>-<version>/debian/copyright - Format: https: - //www.debian.org/doc/packaging-manuals/copyright-format/1.0Files: * Copyright:- 2022, NVIDIA Corporation License: GPLv2-and-2BSD * This software is available to you under a choice of one of two * licenses. You may choose to be licensed under the terms of the GNU * General Public License (GPL) Version- 2, available from the file * COPYING in the main directory of- thissource tree, or the * BSD license below: * * Redistribution and use in source and binary forms, with or * without modification, are permitted provided that the following * conditions are met: * * - Redistributions of source code must retain the above * copyright notice,- thislist of conditions and the following * disclaimer. * * - Redistributions in binary form must reproduce the above * copyright notice,- thislist of conditions and the following * disclaimer in the documentation and/or other materials * provided with the distribution. * * THE SOFTWARE IS PROVIDED- "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE.- On Debian systems, a copy of the General Public License version 2 could be found under /usr/share/common-licenses/GPL-2 
- Creating tarball. - cd /tmp/OFED_topdir tar czf <rpmname>_<version>.orig.tar.gz <rpmname>-<version> cd <rpmname>-<version> dpkg-buildpackage -us -uc cp -af *.deb /tmp/OFED-internal- - 5.6-x.x.x/DEBS/OS/arch/
- Create new yum repository under /etc/yum.repos.d/mlnx_ofed.repo - [mlnx_ofed] deb [trusted=yes] file:/tmp/OFED-internal- - 5.6-- 0.7.- 6/DEBS/debian10.- 8/x86_64/ ./
- Refresh repository list. - apt update 
- Install OFED. - apt install mlnx-ofed-all 
mpitests package is disabled on Fedora 35 and Photon due to building issues.mpitests package is disabled on Fedora 35 and Photon due to building issues.
    
    
Installing MLNX_OFED Using YUM
This type of installation is applicable to RedHat/OL and Fedora operating systems.
Setting up MLNX_OFED YUM Repository
- Log into the installation machine as root. 
- Mount the ISO image on your machine and copy its content to a shared location in your network. - # mount -o ro,loop MLNX_OFED_LINUX-<ver>-<OS label>-<CPU arch>.iso /mnt 
- Download and install NVIDIA's GPG-KEY: 
 The key can be downloaded via the following link:
 http://www.mellanox.com/downloads/ofed/RPM-GPG-KEY-Mellanox- # wget http: - //www.mellanox.com/downloads/ofed/RPM-GPG-KEY-Mellanox--- 2018-- 01-- 25- 13:- 52:- 30-- http:- //www.mellanox.com/downloads/ofed/RPM-GPG-KEY-MellanoxResolving www.mellanox.com...- 72.3.- 194.0Connecting to www.mellanox.com|- 72.3.- 194.0|:- 80... connected. HTTP request sent, awaiting response...- 200OK Length:- 1354(- 1.3K) [text/plain] Saving to: ?RPM-GPG-KEY-Mellanox?- 100%[=================================================>]- 1,- 354--.-K/s in 0s- 2018-- 01-- 25- 13:- 52:- 30(- 247MB/s) - ?RPM-GPG-KEY-Mellanox? saved [- 1354/- 1354]
- Install the key. - # sudo rpm -- - importRPM-GPG-KEY-Mellanox warning: rpmts_HdrFromFdno: Header V3 DSA/SHA1 Signature, key ID 6224c050: NOKEY Retrieving key from file:- ///repos/MLNX_OFED/<MLNX_OFED file>/RPM-GPG-KEY-MellanoxImporting GPG key- 0x6224C050: Userid:- "Mellanox Technologies (Mellanox Technologies - Signing Key v2) <support@mellanox.com>"From : /repos/MLNX_OFED/<MLNX_OFED file>/RPM-GPG-KEY-Mellanox Is- thisok [y/N]:
- Check that the key was successfully imported. - # rpm -q gpg-pubkey --qf - '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n'| grep Mellanox gpg-pubkey-a9e4b643-520791ba gpg(Mellanox Technologies <support- @mellanox.com>)
- Create a yum repository configuration file called "/etc/yum.repos.d/mlnx_ofed.repo" with the following content: - [mlnx_ofed] name=MLNX_OFED Repository baseurl=file: - ///<path to extracted MLNX_OFED package>/RPMSenabled=- 1gpgkey=file:- ///<path to the downloaded key RPM-GPG-KEY-Mellanox>gpgcheck=- 1
- Check that the repository was successfully added. - # yum repolist Loaded plugins: product-id, security, subscription-manager This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. repo id repo name status mlnx_ofed MLNX_OFED Repository - 108rpmforge RHEL 6Server - RPMforge.net - dag- 4,- 597repolist:- 8,- 351
Setting up MLNX_OFED YUM Repository Using --add-kernel-support
- Log into the installation machine as root. 
- Mount the ISO image on your machine and copy its content to a shared location in your network. - # mount -o ro,loop MLNX_OFED_LINUX-<ver>-<OS label>-<CPU arch>.iso /mnt 
- Build the packages with kernel support and create the tarball. - # /mnt/mlnx_add_kernel_support.sh --make-tgz <optional --kmp> -k $(uname -r) -m /mnt/ Note: This program will create MLNX_OFED_LINUX TGZ - forrhel7.- 6under /tmp directory. Do you want to- continue?[y/N]:y See log file /tmp/mlnx_iso.4120_logs/mlnx_ofed_iso.- 4120.log Checking- ifall needed packages are installed... Building MLNX_OFED_LINUX RPMS . Please wait... Creating metadata-rpms- for- 3.10.- 0-- 957.21.- 3.el7.x86_64 ... WARNING: If you are going to configure- this- packageas a repository, then please note WARNING: that it contains unsigned rpms, therefore, you need to disable the gpgcheck WARNING: by setting- 'gpgcheck=0'in the repository conf file. Created /tmp/MLNX_OFED_LINUX-- 5.2-- 0.5.- 5.0-rhel7.- 6-x86_64-ext.tgz
- Open the tarball. - # cd /tmp/ # tar -xvf /tmp/MLNX_OFED_LINUX- - 5.2-- 0.5.- 5.0-rhel7.- 6-x86_64-ext.tgz
- Create a YUM repository configuration file called "/etc/yum.repos.d/mlnx_ofed.repo" with the following content: - [mlnx_ofed] name=MLNX_OFED Repository baseurl=file: - ///<path to extracted MLNX_OFED package>/RPMSenabled=- 1gpgcheck=- 0
- Check that the repository was successfully added. - # yum repolist Loaded plugins: product-id, security, subscription-manager This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. repo id repo name status mlnx_ofed MLNX_OFED Repository - 108rpmforge RHEL 6Server - RPMforge.net - dag- 4,- 597repolist:- 8,- 351
Installing MLNX_OFED Using the YUM Tool
After setting up the YUM repository for MLNX_OFED package, perform the following:
- View the available package groups by invoking: - # yum search mlnx-ofed- mlnx-ofed-all.noarch : MLNX_OFED all installer - package(with KMP support) mlnx-ofed-all-user-only.noarch : MLNX_OFED all-user-only installer- package(User Space packages only) mlnx-ofed-basic.noarch : MLNX_OFED basic installer- package(with KMP support) mlnx-ofed-basic-user-only.noarch : MLNX_OFED basic-user-only installer- package(User Space packages only) mlnx-ofed-bluefield.noarch : MLNX_OFED bluefield installer- package(with KMP support) mlnx-ofed-bluefield-user-only.noarch : MLNX_OFED bluefield-user-only installer- package(User Space packages only) mlnx-ofed-dpdk.noarch : MLNX_OFED dpdk installer- package(with KMP support) mlnx-ofed-dpdk-upstream-libs.noarch : MLNX_OFED dpdk-upstream-libs installer- package(with KMP support) mlnx-ofed-dpdk-upstream-libs-user-only.noarch : MLNX_OFED dpdk-upstream-libs-user-only installer- package(User Space packages only) mlnx-ofed-dpdk-user-only.noarch : MLNX_OFED dpdk-user-only installer- package(User Space packages only) mlnx-ofed-eth-only-user-only.noarch : MLNX_OFED eth-only-user-only installer- package(User Space packages only) mlnx-ofed-guest.noarch : MLNX_OFED guest installer- package(with KMP support) mlnx-ofed-guest-user-only.noarch : MLNX_OFED guest-user-only installer- package(User Space packages only) mlnx-ofed-hpc.noarch : MLNX_OFED hpc installer- package(with KMP support) mlnx-ofed-hpc-user-only.noarch : MLNX_OFED hpc-user-only installer- package(User Space packages only) mlnx-ofed-hypervisor.noarch : MLNX_OFED hypervisor installer- package(with KMP support) mlnx-ofed-hypervisor-user-only.noarch : MLNX_OFED hypervisor-user-only installer- package(User Space packages only) mlnx-ofed-kernel-only.noarch : MLNX_OFED kernel-only installer- package(with KMP support) mlnx-ofed-vma.noarch : MLNX_OFED vma installer- package(with KMP support) mlnx-ofed-vma-eth.noarch : MLNX_OFED vma-eth installer- package(with KMP support) mlnx-ofed-vma-eth-user-only.noarch : MLNX_OFED vma-eth-user-only installer- package(User Space packages only) mlnx-ofed-vma-user-only.noarch : MLNX_OFED vma-user-only installer- package(User Space packages only) mlnx-ofed-vma-vpi.noarch : MLNX_OFED vma-vpi installer- package(with KMP support) mlnx-ofed-vma-vpi-user-only.noarch : MLNX_OFED vma-vpi-user-only installer- package(User Space packages only- where: - mlnx-ofed-all - Installs all available packages in MLNX_OFED - mlnx-ofed-basic - Installs basic packages required for running NVIDIA cards - mlnx-ofed-guest - Installs packages required by guest OS - mlnx-ofed-hpc - Installs packages required for HPC - mlnx-ofed-hypervisor - Installs packages required by hypervisor OS - mlnx-ofed-vma - Installs packages required by VMA - mlnx-ofed-vma-eth - Installs packages required by VMA to work over Ethernet - mlnx-ofed-vma-vpi - Installs packages required by VMA to support VPI - bluefield - Installs packages required for BlueField - dpdk - Installs packages required for DPDK - dpdk-upstream-libs - Installs packages required for DPDK using RDMA-Core - kernel-only - Installs packages required for a non-default kernel - Note: MLNX_OFED provides kernel module RPM packages with KMP support for RHEL and SLES. For other operating systems, kernel module RPM packages are provided only for the operating system's default kernel. In this case, the group RPM packages have the supported kernel version in their package's name. - Example: - mlnx-ofed-all- - 3.17.- 4-- 301.fc21.x86_64.noarch : MLNX_OFED all installer- package- forkernel- 3.17.- 4-- 301.fc21.x86_64 (without KMP support) mlnx-ofed-basic-- 3.17.- 4-- 301.fc21.x86_64.noarch : MLNX_OFED basic installer- package- forkernel- 3.17.- 4-- 301.fc21.x86_64 (without KMP support) mlnx-ofed-guest-- 3.17.- 4-- 301.fc21.x86_64.noarch : MLNX_OFED guest installer- package- forkernel- 3.17.- 4-- 301.fc21.x86_64 (without KMP support) mlnx-ofed-hpc-- 3.17.- 4-- 301.fc21.x86_64.noarch : MLNX_OFED hpc installer- package- forkernel- 3.17.- 4-- 301.fc21.x86_64 (without KMP support) mlnx-ofed-hypervisor-- 3.17.- 4-- 301.fc21.x86_64.noarch : MLNX_OFED hypervisor installer- package- forkernel- 3.17.- 4-- 301.fc21.x86_64 (without KMP support) mlnx-ofed-vma-- 3.17.- 4-- 301.fc21.x86_64.noarch : MLNX_OFED vma installer- package- forkernel- 3.17.- 4-- 301.fc21.x86_64 (without KMP support) mlnx-ofed-vma-eth-- 3.17.- 4-- 301.fc21.x86_64.noarch : MLNX_OFED vma-eth installer- package- forkernel- 3.17.- 4-- 301.fc21.x86_64 (without KMP support) mlnx-ofed-vma-vpi-- 3.17.- 4-- 301.fc21.x86_64.noarch : MLNX_OFED vma-vpi installer- package- forkernel- 3.17.- 4-- 301.fc21.x86_64 (without KMP support) mlnx-ofed-hypervisor-- 3.17.- 4-- 301.fc21.x86_64.noarch : MLNX_OFED hypervisor installer- package- forkernel- 3.17.- 4-- 301.fc21.x86_64 (without KMP support) mlnx-ofed-vma-- 3.17.- 4-- 301.fc21.x86_64.noarch : MLNX_OFED vma installer- package- forkernel- 3.17.- 4-- 301.fc21.x86_64 (without KMP support) mlnx-ofed-vma-eth-- 3.17.- 4-- 301.fc21.x86_64.noarch : MLNX_OFED vma-eth installer- package- forkernel- 3.17.- 4-- 301.fc21.x86_64 (without KMP support) mlnx-ofed-vma-vpi-- 3.17.- 4-- 301.fc21.x86_64.noarch : MLNX_OFED vma-vpi installer- package- forkernel- 3.17.- 4-- 301.fc21.x86_64 (without KMP support)- When using an operating system different than RHEL or SLES, or you have installed a kernel that is not supported by default in MLNX_OFED, you can use the mlnx_add_kernel_support.sh script to build MLNX_OFED for your kernel. 
 The script will automatically build the matching group RPM packages for your kernel so that you can still install MLNX_OFED via yum.
 Please note that the resulting MLNX_OFED repository will contain unsigned RPMs, therefore, you should set 'gpgcheck=0' in the repository configuration file.
- Install the desired group. - # yum install mlnx-ofed-all Loaded plugins: langpacks, product-id, subscription-manager Resolving Dependencies --> Running transaction check ---> Package mlnx-ofed-all.noarch - 0:- 3.1-- 0.1.- 2will be installed --> Processing Dependency: kmod-isert =- 1.0-OFED.- 3.1.- 0.1.- 2.1.g832a737.rhel7u1- for- package: mlnx-ofed-all-- 3.1-- 0.1.- 2.noarch .................. .................. qperf.x86_64- 0:- 0.4.- 9-- 9rds-devel.x86_64- 0:- 2.0.- 7-- 1.12rds-tools.x86_64- 0:- 2.0.- 7-- 1.12sdpnetstat.x86_64- 0:- 1.60-- 26srptools.x86_64- 0:- 1.0.- 2-- 12Complete!
Installing MLNX_OFED using the “YUM” tool does not automatically update the firmware.
To update the firmware to the version included in MLNX_OFED package, run:
# yum install mlnx-fw-updater
OR:
Update the firmware to the latest version available on NVIDIA's website as described in “Updating Firmware After Installation” section.
Installing MLNX_OFED Using apt-get
This type of installation is applicable to Debian and Ubuntu operating systems.
Setting up MLNX_OFED apt-get Repository
- Log into the installation machine as root. 
- Extract the MLNX_OFED package on a shared location in your network. 
 It can be downloaded from https://www.nvidia.com/en-us/networking/ → Products → Software→ InfiniBand Drivers.
- Create an apt-get repository configuration file called "/etc/apt/sources.list.d/mlnx_ofed.list" with the following content: - deb file:/<path to extracted MLNX_OFED - package>/DEBS ./
- Download and install NVIDIA's Technologies GPG-KEY. - # wget -qO - http: - //www.mellanox.com/downloads/ofed/RPM-GPG-KEY-Mellanox | sudo apt-key add -
- Verify that the key was successfully imported. - # apt-key list pub 1024D/A9E4B643 - 2013-- 08-- 11uid Mellanox Technologies <support- @mellanox.com> sub 1024g/09FCC269- 2013-- 08-- 11
- Update the apt-get cache. - # sudo apt-get update 
Setting up MLNX_OFED apt-get Repository Using --add-kernel-support
- Log into the installation machine as root. 
- Mount the ISO image on your machine and copy its content to a shared location in your network. - # mount -o ro,loop MLNX_OFED_LINUX-<ver>-<OS label>-<CPU arch>.iso /mnt 
- Build the packages with kernel support and create the tarball. - # /mnt/mlnx_add_kernel_support.sh --make-tgz <optional --kmp> -k $(uname -r) -m /mnt/ Note: This program will create MLNX_OFED_LINUX TGZ - forrhel7.- 6under /tmp directory. Do you want to- continue?[y/N]:y See log file /tmp/mlnx_iso.4120_logs/mlnx_ofed_iso.- 4120.log Checking- ifall needed packages are installed... Building MLNX_OFED_LINUX RPMS . Please wait... Creating metadata-rpms- for- 3.10.- 0-- 957.21.- 3.el7.x86_64 ... WARNING: If you are going to configure- this- packageas a repository, then please note WARNING: that it contains unsigned rpms, therefore, you need to disable the gpgcheck WARNING: by setting- 'gpgcheck=0'in the repository conf file. Created /tmp/MLNX_OFED_LINUX-- 5.2-- 0.5.- 5.0-rhel7.- 6-x86_64-ext.tgz
- Open the tarball. - # cd /tmp/ # tar -xvf /tmp/MLNX_OFED_LINUX- - 5.2-- 0.5.- 5.0-rhel7.- 6-x86_64-ext.tgz
- Create an apt-get repository configuration file called "/etc/apt/sources.list.d/mlnx_ofed.list" with the following content: - deb [trusted=yes] file:/<path to extracted MLNX_OFED - package>/DEBS ./
- Update the apt-get cache. - # sudo apt-get update 
Installing MLNX_OFED Using the apt-get Tool
After setting up the apt-get repository for MLNX_OFED package, perform the following:
- View the available package groups by invoking: - # apt-cache search mlnx-ofed- apt-cache search mlnx-ofed ........ knem-dkms - DKMS support - formlnx-ofed kernel modules mlnx-ofed-kernel-dkms - DKMS support- formlnx-ofed kernel modules mlnx-ofed-kernel-utils - Userspace tools to restart and tune mlnx-ofed kernel modules mlnx-ofed-vma-vpi - MLNX_OFED vma-vpi installer- package(with DKMS support) mlnx-ofed-kernel-only - MLNX_OFED kernel-only installer- package(with DKMS support) mlnx-ofed-bluefield - MLNX_OFED bluefield installer- package(with DKMS support) mlnx-ofed-hpc-user-only - MLNX_OFED hpc-user-only installer- package(User Space packages only) mlnx-ofed-dpdk-user-only - MLNX_OFED dpdk-user-only installer- package(User Space packages only) mlnx-ofed-all-exact - MLNX_OFED all installer- package(with DKMS support) (exact) mlnx-ofed-all - MLNX_OFED all installer- package(with DKMS support) mlnx-ofed-vma-vpi-user-only - MLNX_OFED vma-vpi-user-only installer- package(User Space packages only) mlnx-ofed-eth-only-user-only - MLNX_OFED eth-only-user-only installer- package(User Space packages only) mlnx-ofed-vma-user-only - MLNX_OFED vma-user-only installer- package(User Space packages only) mlnx-ofed-hpc - MLNX_OFED hpc installer- package(with DKMS support) mlnx-ofed-bluefield-user-only - MLNX_OFED bluefield-user-only installer- package(User Space packages only) mlnx-ofed-dpdk - MLNX_OFED dpdk installer- package(with DKMS support) mlnx-ofed-vma-eth-user-only - MLNX_OFED vma-eth-user-only installer- package(User Space packages only) mlnx-ofed-all-user-only - MLNX_OFED all-user-only installer- package(User Space packages only) mlnx-ofed-vma-eth - MLNX_OFED vma-eth installer- package(with DKMS support) mlnx-ofed-vma - MLNX_OFED vma installer- package(with DKMS support) mlnx-ofed-dpdk-upstream-libs-user-only - MLNX_OFED dpdk-upstream-libs-user-only installer- package(User Space packages only) mlnx-ofed-basic-user-only - MLNX_OFED basic-user-only installer- package(User Space packages only) mlnx-ofed-basic-exact - MLNX_OFED basic installer- package(with DKMS support) (exact) mlnx-ofed-basic - MLNX_OFED basic installer- package(with DKMS support) mlnx-ofed-dpdk-upstream-libs - MLNX_OFED dpdk-upstream-libs installer- package(with DKMS support)- where: - mlnx-ofed-all - MLNX_OFED all installer package - mlnx-ofed-basic - MLNX_OFED basic installer package - mlnx-ofed-vma - MLNX_OFED vma installer package - mlnx-ofed-hpc - MLNX_OFED HPC installer package - mlnx-ofed-vma-eth - MLNX_OFED vma-eth installer package - mlnx-ofed-vma-vpi - MLNX_OFED vma-vpi installer package - knem-dkms - MLNX_OFED DKMS support for mlnx-ofed kernel modules - kernel-dkms - MLNX_OFED kernel-dkms installer package - kernel-only - MLNX_OFED kernel-only installer package - bluefield - MLNX_OFED bluefield installer package - mlnx-ofed-all-exact - MLNX_OFED mlnx-ofed-all-exact installer package - dpdk - MLNX_OFED dpdk installer package - mlnx-ofed-basic-exact - MLNX_OFED mlnx-ofed-basic-exact installer package - dpdk-upstream-libs - MLNX_OFED dpdk-upstream-libs installer package 
- Install the desired group. - apt-get install - '<group name>'- Example: - apt-get install mlnx-ofed-all Warning- Installing MLNX_OFED using the “apt-get” tool does not automatically update the firmware. 
 To update the firmware to the version included in MLNX_OFED package, run:
 # apt-get install mlnx-fw-updater
 OR:
 Update the firmware to the latest version available on NVIDIA's website as described in “Updating Firmware After Installation” section.
As of MLNX_OFED v4.5, NEO-Host users can opt to install the NEO-Host package embedded in MLNX_OFED package.
In order to install NEO-Host, add the --with-neohost-backend flag to the mlnxofedinstall script run.
Example:
            
            # /mnt/mlnxofedinstall --with-neohost-backend