Networking NVIDIA Accelerated IO (XLIO) Documentation

XLIO - Configuration Quick Start

This guide helps you quickly get started with the XLIO Configuration Subsystem. For complete documentation, see the main configuration documentation.

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 (if available) jsonschema -i /etc/libxlio_config.json /path/to/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

Legacy conflicts

New config overrides legacy environment variables

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

Performance Tips

  1. Use JSON files for production deployments (faster parsing)

  2. Minimize inline config for critical applications

  3. Group related parameters in JSON for better organization

  4. Validate configurations before deployment


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


Last updated: