Networking NVIDIA Accelerated IO (XLIO) Documentation

XLIO Configuration Subsystem

What is the XLIO Configuration Subsystem?

The XLIO Configuration Subsystem is a sophisticated, type-safe configuration management framework that transforms traditional environment variable-based configuration into a structured, validated, and extensible system. It incorporates schema-driven validation, hierarchical organization, and modular loading strategies similar to modern infrastructure-as-code approaches.

Modular Architecture and Type Safety

The C++ implementation modularizes configuration management into reusable software components using template classes and runtime validation. The JSON Schema-driven approach provides comprehensive type safety and constraint validation with performance characteristics comparable to compile-time configuration systems.

This abstraction allows developers to configure XLIO behavior at different levels of the network stack using hierarchical parameter organization, runtime validation, and multiple configuration sources through structured JSON files or compact inline notation.

Comprehensive Parameter Coverage

To support a broad range of networking applications, the XLIO Configuration Subsystem offers comprehensive coverage of all network acceleration features:

  • Core Configuration: Memory management, signal handling, and system call behavior

  • Network Protocols: TCP/UDP settings, multicast, and hardware timestamp configuration

  • Hardware Features: Striding RQ, TCP offloads (LRO/TSO), and TLS acceleration

  • Performance Tuning: Ring allocation, polling behavior, and completion queue settings

  • Application Integration: Nginx optimizations and acceleration control

  • Observability: Logging levels, statistics collection, and monitoring settings

The configuration system extends this support by enabling experimentation with optimal parameter combinations using both JSON and inline configuration syntax.

Performance and Compatibility

The XLIO Configuration Subsystem delivers the same performance as legacy environment variables while providing enhanced type safety and validation. The system maintains full backward compatibility with existing environment variable configurations.

The new system is optimized for both development and production environments, achieving: - Zero overhead parameter access in critical paths - Fast validation during initialization - Complete backward compatibility with legacy configurations - Development productivity through schema validation and clear error messages

Beyond Environment Variables: Structured Configuration

Beyond simple key-value pairs, the XLIO Configuration Subsystem supports hierarchical configuration management through the JSON Schema validation approach. This reformulates traditional environment variable configuration as structured, validated parameter trees, enabling the system to leverage modern configuration management practices while maintaining the performance characteristics of direct variable access.

Getting Started

Choose your configuration approach:

Quick Start

  • Quick Start Guide - Get up and running in minutes

  • Most common configuration scenarios

  • Copy-paste examples for immediate use

Complete Documentation

  • Configuration Reference - Complete parameter documentation

  • All available parameters with types, defaults, and legacy mappings

  • Advanced configuration patterns and validation rules

Migration Support

  • Migration Guide - Move from legacy environment variables

  • Step-by-step migration process

  • Common issues and troubleshooting

Key Features

Feature

Description

Benefits

Type Safety

Compile-time and runtime validation

Catch configuration errors early

Schema-Driven

JSON Schema validation

Self-documenting configuration

Hierarchical

Organized parameter structure

Logical grouping and namespace separation

Multi-Source

JSON files, inline config, environment variables

Flexible deployment options

Backward Compatible

Legacy environment variable support

Zero-disruption migration

Performance

Zero overhead in critical paths

No impact on network performance

Configuration Hierarchy

The configuration system organizes parameters into logical groups:

Group

Purpose

Examples

Core

System behavior

Memory limits, signal handling

Network

Protocol settings

TCP/UDP configuration, timestamps

Hardware

Hardware features

Striding RQ, LRO/TSO, TLS offload

Performance

Optimization settings

Ring allocation, polling, completion queues

Applications

App-specific settings

Nginx optimizations

Monitor

Logging and statistics

Log levels, file paths, stats directory

Next Steps

  1. New Users: Start with the Quick Start Guide

  2. Existing Users: Review the Migration Guide

  3. Advanced Users: Explore the Configuration Reference

Support and Resources

  • Schema File: src/core/config/descriptor_providers/xlio_config_schema.json

  • Legacy Mappings: src/core/config/mappings.py

  • Unit Tests: tests/unit_tests/config/

  • Examples: See Quick Start Guide for common patterns


This documentation covers the XLIO Configuration Subsystem for high-performance network acceleration. For general XLIO documentation, see the main XLIO user guide.


Last updated: