What can I help you with?
NVIDIA Accelerated IO (XLIO) Documentation Rev 3.40.2

Installing XLIO

Before you begin, verify you are using a supported operating system and a supported CPU architecture for your operating system. See supported combinations listed in System Requirements and Interoperability.

The current version of XLIO is compatible with DOCA-host and offers two profile driver stacks: the doca-libxlio profile, which supports Ethernet, and the lighter doca-roce profile, which also supports Ethernet.

The XLIO library is delivered as a user-space library, and is called libxlio.so.X.Y.Z.

XLIO can be installed using one of the following methods (detailed in XLIO Installation Options):

  1. As part of DOCA-host:

    • Installing the combined driver stack and XLIO using the doca-libxlio Profile

    • Installing the driver stack only using the doca-roce Profile, then install the XLIO library separately using the libxlio Profile

  2. Manually:

    • Building XLIO from sources tree

    • Installing XLIO via dedicated packages

Note

After completing the installation, verify its success as described in Using sockperf with XLIO.

Installing XLIO as Part of DOCA-Host

XLIO is integrated into the DOCA-Host (doca-libxlio/doca-roce). Therefore, it is recommended to install XLIO automatically when installing the NVIDIA DOCA-Host drivers as it depends on drivers’ latest firmware, libraries, and kernel modules. This installation assures XLIO’s correct functionality. Since the DOCA-Host has a plethora of distributions for RHEL, Ubuntu and others, you will have to correctly select the DOCA-Host version that matches your distribution.

This option suits users that wish to install a new XLIO version or upgrade to the latest XLIO version by overriding the previous one. For further information, see NVIDIA DOCA Installation Guide for Linux section in DOCA documentation.

Installing driver stack & XLIO as doca-libxlio Profile

For XLIO, there is a dedicated DOCA profile called doca-libxlio, which installs the driver stack and libxlio along with all the necessary dependencies.

Refer to the NVIDIA DOCA Installation Guide for Linux section in DOCA documentation and follow the steps for installing doca-all, but use doca-libxlio instead. For example:

Copy
Copied!
            

“sudo <your-package-manager> install -y doca-libxlio"


Installing XLIO as libxlio Profile

Use the DOCA profile called libxlio, which includes only the XLIO library and its userspace dependencies (without driver stack).

For containerized environments, Containers utilize the host system’s kernel, which already provides the required NVIDIA kernel modules and drivers.

Refer to the NVIDIA DOCA Installation Guide for Linux section in DOCA documentation and follow the steps for installing doca-all, but use libxlio instead. For example:

Copy
Copied!
            

“sudo <your-package-manager> install -y libxlio dpcp"

Note: libxlio-utils, libxlio-dev/devel, and sockperf are optional.

  • For RPM packages:

    Copy
    Copied!
                

    #sudo <your-package-manager> install -y sockperf libxlio-utils libxlio-devel"

  • For DEB packages:

    Copy
    Copied!
                

    #sudo <your-package-manager> install -y sockperf libxlio-utils libxlio-dev

Installing driver stack as doca-roce Profile

Users looking for a lighter driver stack should install the doca-roce profile and add the libxlio-related packages as needed.

Follow the NVIDIA DOCA Installation Guide for Linux section in DOCA documentation to install doca-roce, then add the relevant libxlio packages. For example:

Copy
Copied!
            

“sudo <your-package-manager> install -y doca-roce"

Installing XLIO Manually

Building XLIO From Sources Tree

XLIO as an open source enables users to try the code, inspect and modify. This option assumes that XLIO (binary package) is already installed on top of NVIDIA® driver, and functions correctly (as explained in Installing the XLIO Binary Package). Users can download the XLIO sources from libxlio GitHub and build a new XLIO version. This option is suitable for users who wish to implement custom XLIO modifications.

For building XLIO from sources, please visit libxlio GitHub

For adding high debug log level to XLIO, compile it with:

Copy
Copied!
            

./configure --enable-opt-log=none <other configure parameters>

Verifying XLIO Compilation

The compiled XLIO library is located under:

Copy
Copied!
            

<path-to-xlio-sources-root-tree>/src/xlio/.libs/libxlio.so

When running a user application, you must set the compiled library into the environment variable LD_PRELOAD.

Example:

Copy
Copied!
            

#LD_PRELOAD=<path-to-xlio-sources-root-tree>/src/xlio/.libs/libxlio.so sockperf ping-pong -t 5 -i 224.22.22.22

The XLIO banner, mentioned in XLIO Run section, indicates the library is loaded with the application.

Note: It is recommended to keep the original libxlio.so under the distribution’s original location (e.g. /usr/lib64/libxlio.so) and not to override it with the newly complied libxlio.so.

Installing XLIO via Dedicated Packages

XLIO can be installed from a dedicated XLIO RPM or a Debian package. In this case, please make sure that the NVIDIA's driver stack is already installed and that the driver stack and XLIO versions match so that XLIO functions correctly.

This option is suitable for users who receive an OEM XLIO version, or a Fast Update Release XLIO version which is newer than the installed XLIO version.

This section addresses both RPM and DEB (Ubuntu OS) installations.

  • The libxlio package contains the binary library shared object file (.so), configuration and documentation files

  • The libxlio-utils package contains utilities such as xlio_stats to monitor xlio traffic and statistics

  • The libxlio-dev/devel package contains XLIO’s extra API header files, for extra functionality not provided by the socket API

Before you begin, please verify the following prerequisites:

  • For RPM packages, run:

    Copy
    Copied!
                

    #rpm -qil libxlio

  • For DEB packages, run:

    Copy
    Copied!
                

    #dpkg –s libxlio

If the XLIO packages are installed via the package manager, the RPM or the DEB logs the XLIO package information and the installed file list. Otherwise, an error message will be displayed.

  • Uninstall the current XLIO via package manager if Exists:

    For RPM packages, run:

    Copy
    Copied!
                

    #rpm -e libxlio

  • For DEB packages:

    Copy
    Copied!
                

    #apt-get remove libxlio

Installing the XLIO Binary Package

  1. Go to the location where the libxlio package was saved.

  2. Run the command below to start installation:

    For RPM packages:

    Copy
    Copied!
                

    #rpm -i libxlio-X.Y.Z-R.<arch>.rpm

  • For DEB packages:

    Copy
    Copied!
                

    #dpkg -i libxlio_X.Y.Z-R_<arch>.deb

During the installation process:

• XLIO library is copied to standard library location (e.g. /usr/lib64/libxlio.so). In addition XLIO debug library is copied under the same location (e.g. /usr/lib64/libxlio-debug.so)

• README is installed at /usr/share/doc/libxlio-X.Y.Z/

• XLIO installs its configuration file, libxlio.conf, to the following location: /etc/libxlio.conf

• The xliod service utility is copied into /sbin

• The script xlio is installed under /etc/init.d/ for systems with SysV. This script can be used to load and unload the XLIO service utility.

Installing the XLIO utils Package

  1. Go to the location where the utils package was saved.

  2. Run the command below to start installation:

    For RPM packages:

    Copy
    Copied!
                

    #rpm -i libxlio-utils-X.Y.Z-R.<arch>.rpm

  • For DEB packages:

    Copy
    Copied!
                

    #dpkg -i libxlio-utils_X.Y.Z-R_<arch>.deb

During the installation process, the XLIO monitoring utility is installed at /usr/bin/xlio_stats.

Installing the XLIO devel Package

  1. Go to the location where the devel package was saved.

  2. Run the command below to start installation:

    For RPM packages:

    Copy
    Copied!
                

    #rpm -i libxlio-devel-X.Y.Z-R.<arch>.rpm

  • For DEB packages:

    Copy
    Copied!
                

    #dpkg -i libxlio-dev_X.Y.Z-R_<arch>.deb

During the installation process, the XLIO extra header file is installed at: /usr/include/mellanox/xlio_extra.h.

Note

To configure NVIDIA ConnectX adapter card ports for the desired transport, please refer to the Type Management / VPI Cards Configuration section.

© Copyright 2025, NVIDIA. Last updated on Feb 24, 2025.