Libxlio
The NVIDIA® Accelerated IO (XLIO) software library accelerates TCP and UDP network applications by delivering high bandwidth, low latency, and reduced CPU utilization. Built as a user-space library with a kernel-bypass architecture, XLIO enables direct data transfer between application memory and network adapters for optimal performance.
Install / Use
/learn @Mellanox/LibxlioREADME
XLIO - Accelerated IO SW library
The NVIDIA® Accelerated IO (XLIO) SW library boosts the performance of TCP/IP network applications providing high bandwidth and low CPU usage. XLIO is a user-space software library which exposes standard POSIX and XLIO Ultra socket APIs with kernel-bypass architecture, enabling a hardware-based direct copy between an application user-space memory and the network interface.
Coupling XLIO with Crypto Enabled NVIDIA ConnectX, NVIDIA BlueField data processing unit (DPU) acceleration capabilities, provides a breakthrough performance of Transport Layer Security (TLS) encryption and decryption. XLIO is capable of utilizing HW features such as LRO/TSO and Striding-RQ which increase TCP performance, without application code changes for both POSIX socket and XLIO Ultra APIs.
Please visit our documentation website for more details.
<hr>- Getting Started
- Architecture
- Supported Transports
- Supported CPU Architectures
- Supported NICs
- Licenses
- Information
- Contribution
Getting Started
Installing XLIO
XLIO is available as part of DOCA Software Stack. Please visit DOCA website for more details.
Building XLIO
Prerequisits
DOCA Software stack
XLIO requires NVIDIA DOCA-Host software stack or NVIDIA Bluefiled bundle to be installed on the system. Please visit DOCA website for more details.
DPCP
DPCP (Direct Packet Control Plane) is mandatory to run XLIO. Repository: libdpcp
$ ./autogen.sh
$ ./configure --prefix=/where/to/install
$ make -j
$ make install
Tools
Autoconf, Automake, libtool, unzip, patch, libnl-devel (netlink 3)
Compiling XLIO
Run the following commands from within the directory at the top of the tree:
$ ./autogen.sh
$ ./configure --prefix=/where/to/install --with-dpcp=/where/dpcp/installed --enable-utls
$ make -j
$ make install
--enable-utls : Enables uTLS HW offload for supported NVIDIA HW.
Compiling XLIO using preinstalled dpcp
$ ./autogen.sh
$ ./configure --prefix=/where/to/install --with-dpcp --enable-utls
$ make -j
$ make install
Configure
See more Options
Usage Examples
Sockperf
LD_PRELOAD=libxlio.so sockperf <params>
Reposiroty: Sockperf
nginx
LD_PRELOAD=libxlio.so XLIO_NGINX_WORKERS_NUM=<N> nginx <nginx_params>
N - Number of Nginx workers.
Architecture

Supported Transports
- IPv4/6
- TCP
- UDP
Supported CPU Architecturess
Supported HW
- Please refer to the User Manual for supported device list.
Licenses
See LICENSE file
Information
See README file for XLIO features and parameters.
Contribution
Contribution guidelines for this project
