XLIO - Configuration Quick Start
This guide helps you quickly get started with the XLIO Configuration Subsystem.
Enable the New Configuration System:
export XLIO_USE_NEW_CONFIG=
1Choose 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"
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"
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
Inline Config (
XLIO_INLINE_CONFIG) - Highest priorityJSON 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 |
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
}
}
}
Advanced Configuration: See Configuration Reference for all parameters.
Migration: Use Migration Guide to convert legacy settings.
Troubleshooting: Enable debug logging for detailed configuration information.
Use JSON files for production deployments (easier maintenance)
Minimize inline config for critical applications
Validate configurations before deployment
For the complete parameter documentation and advanced configuration patterns, see the XLIO Configuration Reference page.