image image image image image

On This Page

In this page we show how to run a simple network benchmarking test and compare the running results using the kernel’s network stack and that of XLIO.

Before running a user application, you must set the library into the environment variable LD_PRELOAD. For further information, please refer to the XLIO User Manual.


$ sockperf server -i

If LD_PRELOAD is assigned with without a path (as in the Example) then is read from a known library path under your distributions’ OS otherwise it is read from the specified path.

As a result, an XLIO header message should precede your running application. 

XLIO INFO   : ---------------------------------------------------------------------------
XLIO INFO   : XLIO_VERSION: 1.3.5-1 Release built on Jul 14 2022 16:07:02
XLIO INFO   : Cmd Line: sockperf server -i
XLIO INFO   : ---------------------------------------------------------------------------
XLIO INFO   : Log Level                      INFO                       [XLIO_TRACELEVEL]
XLIO INFO   : ---------------------------------------------------------------------------

Followed by the application output, please note that:

  • The XLIO version is shown
  • The command line indicates your application’s name (in the above example: sockperf)

The appearance of the XLIO header indicates that the XLIO library is loaded with your application.

Running Using Non-Root Permission

  • Check that ld is able to find the libxlio library

    ld -lxlio –verbose
  • Set UID bit to enforce user ownership

    sudo chmod u+s /usr/lib64/libxlio*
    sudo chmod u+s /sbin/sysctl
  • Grant CAP_NET_RAW privileges to application

    sudo setcap cap_net_raw,cap_net_admin+ep  /usr/bin/sockperf
  • Launch application under no root sockperf sr --tcp -i -p 12345 sockperf pp --tcp -i -p 12345 -t10 is limited to DEBUG log level. In case it is required to run XLIO with detailed logging higher than DEBUG level – use a library called that comes with OFED installation.

Before running your application, set the library into the environment variable LD_PRELOAD (instead of


$ sockperf server -i is located in the same library path as under your distribution’s OS.

For example in RHEL8.x x86_64, the is located in /usr/lib64/

NOTE: If you need to compile XLIO with a log level higher than DEBUG run “configure” with the following parameter:

./configure --enable-opt-log=none