NVIDIA ConnectX-7 Cards for OCP Spec 3.0 User Manual

Linux Driver Installation

This section describes how to install and test the MLNX_OFED for Linux package on a single server with a ConnectX-7 adapter card installed.

Requirements

Description

Platforms

A server platform with a ConnectX-7 InfiniBand/Ethernet adapter card installed.

Required Disk Space for Installation

1GB

Operating System

Linux operating system.

For the list of supported operating system distributions and kernels, please refer to the MLNX_OFED Release Notes.

Installer Privileges

The installation requires administrator (root) privileges on the target machine.

  1. Verify that the system has a network adapter installed by running lspci command. The below table provides output examples per ConnectX-7 card configuration.

    ConnectX-7 Card Configuration

    Output Examples

    Single-port PCIe x16 Card

    Copy
    Copied!
                

    [root@mftqa-009 ~]# lspci |grep mellanox -ia 3:00.0 Infiniband controller: Mellanox Technologies MT2910 Family [ConnectX-7]

    Dual-port PCIe x16 Card

    Copy
    Copied!
                

    [root@mftqa-009 ~]# lspci |grep mellanox -ia 86:00.0 Network controller: Mellanox Technologies MT2910 Family [ConnectX-7] 86:00.1 Network controller: Mellanox Technologies MT2910 Family [ConnectX-7]

    2. Download the ISO image to your host.
    The image’s name has the format MLNX_OFED_LINUX-<ver>-<OS label><CPU arch>.iso.
    You can download and install the latest OpenFabrics Enterprise Distribution (OFED) software package available via the NVIDIA web site at nvidia.com/en-us/networking Products → Software → InfiniBand Drivers → NVIDIA MLNX_OFED

      1. Scroll down to the Download wizard, and click the Download tab.

      2. Choose your relevant package depending on your host operating system.

      3. Click the desired ISO/tgz package.

      4. To obtain the download link, accept the End User License Agreement (EULA).

    3. Use the Hash utility to confirm the file integrity of your ISO image. Run the following command and compare the result to the value provided on the download page.

    Copy
    Copied!
                

    SHA256 MLNX_OFED_LINUX-<ver>-<OS label>.iso

    Installing MLNX_OFED

    Installation Script

    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:

      Copy
      Copied!
                  

      ./mlnxofedinstall --fw-image-dir /tmp/my_fw_bin_files

    Warning

    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

    Copy
    Copied!
                

    ./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.

    Warning

    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:

      Copy
      Copied!
                  

      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.

      Copy
      Copied!
                  

      # ./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 for rhel7.3 under /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:

    Copy
    Copied!
                

    ./mlnxofedinstall --h

    Installation Procedure

    This section describes the installation procedure of MLNX_OFED on NVIDIA adapter cards.

    1. Log in to the installation machine as root.

    2. Mount the ISO image on your machine.

      Copy
      Copied!
                  

      host1# mount -o ro,loop MLNX_OFED_LINUX-<ver>-<OS label>-<CPU arch>.iso /mnt

    3. Run the installation script.

      Copy
      Copied!
                  

      /mnt/mlnxofedinstall Logs dir: /tmp/MLNX_OFED_LINUX-x.x-x.logs This program will install the MLNX_OFED_LINUX package on 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, do not 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 --force

      Warning

      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: ConnectX-X
      Part Number: MCXXXX-XXX
      PSID: MT_<version>
      PCI Device Name: 0b:00.0
      Base MAC: 0000e41d2d5cf810
      Versions: Current Available
      FW XX.XX.XXXX
      Status: Up to date

      Warning

      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: ConnectX-X
      Part Number: MCXXXX-XXX
      PSID: MT_<version>
      PCI Device Name: 0b:00.0
      Base MAC: 0000e41d2d5cf810
      Versions: Current Available
      FW XX.XX.XXXX
      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.

    4. 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”.

    5. (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.

    Warning

    Installing OFED will replace the RDMA stack and remove existing 3rd party RDMA connectors.

    Installation Results

    Software

    • Most of MLNX_OFED packages are installed under the “/usr” directory except for the following packages which are installed under the “/opt” directory:

      • fca and ibutils

      • iproute2 (rdma tool) - installed under /opt/Mellanox/iproute2/sbin/rdma

    • The kernel modules are installed under

      • /lib/modules/`uname -r`/updates on SLES and Fedora Distributions

      • /lib/modules/`uname -r`/extra/mlnx-ofa_kernel on RHEL and other RedHat like Distributions

      • /lib/modules/`uname -r`/updates/dkms/ on Ubuntu

    Firmware

    • The firmware of existing network adapter devices will be updated if the following two conditions are fulfilled:

      • The installation script is run in default mode; that is, without the option ‘--without- fw-update’

      • The firmware version of the adapter device is older than the firmware version included with the OFED ISO image

        Note: If an adapter’s Flash was originally programmed with an Expansion ROM image, the automatic firmware update will also burn an Expansion ROM image.

    • In case your machine has an unsupported network adapter device, no firmware update will occur and the error message below will be printed.

      "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."

    Installation Logging

    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:

    Copy
    Copied!
                

    Logs dir: /tmp/MLNX_OFED_LINUX-4.4-1.0.0.0.IBMM2150110033.logs

    Driver Load Upon System Boot

    Upon system boot, the NVIDIA drivers will be loaded automatically.

    To prevent the automatic load of the NVIDIA drivers upon system boot:

    Procedure_Heading_Icon.PNG

    1. Add the following lines to the "/etc/modprobe.d/mlnx.conf" file.

      Copy
      Copied!
                  

      blacklist mlx5_core blacklist mlx5_ib

    2. Set “ONBOOT=no” in the "/etc/infiniband/openib.conf" file.

    3. 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.

    mlnxofedinstall Return Codes

    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

    • Most of MLNX_OFED packages are installed under the “/usr” directory except for the following packages which are installed under the “/opt” directory:

      • fca and ibutils

      • iproute2 (rdma tool) - installed under /opt/Mellanox/iproute2/sbin/rdma

    • The kernel modules are installed under

      • /lib/modules/`uname -r`/updates on SLES and Fedora Distributions

      • /lib/modules/`uname -r`/extra/mlnx-ofa_kernel on RHEL and other RedHat like Distributions

      • /lib/modules/`uname -r`/updates/dkms/ on Ubuntu

    Firmware

    • The firmware of existing network adapter devices will be updated if the following two conditions are fulfilled:

      • The installation script is run in default mode; that is, without the option ‘--without- fw-update’

      • The firmware version of the adapter device is older than the firmware version included with the OFED ISO image

        Note: If an adapter’s Flash was originally programmed with an Expansion ROM image, the automatic firmware update will also burn an Expansion ROM image.

    • In case your machine has an unsupported network adapter device, no firmware update will occur and the error message below will be printed.

      "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."

    Installation Logging

    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:

    Copy
    Copied!
                

    Logs dir: /tmp/MLNX_OFED_LINUX-4.4-1.0.0.0.IBMM2150110033.logs

    Uninstalling MLNX_OFED

    Use the script /usr/sbin/ofed_uninstall.sh to uninstall the MLNX_OFED package. The script is part of the ofed-scripts RPM.

    Additional Installation Procedures

    Installing MLNX_OFED Using YUM

    This type of installation is applicable to RedHat/OL and Fedora operating systems.

    Setting up MLNX_OFED YUM Repository

    1. Log into the installation machine as root.

    2. Mount the ISO image on your machine and copy its content to a shared location in your network.

      Copy
      Copied!
                  

      # mount -o ro,loop MLNX_OFED_LINUX-<ver>-<OS label>-<CPU arch>.iso /mnt

    3. 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

      Copy
      Copied!
                  

      # 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-Mellanox Resolving www.mellanox.com... 72.3.194.0 Connecting to www.mellanox.com|72.3.194.0|:80... connected. HTTP request sent, awaiting response... 200 OK 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 (247 MB/s) - ?RPM-GPG-KEY-Mellanox? saved [1354/1354]

    4. Install the key.

      Copy
      Copied!
                  

      # sudo rpm --import RPM-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-Mellanox Importing 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 this ok [y/N]:

    5. Check that the key was successfully imported.

      Copy
      Copied!
                  

      # rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n' | grep Mellanox gpg-pubkey-a9e4b643-520791ba gpg(Mellanox Technologies <support@mellanox.com>)

    6. Create a yum repository configuration file called "/etc/yum.repos.d/mlnx_ofed.repo" with the following content:

      Copy
      Copied!
                  

      [mlnx_ofed] name=MLNX_OFED Repository baseurl=file:///<path to extracted MLNX_OFED package>/RPMS enabled=1 gpgkey=file:///<path to the downloaded key RPM-GPG-KEY-Mellanox> gpgcheck=1

    7. Check that the repository was successfully added.

      Copy
      Copied!
                  

      # 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 108 rpmforge RHEL 6Server - RPMforge.net - dag 4,597   repolist: 8,351

    Setting up MLNX_OFED YUM Repository Using --add-kernel-support
    1. Log into the installation machine as root.

    2. Mount the ISO image on your machine and copy its content to a shared location in your network.

      Copy
      Copied!
                  

      # mount -o ro,loop MLNX_OFED_LINUX-<ver>-<OS label>-<CPU arch>.iso /mnt

    3. Build the packages with kernel support and create the tarball.

      Copy
      Copied!
                  

      # /mnt/mlnx_add_kernel_support.sh --make-tgz <optional --kmp> -k $(uname -r) -m /mnt/ Note: This program will create MLNX_OFED_LINUX TGZ for rhel7.6 under /tmp directory. Do you want to continue?[y/N]:y See log file /tmp/mlnx_iso.4120_logs/mlnx_ofed_iso.4120.log   Checking if all 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 package as 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

    4. Open the tarball.

      Copy
      Copied!
                  

      # cd /tmp/ # tar -xvf /tmp/MLNX_OFED_LINUX-5.2-0.5.5.0-rhel7.6-x86_64-ext.tgz

    5. Create a YUM repository configuration file called "/etc/yum.repos.d/mlnx_ofed.repo" with the following content:

      Copy
      Copied!
                  

      [mlnx_ofed] name=MLNX_OFED Repository baseurl=file:///<path to extracted MLNX_OFED package>/RPMS enabled=1 gpgcheck=0

    6. Check that the repository was successfully added.

      Copy
      Copied!
                  

      # 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 108 rpmforge RHEL 6Server - RPMforge.net - dag 4,597   repolist: 8,351

    Installing MLNX_OFED Using the YUM Tool

    After setting up the YUM repository for MLNX_OFED package, perform the following:

    1. View the available package groups by invoking:

      Copy
      Copied!
                  

      # 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:

      Copy
      Copied!
                  

      mlnx-ofed-all-3.17.4-301.fc21.x86_64.noarch : MLNX_OFED all installer package for kernel 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 for kernel 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 for kernel 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 for kernel 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 for kernel 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 for kernel 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 for kernel 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 for kernel 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 for kernel 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 for kernel 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 for kernel 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 for kernel 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.

    2. Install the desired group.

      Copy
      Copied!
                  

      # 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.2 will 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-9  rds-devel.x86_64 0:2.0.7-1.12 rds-tools.x86_64 0:2.0.7-1.12 sdpnetstat.x86_64 0:1.60-26 srptools.x86_64 0:1.0.2-12   Complete!

    Warning

    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

    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

    1. Log into the installation machine as root.

    2. 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.

    3. Create an apt-get repository configuration file called "/etc/apt/sources.list.d/mlnx_ofed.list" with the following content:

      Copy
      Copied!
                  

      deb file:/<path to extracted MLNX_OFED package>/DEBS ./

    4. Download and install NVIDIA's Technologies GPG-KEY.

      Copy
      Copied!
                  

      # wget -qO - http://www.mellanox.com/downloads/ofed/RPM-GPG-KEY-Mellanox | sudo apt-key add -

    5. Verify that the key was successfully imported.

      Copy
      Copied!
                  

      # apt-key list pub 1024D/A9E4B643 2013-08-11 uid Mellanox Technologies <support@mellanox.com> sub 1024g/09FCC269 2013-08-11

    6. Update the apt-get cache.

      Copy
      Copied!
                  

      # sudo apt-get update

    Setting up MLNX_OFED apt-get Repository Using --add-kernel-support
    1. Log into the installation machine as root.

    2. Mount the ISO image on your machine and copy its content to a shared location in your network.

      Copy
      Copied!
                  

      # mount -o ro,loop MLNX_OFED_LINUX-<ver>-<OS label>-<CPU arch>.iso /mnt

    3. Build the packages with kernel support and create the tarball.

      Copy
      Copied!
                  

      # /mnt/mlnx_add_kernel_support.sh --make-tgz <optional --kmp> -k $(uname -r) -m /mnt/ Note: This program will create MLNX_OFED_LINUX TGZ for rhel7.6 under /tmp directory. Do you want to continue?[y/N]:y See log file /tmp/mlnx_iso.4120_logs/mlnx_ofed_iso.4120.log   Checking if all 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 package as 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

    4. Open the tarball.

      Copy
      Copied!
                  

      # cd /tmp/ # tar -xvf /tmp/MLNX_OFED_LINUX-5.2-0.5.5.0-rhel7.6-x86_64-ext.tgz

    5. Create an apt-get repository configuration file called "/etc/apt/sources.list.d/mlnx_ofed.list" with the following content:

      Copy
      Copied!
                  

      deb [trusted=yes] file:/<path to extracted MLNX_OFED package>/DEBS ./

    6. Update the apt-get cache.

      Copy
      Copied!
                  

      # 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:

    1. View the available package groups by invoking:

      Copy
      Copied!
                  

      # apt-cache search mlnx-ofed- apt-cache search mlnx-ofed ........ knem-dkms - DKMS support for mlnx-ofed kernel modules mlnx-ofed-kernel-dkms - DKMS support for mlnx-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

    2. Install the desired group.

      Copy
      Copied!
                  

      apt-get install '<group name>'

      Example:

      Copy
      Copied!
                  

      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

    Performance Tuning

    Depending on the application of the user's system, it may be necessary to modify the default configuration of network adapters based on the ConnectX® adapters. In case that tuning is required, please refer to the Performance Tuning Guide for NVIDIA Network Adapters.

© Copyright 2023, NVIDIA. Last updated on Nov 2, 2023.