Cisco IOS driver
The cisco_ios driver presents a Cisco IOS personality over SSH: a greeting, a host> /
host# prompt, enable mode, and a set of show commands answered convincingly. It is the
default driver and the one most NCM tooling will exercise.
Session flow
Section titled “Session flow”On connect the device emits a greeting and the user-mode prompt:
<hostname> line 0 is now available
<hostname>>A typical collection session: set the terminal length, enter enable mode, then pull config.
terminal length 0enablePassword: enable123show running-configexit ← leaves enable modeexit ← closes the sessionenable prompts for the enable password; a correct
password moves the prompt from > to #. A wrong one prints % Access denied.
Supported commands
Section titled “Supported commands”| Command | Behaviour |
|---|---|
terminal length 0 |
Silent acknowledgement (disables paging) |
terminal pager 0 |
Silent acknowledgement |
enable |
Prompts for the enable password; enters enable mode |
show version |
Canned IOS 15.x version block with the device’s hostname and serial |
show running-config |
The full generated config, streamed zero-copy from mmap |
show startup-config |
The same bytes as show running-config |
show inventory |
Canned inventory; chassis SN matches show version’s serial |
exit / quit / logout / end |
Leave enable mode, or close the session |
Anything else returns % Invalid input detected at '^' marker., unless a
command file matches it. Command files are checked first,
so they can also override the commands above.
Prefix matching
Section titled “Prefix matching”Like real IOS, commands resolve by per-token unique prefix: sh ver → show version,
sh run → show running-config. Two rules make this predictable:
- Exact matches always win.
endresolves as an exit alias even though it shares its first two letters withenable. - Genuinely ambiguous prefixes are rejected.
enis a prefix of bothenableandend, so it returns% Ambiguous commandrather than guessing. Type the distinguishing character (ena…orend).
Aliases that collapse to the same action (exit/quit/logout/end all close or drop a
mode) are not treated as ambiguous.
Metrics
Section titled “Metrics”Each resolved command is recorded under rcfgsim_command_duration_seconds{command="..."}.
The Cisco driver’s label values are the Cmd* names: CmdShowRunningConfig, CmdEnable,
CmdShowVersion, CmdUnknown, CmdAmbiguous, and the rest. See the
metrics reference.
Arista EOS on cisco_ios
Section titled “Arista EOS on cisco_ios”rConfig-sim has no separate EOS driver. EOS’s CLI is IOS-shaped: host> becomes host# after
enable, and terminal length 0 turns paging off, so an EOS device runs on cisco_ios
(manifest template = cisco_ios, vendor = Arista). EOS-specific output, such as
show lldp neighbors detail in EOS format or an EOS show version, comes from
command files. The
mesh-campus scenario has a worked EOS device, core-01.
In a configuration manager, an IOS SSH template with enable mode works for these devices.
SSH authentication
Section titled “SSH authentication”cisco_ios returns RequiresSSHAuth() == true — it authenticates at the SSH transport
layer. Under --ssh-auth=driver that means Cisco devices
challenge for a password while Ciena devices don’t.