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
-
Inline Config (
XLIO_INLINE_CONFIG) - Highest priority -
JSON File (
XLIO_CONFIG_FILEor/etc/libxlio_config.json) -
Legacy Environment Variables - Lowest priority
Common Issues
|
Issue |
Solution |
|---|---|
|
Config not loaded |
Verify |
|
Invalid JSON |
Use |
|
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
-
Use JSON files for production deployments (faster parsing)
-
Minimize inline config for critical applications
-
Group related parameters in JSON for better organization
-
Validate configurations before deployment
For complete parameter documentation and advanced configuration patterns, see the XLIO Configuration Reference.
Last updated: