Installing XLIO Binary Manually

XLIO can be installed from a dedicated XLIO RPM or a Debian package. In this case, please make sure that the MLXN Driver is already installed and that MLNX Driver 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-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, 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:
    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 the:
• 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.

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

For further information, please refer to Running XLIO.

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 VMA version. This option is suitable for users who wish to implement custom VMA modifications.

Please visit the libxlio wiki page for various “how-to” issues.

For building XLIO from sources, please visit the following page: https://github.com/Mellanox/libvma/wiki/Build-Instruction

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

Copy
Copied!
            

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

For libvma configuration file please visit: https://github.com/Mellanox/libxlio/wiki.

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 Running XLIO 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.

© Copyright 2023, NVIDIA. Last updated on Feb 8, 2024.