Labtris
Migration guide

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.

At a glance

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.

What does the free tier run?
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.
What happens when you need more?
Cisco CML
A licence tier, so the ceiling is a purchasing conversation rather than an infrastructure one.
Labtris
Add RAM.
Cisco images
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.
Everything that is not Cisco
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.
Can you run it air-gapped?
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.
Can a link be slow in one direction?
Cisco CML
Per-link delay, jitter, loss and bandwidth — symmetric.
Labtris
Per-direction as well, live-editable without flapping the link.
Is there an assistant?
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.

What Cisco CML got right

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.
Where the friction came from

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

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)
Bringing your lab across

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.