Migrating from Cisco Modeling Labs
CML is Cisco’s own emulation platform — polished web UI, first-party support, and reference nodes for the Cisco stack (IOSv, IOSvL2, IOS-XRv, NX-OSv, ASAv). If your employer already pays for it and your labs are Cisco-only, keep using it.
Labtris does not replace CML for what CML is best at. Instead, Labtris is where you put CML when one CML instance is not enough: run the CML VM as a QEMU node on Labtris, wire it out through a cloud network onto your real lab, and use Labtris around it for everything CML does not do well — non-Cisco images, per-direction impairment, browser-native packet capture, LLM-driven topology work, and more nodes than one licence lets you spin up.
Last checked against Cisco Modeling Labs 2.10 documentation and the CML-Free page on Cisco DevNet in October 2026. Comparisons go stale; if something here is wrong now, please say so.
What changes if you switch.
The differences worth knowing before reading anything else. The concept map further down answers the other question — where each thing you already use ended up.
- Cisco CML
- CML-Free: 5 nodes. Unmanaged switches and external connectors do not count. No expiry — the countdown in the status bar is cosmetic.
- Labtris
- No node limit. The ceiling is your host’s RAM.
- Cisco CML
- A licence tier, so the ceiling is a purchasing conversation rather than an infrastructure one.
- Labtris
- Add RAM.
- Cisco CML
- First-party templates for IOSv, IOSvL2, IOS-XRv, NX-OSv and ASAv, with the boot parameters already right.
- Labtris
- Not redistributed — nobody legally can. Run CML as a QEMU node on Labtris and use its images from there.
- Cisco CML
- Your problem, and the workflow around it is second-class.
- Labtris
- First-class: Juniper, Arista, PAN-OS, VyOS, SR Linux, containerlab kinds — anything that boots under QEMU or Docker.
- Cisco CML
- CML-Free needs no licence at all. Paid tiers need a Smart Licensing path.
- Labtris
- No licence, no phone-home, no account. Install it on a disconnected box.
- Cisco CML
- Per-link delay, jitter, loss and bandwidth — symmetric.
- Labtris
- Per-direction as well, live-editable without flapping the link.
- Cisco CML
- No.
- Labtris
- MCP server and a browser assistant, with the signed-in user’s permissions.
If your employer already pays for CML and your labs are Cisco-only, keep using it — the first-party images are the whole point and we do not match them. This page is about the case where one CML instance is not enough, which is why the migration section below runs CML inside Labtris rather than replacing it.
Keep using these ideas.
- Ships templates for Cisco's own images so you do not hand-craft the boot params — IOSv, IOSvL2, IOS-XRv, NX-OSv, ASAv all just work.
- Polished web UI with a canvas, integrated web terminals, and a pyATS runner.
- Official Cisco support channel; if a Cisco image misbehaves, you have someone to escalate to.
- Vetted reference topologies from Cisco Learning and DevNet — good starting points.
The reasons to look elsewhere.
- The node cap is a licence tier, so hitting the ceiling is a purchasing conversation rather than an infrastructure one. CML-Free runs five nodes; unmanaged switches and external connectors are exempt.
- Cisco-only by design; non-Cisco vendors are your problem, and the workflow around them is second-class.
- A substantial VM footprint, and locked to Cisco's release cadence.
- Clustering exists but asks a lot of the room: a controller plus up to eight compute hosts, two NICs each, 10G recommended, under 5 ms between them, all on the same CML version.
What you know, and what it’s called here.
Same primitives, mostly. A few things are actually different — those get their own row.
- Where CML runs
- CML
- A VM you provision (VMware, KVM, ESXi)
- Labtris
- As a QEMU node on Labtris. Wire it into a lab, expose it out through a cloud network, treat it like any other appliance.
- Cisco vendor images
- CML
- First-party templates included
- Labtris
- Run CML inside Labtris and use CML's own images from there. Labtris does not redistribute Cisco images (nobody legally can).
- Non-Cisco images
- CML
- Extras / your problem
- Labtris
- First-class: Juniper, Arista, PAN-OS, VyOS, Nokia SR Linux, containerlab kinds — anything that boots under QEMU or Docker.
- Node limit
- CML
- A licence tier. CML-Free runs five nodes
- Labtris
- None. The limit is your host RAM.
- Multi-host
- CML
- Clustering: a controller plus up to 8 compute hosts, 10G NICs, <5 ms apart
- Labtris
- Register a second host, VXLAN builds the tunnel. Fewer requirements of the room; also less engineered.
- Topology format
- CML
- YAML (CML's native)
- Labtris
- JSON. `.unl` and `.clab.yml` import today; CML YAML importer is on the roadmap.
- Console
- CML
- Web terminal
- Labtris
- Serial via xterm.js, VNC/RDP via Guacamole — one browser, every guest type.
- Impairment
- CML
- Per-link (delay/jitter/loss/BW)
- Labtris
- Same, plus per-direction (A→B ≠ B→A), plus live-edit without link flap.
- Packet capture
- CML
- Right-click, download pcap
- Labtris
- Same — plus a browser-native dissector so you do not need Wireshark installed locally.
- Assistant / MCP
- CML
- None
- Labtris
- MCP server + browser assistant. An LLM drives topology, wires, config, captures — with the same permissions as the signed-in user.
- Air-gapped
- CML
- CML-Free needs no licence at all; paid tiers need a Smart Licensing path
- Labtris
- No licence, no phone-home, no account. Install it on a disconnected box.
- Licence
- CML
- Commercial (Personal / Enterprise)
- Labtris
- MIT (the emulator)
Importing existing topologies.
Run CML as a Labtris node. Grab the CML controller OVA / qcow2 you already have, upload it with labtris-image add cml-controller.qcow2 or through the palette. It boots as a QEMU node like any other, with as much RAM and vCPU as you give it. Connect it out to your real management network with a Cloud segment; connect it to your lab bridges with plain veth links. From CML’s perspective it is running on a VM host; from Labtris’s, it is one node among many.
Why this shape. CML is licensed per instance. Nothing stops you running several CML instances as separate Labtris nodes on the same host, each with its own licence, wired together at L2 — and now the aggregate node count is the sum of the licences, not one. Meanwhile the non-Cisco half of a mixed-vendor lab runs natively on Labtris and talks to the CML side over a shared segment.
Topology YAML importer. On the roadmap. If you have a large corpus of CML labs you need to moveinto Labtris directly (not into a CML VM), open an issue and share one — the schema is documented, it is a small project.
Try Labtris.
Private beta: ask for access, install with the token you get back. No telemetry, no lock-in; the code you receive is MIT.