Skip to content

Generating configs with rcfg-sim-gen

rcfg-sim-gen renders every device’s config to disk and writes the manifest the server reads. You run it once per test campaign.

  • One .cfg file per device in --output-dir (e.g. device-00000.cfg)
  • One manifest.csv mapping each ip:port to its config, credentials, vendor, and driver

Each device gets a unique hostname, enable secret, interface set, ACLs, routing config, and a deterministic serial number. The mix of config sizes is controlled by the --distribution flag.

Terminal window
./bin/rcfg-sim-gen \
--count 50000 \
--output-dir /opt/rcfg-sim/configs \
--manifest /opt/rcfg-sim/manifest.csv \
--ip-base 10.50.0.1 \
--ip-count 20 \
--devices-per-ip 2500 \
--port-start 10000 \
--seed 42 \
--distribution "sm:40,md:40,lg:15,xl:5"

This generates 50,000 configs across 20 IPs (2,500 ports each), with the default enterprise size mix.

FlagDefaultPurpose
--count50000Number of device configs to generate
--output-dir/opt/rcfg-sim/configsWhere .cfg files are written
--manifest/opt/rcfg-sim/manifest.csvOutput manifest path
--ip-base10.50.0.1First IP in the range
--ip-count20Number of IPs
--devices-per-ip2500Devices mapped to each IP
--port-start10000First port in the range
--seed42PRNG seed (controls determinism)
--distributionsm:40,md:40,lg:15,xl:5Size mix
--username / --password / --enable-passwordadmin / admin / enable123Credentials written to the manifest

The full list with descriptions is in the CLI reference.

make generate-configs wraps rcfg-sim-gen with environment-variable overrides, convenient when the same parameters are reused across a rig. The underlying flags are identical.