Skip to content

CLI reference

Every flag for both binaries, with defaults. Flag names and defaults are public API — see versioning & scope.

The SSH server. One instance per IP.

FlagDefaultDescription
--listen-ip10.50.0.1IP address to bind
--port-start10000First port in the contiguous range
--port-count2500Number of ports to bind
--manifest/opt/rcfg-sim/manifest.csvPath to the generator manifest (authoritative port→config mapping)
--host-key/etc/rcfg-sim/ssh_host_rsa_keyPath to the SSH host key (generated if missing)
--usernameadminAccepted SSH username (currently informational; auth is password-only)
--passwordadminAccepted SSH password (empty = accept any)
--enable-passwordenable123Enable-mode password
--ssh-authpasswordSSH transport auth: password (all devices) | driver (per-driver) | none (in-band only)
--metrics-addr0.0.0.0:9100Prometheus metrics + /healthz address (empty = disable)
--response-delay-ms-min50Minimum per-command response delay (ms)
--response-delay-ms-max500Maximum per-command response delay (ms)
--fault-rate0.0Probability [0,1] an enabled fault fires per event
--fault-types""Comma-separated faults: auth_fail, disconnect_mid, slow_response, malformed
--max-concurrent-sessions5000Semaphore cap on concurrent sessions
--log-levelinfoerror | warn | info | debug

The config generator. Run once per campaign.

FlagDefaultDescription
--count50000Number of device configs to generate
--output-dir/opt/rcfg-sim/configsDirectory for rendered .cfg files
--manifest/opt/rcfg-sim/manifest.csvOutput CSV manifest path
--ip-base10.50.0.1First IP alias
--ip-count20Number of IP aliases
--port-start10000First port in the range
--devices-per-ip2500Devices mapped to each IP
--seed42PRNG seed for deterministic output
--distributionsm:40,md:40,lg:15,xl:5Model weights (percent, sum 100). Models: sm, md, lg, xl, 2xl, 3xl, 4xl, 5xl, 6xl, ciena-6500-tl1
--usernameadminUsername written into the manifest
--passwordadminPassword written into the manifest
--enable-passwordenable123Enable password written into the manifest