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.
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.
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.