NVIDIA Accelerated IO (XLIO) Documentation

XLIO - Configuration Quick Start

This guide helps you quickly get started with the XLIO Configuration Subsystem.

Quick Setup

  1. Enable the New Configuration System:

    export XLIO_USE_NEW_CONFIG=1

  2. Choose Your Configuration Method:Option A: Inline Configuration (Recommended for Testing): export XLIO_INLINE_CONFIG="core.resources.memory_limit=4294967296, monitor.log.level=info, network.protocols.tcp.nodelay.enable=true" Option B: JSON Configuration File (Recommended for Production): Create /etc/libxlio_config.json: { "core": { "resources": { "memory_limit": 4294967296, "number_max_fds": 1024 } }, "monitor": { "log": { "level": "info", "filename": "/var/log/xlio.log" } }, "network": { "protocols": { "tcp": { "nodelay": { "enable": true } } } } } Option C: Environment Variable (Specify Config File Path):  export XLIO_CONFIG_FILE="/tmp/my_config.json"


Common Configuration Scenarios

High Performance TCP 

export XLIO_INLINE_CONFIG="network.protocols.tcp.nodelay.enable=true, network.protocols.tcp.quickack=true"

Low Latency TCP 

export XLIO_INLINE_CONFIG="network.protocols.tcp.nodelay.enable=true, network.protocols.tcp.quickack=true, hardware_features.tcp.lro=disable"

Nginx High Performance 

export XLIO_INLINE_CONFIG="applications.nginx.workers_num=8, applications.nginx.distribute_cq=true, applications.nginx.src_port_stride=2"

Debug and Monitoring 

export XLIO_INLINE_CONFIG="monitor.log.level=debug, monitor.log.details=2, monitor.stats.file_path=/tmp/xlio_stats.log, monitor.exit_report=true"

Quick Troubleshooting

Check Configuration Loading 

# Enable configuration debug logging
export XLIO_INLINE_CONFIG="monitor.log.level=debug, monitor.log.details=3"

# Run your application and check for config messages
./your_application 2>&1 | grep -i config

Validate JSON Configuration 

# Check JSON syntax
python3 -m json.tool /etc/libxlio_config.json

# Validate against schema
jsonschema -i /etc/libxlio_config.json /etc/xlio_config_schema.json

Configuration Priority Order

  1. Inline Config (XLIO_INLINE_CONFIG) - Highest priority

  2. JSON File (XLIO_CONFIG_FILE or /etc/libxlio_config.json)

  3. Legacy Environment Variables - Lowest priority

Common Issues



Issue

Solution

Config not loaded

Verify XLIO_USE_NEW_CONFIG=1 is set

Invalid JSON

Use python3 -m json.tool to validate syntax

Parameter not found

Check parameter name in

Configuration Reference

Parameter Format Examples

Inline Configuration Syntax

  • Basic format: parameter.path=value 

    export XLIO_INLINE_CONFIG="monitor.log.level=info"

  • Multiple parameters: comma-separated 

     export XLIO_INLINE_CONFIG="monitor.log.level=info, core.resources.memory_limit=1073741824"
    

  • Boolean values: true/false 

     export XLIO_INLINE_CONFIG="network.protocols.tcp.nodelay.enable=true" 

JSON Configuration Hierarchy 

{
  "core": {
    "resources": {
      "memory_limit": 1073741824
    }
  },
  "monitor": {
    "log": {
      "level": "info",
      "file_path": "/var/log/xlio.log",
      "details": 1
    }
  }
}


Next Steps

  • Advanced Configuration: See Configuration Reference for all parameters.

  • Migration: Use Migration Guide to convert legacy settings.

  • Troubleshooting: Enable debug logging for detailed configuration information.

Usage Tips

  1. Use JSON files for production deployments (easier maintenance)

  2. Minimize inline config for critical applications

  3. Validate configurations before deployment


For the complete parameter documentation and advanced configuration patterns, see the XLIO Configuration Reference page.


Last updated: