Real SSH, not a mock
Every listener uses golang.org/x/crypto/ssh. Clients authenticate, run
show running-config, and read bytes off the wire exactly as they would
against real hardware.
rcfg-sim is a high-density SSH simulator for network devices. A single commodity host hosts 50,000+ concurrent SSH listeners — each one speaking real SSH, presenting a realistic Cisco IOS (or Ciena TL1) personality, and streaming a multi-KB to multi-MB running-config on demand. It exists so you can answer scaling questions about network automation and network configuration management (NCM) platforms with production-shaped load, instead of a 50-device lab.
It is free and open source (MIT), written in Go, and depends on only three external libraries.
Real SSH, not a mock
Every listener uses golang.org/x/crypto/ssh. Clients authenticate, run
show running-config, and read bytes off the wire exactly as they would
against real hardware.
Zero-copy at scale
Configs are mmap’d and streamed directly to the SSH channel. A 5 MB config
allocates nothing on the hot path, so one host sustains tens of thousands of
concurrent sessions.
Realistic, deterministic configs
The generator renders Cisco IOS configs from ~30 KB access switches up to 128 MB pathological cores. The same seed produces byte-identical output every run.
Built for test rigs
Prometheus metrics, deterministic fault injection, per-vendor drivers, and systemd-native operation — designed to be driven hard and observed closely.
Real-world network fleets span 100 to 50,000+ devices. Bugs that only appear at 50k scale — scheduler fairness, burst handling, diff-engine scaling, retry storms, resource envelopes — never show up against a handful of lab devices. The alternatives are buying ~$2M of hardware or burning a datacentre on VM emulation. rcfg-sim delivers the same production-shaped load from one box.
rcfg-sim is maintained by the team behind rConfig, a network configuration management platform. It was built to load-test rConfig itself, and is released as a standalone open-source tool that works with any SSH-based automation or NCM system. See Using rcfg-sim with rConfig for how the two fit together.