Skip to content

Configuration Schema: Aegis

Aegis is configured at startup using CLI options or a structured configuration file. This document details the parameters and validation constraints.


1. Parameters Schema

Parameter Type Default Description
thread_count Integer 4 Number of worker core threads to spawn.
buffer_pool_size Integer 65536 Total number of pre-allocated 2KB packet frames.
queue_capacity Integer 8192 Capacity of each SPSC queue. Must be a power of 2.
rules_file_path String "rules.txt" Path to the rule table file on disk.
pin_cores Boolean true If true, pins threads to specific CPU cores.
core_affinity_map Array [0, 1, 2, 3] Core index assignments for reader, LB, and workers.
inactivity_timeout Integer 300 Idle connection expiry window in seconds.
live_capture Boolean false Enable live NIC capture (if true, uses libpcap interface).
interface_name String "eth0" Name of network interface to bind for live capture.
benchmark_mode Boolean false Enable synthetic, loop-based memory benchmarks.
benchmark_loops Integer 1 Number of loop iterations for PCAP playback.

2. Configuration Format Examples

2.1 CLI Interface (Quick Run):

./aegis_engine --threads 4 --pool-size 65536 --rules ./rules.txt --pin-cores

2.2 JSON Schema Setup (config.json):

{
  "pipeline": {
    "threads": 4,
    "buffer_pool_size": 65536,
    "queue_capacity": 8192
  },
  "rules": {
    "path": "./rules.txt",
    "hot_reload": true
  },
  "ingestion": {
    "live": false,
    "interface": "eth0",
    "pin_cores": true,
    "core_map": [0, 1, 2, 3, 4]
  },
  "benchmark": {
    "enabled": false,
    "loops": 5
  }
}
Aegis parses this file during the initialization stage (where heap allocations are allowed) to build the static pipeline components.