Vendor Support Granularity
“Supports Cisco” or “supports Junos” can mean many different things.
In netverdict, vendor support is intentionally split into smaller pieces so you can tell what to expect before you build a lab, paste a config, or rely on a show command.
The short version:
- Some commands are accepted because they are useful for training or import.
- Some commands also change the simulator’s actual network behaviour.
- Some features have vendor-style operational output.
- Some features can be exported back into vendor syntax.
- Not every vendor has the same depth yet.
That distinction matters. A command that parses is not automatically a fully modelled protocol feature. A feature that affects forwarding is not always available in every vendor’s exact CLI spelling. This page explains the difference.
What the labels mean
Section titled “What the labels mean”| Label | What it means for you |
|---|---|
| Parse | netverdict understands the command shape. The command is accepted in the CLI or importer instead of failing as unknown syntax. |
| Commit / import | The vendor command is converted into netverdict’s internal network model. This is most visible with Junos-style candidate config and imported configs. |
| Runtime | The feature affects simulation: forwarding, reachability, protocol state, services, security policy, or packet handling. |
| Show | You can inspect the result with vendor-style operational commands such as show ip route, show bgp, or similar. |
| Emit | netverdict can render the model back into that vendor’s configuration style. |
| Test | The path has explicit automated coverage. Tests do not make a feature perfect, but they are the best signal that it is intentionally supported. |
How to read a support row
Section titled “How to read a support row”If a feature says Parse only, netverdict accepts the syntax but may not use it to change traffic behaviour.
If it says Runtime, the feature participates in simulation. That is the most important label when you care about packet flow, routing decisions, failure scenarios, or security policy.
If it says Show, you should be able to inspect the model using operational commands instead of guessing what happened.
If it says Emit, netverdict can write the intent back out in that vendor’s style. This matters for round-trips and config examples.
Vendor depth overview
Section titled “Vendor depth overview”This is a practical overview, not a marketing claim. “Broad” means the vendor is useful across many labs today. “Medium” means important workflows work, but there are visible gaps. “Narrow” means support exists for selected workflows.
| Vendor / style | Current depth | Best used for | Watch for |
|---|---|---|---|
| Cisco IOS / IOS XE | Broad | Core routing, switching, ACLs, NAT, QoS, services, labs, and operational show workflows. | Some platform-specific enterprise knobs are intentionally simplified. |
| Cisco NX-OS | Medium | NX-OS-flavoured switching/routing workflows, vPC-related config, feature gates, and selected BGP/show output. | Not every IOS command has an NX-OS equivalent, and not every NX-OS feature is runtime-backed. |
| Cisco IOS XR | Medium | Commit-style router workflows, static routing, route policy, bundle Ethernet, and selected show aliases. | XR syntax breadth is still growing; deep carrier feature coverage is partial. |
| Cisco ASA | Medium | Firewall policy, objects, access-groups, NAT/twice NAT, translations, and session-style inspection. | Stateful firewall/NAT behaviour is modelled where implemented, but not every ASA diagnostic command option exists yet. |
| Juniper Junos | Broad | Candidate config, set / delete / commit, routing protocols, VLAN switching, LLDP, SNMP, NTP, and operational workflows. | Emit coverage is improving; some imported Junos intent is simulated better than it is re-exported. |
| VyOS | Medium to broad | Config import/export, BGP, OSPF, LDP, VRRP, firewall, NTP/syslog, and Linux-router style labs. | Show coverage is thinner than runtime/import coverage. |
| EdgeOS | Medium | VyOS-adjacent import workflows and selected routing/MPLS features. | Smaller command surface than VyOS. |
| Arista EOS | Narrow | Selected EOS CLI and BGP/show workflows. | Not a primary full-depth vendor yet. |
| Extreme EXOS | Narrow to medium | Selected EXOS config import, NTP/syslog, and VRRP workflows. | Operational and emit coverage are partial. |
| Check Point Gaia | Narrow to medium | Firewall-oriented import/runtime workflows plus selected management services. | Gaia policy behaviour is selective, not a full management-server model. |
| OpenWRT | Medium | UCI import, firewall/NAT runtime, NTP/syslog, and selected QoS parsing. | Operational output is intentionally limited. |
| UniFi | Narrow to medium | Site config import and selected service/runtime modelling. | Controller behaviour is selective; not every UniFi UI concept has a CLI-style equivalent. |
Feature coverage by vendor
Section titled “Feature coverage by vendor”Use this table to answer: “Can I build a useful lab for this feature in this vendor style?”
| Feature area | IOS / XE | NX-OS | IOS XR | ASA | Junos | VyOS / EdgeOS | Other vendors |
|---|---|---|---|---|---|---|---|
| Interfaces and IP addressing | Parse, Runtime, Show, Emit, Test | Parse, Runtime, Show, Emit, Test | Parse, Runtime, Show, Emit, Test | Parse, Runtime, Emit, Test | Parse, Commit, Runtime, Show, Emit, Test | Import, Runtime, Emit, Test | OpenWRT, EXOS, and Gaia import selected interface models. |
| Static routing | Parse, Runtime, Show, Emit, Test | Parse, Runtime, Show, Emit, Test | Parse, Commit, Runtime, Show, Emit, Test | Partial | Parse, Commit, Runtime, Show, Emit, Test | Import, Runtime, Emit, Test | OpenWRT and Gaia import selected routes. |
| OSPFv2 | Parse, Runtime, Show, Emit, Test | Partial | n/a | n/a | Parse, Commit, Runtime, Show, Test | Import, Runtime, Emit, Test | Not primary elsewhere. |
| OSPFv3 | Parse, Runtime, Show, Emit, Test | Partial | Partial | n/a | Partial | Partial | Not primary elsewhere. |
| BGP-4 | Parse, Runtime, Show, Emit, Test | Parse, Runtime, Show, Emit, Test | Partial | n/a | Parse, Commit, Runtime, Show, Test | Import, Runtime, Show, Emit, Test | EOS has selected BGP/show shape. |
| MP-BGP VPNv4 | Parse, Runtime, Show, Emit, Test | Partial | Partial | n/a | Partial | Partial | Not primary elsewhere. |
| EIGRP | Parse, Runtime, Show, Emit, Test | n/a | n/a | n/a | n/a | n/a | Cisco-style only. |
| RIP / RIPng | Parse, Runtime, Show, Emit, Test | Partial | n/a | n/a | Partial | Import, Runtime, Emit | Not primary elsewhere. |
| IS-IS | Parse, Runtime, Show, Emit, Test | Partial | Partial | n/a | Partial | Partial | Not primary elsewhere. |
| MPLS / LDP | Parse, Runtime, Show, Emit, Test | Partial | Partial | n/a | Parse, Commit, Runtime, Show, Test | Import, Runtime, Emit, Test | EdgeOS has selected import/runtime support. |
| VLANs and trunks | Parse, Runtime, Show, Emit, Test | Parse, Runtime, Show, Emit, Test | n/a | n/a | Parse, Commit, Runtime, Show, Test | Partial | OpenWRT bridge/VLAN import subset. |
| STP and guards | Parse, Runtime, Show, Emit, Test | Partial | n/a | n/a | Partial | Partial | Not primary elsewhere. |
| EtherChannel / LACP | Parse, Runtime, Show, Emit, Test | Parse, Runtime, Show, Emit, Test | Parse, Runtime, Emit, Test | n/a | Partial | Partial | Not primary elsewhere. |
| CDP / LLDP | Parse, Runtime, Show, Emit, Test | Partial | n/a | n/a | Parse, Commit, Runtime, Show, Test | Partial | EXOS/OpenWRT are not primary targets here. |
| ACLs | Parse, Runtime, Show, Emit, Test | Partial | Partial | Parse, Runtime, Show, Emit, Test | Parse, Commit, Runtime, Test | Import, Runtime, Emit, Test | Gaia/OpenWRT firewall subsets. |
| NAT / PAT | Parse, Runtime, Show, Emit, Test | Partial | n/a | Parse, Runtime, Show, Emit, Test | n/a | Import, Runtime, Emit | OpenWRT firewall/NAT subset. |
| Zone/firewall policy | Parse, Runtime, Show, Emit, Test | Partial | n/a | ASA firewall subset | Junos firewall filter subset | VyOS firewall subset | Gaia/OpenWRT firewall runtime. |
| QoS | Parse, Runtime, Show, Emit, Test | Partial | Partial | n/a | Partial | Import subset | OpenWRT QoS parser subset. |
| DHCP | Parse, Runtime, Show, Emit, Test | Partial | n/a | n/a | Partial | Import, Runtime, Emit | Not primary elsewhere. |
| NTP | Parse, Runtime, Show, Emit, Test | Partial | Partial | Import subset | Parse, Commit, Runtime, Show, Test | Import, Runtime, Emit, Test | EXOS, Gaia, OpenWRT, and UniFi import subsets. |
| Syslog / SNMP | Parse, Runtime, Show, Emit, Test | Partial | Partial | Partial | Parse, Commit, Runtime, Show, Test | Import, Runtime, Emit, Test | EXOS, Gaia, OpenWRT, and UniFi import subsets. |
| First-hop redundancy | Parse, Runtime, Show, Emit, Test | VRRP subset | n/a | n/a | VRRP subset | VRRP subset | EXOS VRRP subset. |
| Wireless / WLC | Catalyst/WLC subset | n/a | n/a | n/a | n/a | n/a | UniFi import subset. |
Examples of what this means
Section titled “Examples of what this means”A parsed command is not always simulated
Section titled “A parsed command is not always simulated”Vendor CLIs contain many commands that are useful for config realism, lab setup, or round-trip import, but do not need to affect packet flow. Those may be parsed without having runtime behaviour.
Example: a logging or banner command may be accepted and preserved, while it has no effect on reachability.
Runtime support is the important line
Section titled “Runtime support is the important line”For routing, switching, NAT, ACLs, firewalls, and services, runtime support means the feature changes what packets do.
Example: if an ACL entry is runtime-backed, it can allow or deny traffic in the simulation. If a static route is runtime-backed, it can alter the forwarding table and change reachability.
Show support is about operator trust
Section titled “Show support is about operator trust”Network engineers rarely trust a configuration until they can inspect the result. That is why show output is tracked separately.
Example: a BGP neighbour may be modelled in runtime, but the vendor-specific
show bgp ... or show ip bgp summary surface may still be incomplete for a
given vendor.
Emit support is about round-trips
Section titled “Emit support is about round-trips”Emit support means netverdict can write the internal model back into vendor syntax. It is especially useful when you import a config, modify a lab, and want to inspect the resulting vendor-shaped configuration.
Some vendors currently import more than they emit. That is normal for a growing multi-vendor model, and it is called out here because silent overclaiming would be worse.
Practical guidance
Section titled “Practical guidance”For training labs, prefer features with Runtime and Show support. Learners can configure something, test traffic, and inspect state in a familiar way.
For config-reading exercises, Parse and Commit / import may be enough if the goal is to understand syntax and intent.
For config round-trip workflows, look for Emit. If emit coverage is partial, the simulation may still be useful, but the exported vendor config may not preserve every original spelling or option.
For bug reports, include the vendor style, the command, and what you expected at each stage: parse, runtime effect, show output, or emitted config. That makes the issue much easier to reproduce.
Known limits
Section titled “Known limits”This page is still a human-maintained support map. It is meant to be honest about depth, not to pretend every vendor has identical coverage.
The long-term goal is to generate more of this page from command-tree coverage, parser tests, runtime tests, show-output tests, and emit round-trip tests. Until then, treat it as the public map of what is solid, what is partial, and where the next useful improvements are.