netplex. Early Access is open - join the list to get in first.
Real vendor CLIs Visual canvas Still scriptable

The Mininet alternative
for when Linux hosts are not enough.

Mininet is superb at what it was built for: thousands of hosts and switches out of Linux namespaces, in seconds, for SDN and OpenFlow research. What it cannot do is give you a Cisco prompt. If your lab needs real vendor firmware, a canvas and a console, that is a different tool.

Get netplex. free See the comparison

Mininet is not a weaker emulator. It is a different thing entirely. Mininet does not emulate hardware at all. It carves up one Linux kernel into network namespaces, connects them with veth pairs, and runs ordinary Linux processes inside. That is why it can stand up a thousand-node topology on a laptop in under a minute, and it is also why every host in that topology is Linux. There is no IOS, no Junos, no EOS - and no way to add one, because there is no virtual machine to boot firmware into. It also has no notion of virtual time, so on large topologies the emulation slows down against the wall clock and your measurements drift. For OpenFlow controller research that is all fine. For practising a BGP config you will type at work, it is the wrong instrument.

Where Mininet stops

Brilliant for SDN research.
Not built for vendor labs.

Gap 01

Every node is Linux, and that is architectural

Namespaces share the host kernel, so a node is a Linux process tree - not a virtual machine. You can run FRRouting or Open vSwitch inside one, but you cannot boot a Cisco or Juniper image into it. If your goal is CLI muscle memory on real firmware, Mininet cannot get you there at any effort level.

Gap 02

The topology is a Python script, and only a Python script

Topologies are built in code or through Mininet's own CLI. That is powerful and completely reproducible, and it also means there is no diagram, nothing to hand a colleague who does not read Python, and no way to see what you built without drawing it yourself.

Gap 03

Fidelity fades as the topology grows

Mininet has no virtual clock. Everything shares the real one, so as the topology gets big enough to saturate the host, emulated time slips behind wall-clock time and your latency and throughput numbers stop meaning what you think they mean. Mininet's own documentation is upfront about this.

Gap 04

One host, one kernel

A Mininet topology lives inside a single Linux machine. There is no clustering across hosts, no shared server a team logs into, and no multi-user model - if a colleague needs your lab, they need your script and their own box.

Feature comparison

Mininet and netplex.,
line by line.

Feature comparison between Mininet and netplex., covering node technology, vendor firmware support, topology size, SDN features and collaboration.
Feature Mininet
namespaces
netplex.
Associate, free
How a node runs Linux network namespace QEMU virtual machine, container, LXC or namespace
Real Cisco, Juniper or Arista CLI No Yes - your own images
Topology size on a laptop Thousands of nodes Tens to hundreds, depending on node type
Time to build a big topology Seconds Seconds for containers, minutes for VMs
Visual canvas No - Python or its own CLI Yes - drag, wire and watch it run
OpenFlow and SDN controllers Its whole purpose Yes - Open vSwitch fabric, bring your controller
Timing fidelity at scale Drifts - no virtual clock Real VMs, real timers per node
Link impairment Yes - tc based Yes - delay, jitter, loss and rate per link
Multi-user, shared lab No Yes - send a link
Console in a browser No - terminal on the host Yes
Packet capture tcpdump inside a namespace Click a link, capture, open in Wireshark
Reproducible from code Yes - Python API Yes - REST, CLI, Terraform, Ansible, .npx in git
Runs across several hosts No - one kernel Yes on Architect - clustered hosts

The timing point is Mininet's own documented limitation, not a benchmark we ran. Node counts depend enormously on what a node is: a container costs a fraction of what a vendor virtual machine costs.

The short version: pick by what a node needs to be.

If your nodes are Linux hosts and OpenFlow switches and you want a thousand of them, use Mininet - nothing in this space beats it on that. If any node in your topology has to be a real router running the vendor's own firmware, no amount of namespace work gets you there, and that is where netplex. starts. Containerlab sits between the two if you want containers with vendor network operating systems.

Straight with you - where Mininet still wins

Mininet is faster and lighter than anything here, by a wide margin - namespaces cost almost nothing, so a topology that would flatten a netplex. host boots on a laptop in seconds. It is the standard tool in SDN and OpenFlow research for good reasons: a mature Python API, reproducible experiments, and a decade of published papers whose methods you can copy exactly. Its tc-based link shaping is well understood and well documented. If you are writing a controller, evaluating a routing algorithm at scale, or reproducing an academic result, Mininet is the correct tool and netplex. is not a replacement for it. The line is simple: Mininet for research on Linux networking, netplex. for labs on real network devices.

What you get instead

Real devices, still fully scriptable.

Vendor firmware, a canvas anyone can read, and an API when you want the script back.

Actual vendor firmware

Boot your own Cisco, Juniper, Arista or Fortinet image under QEMU with the right hardware profile applied.

Mix node types freely

A QEMU router, a Docker host, an LXC container and a namespace can all sit on the same link.

A diagram, not just a script

Drag nodes, wire links, see state live. Then export the whole thing as plain JSON for git.

Open vSwitch underneath

The fabric is real OVS, so your OpenFlow controller and your SDN work still have somewhere to point.

Per-link impairment

Add delay, jitter, loss or a rate limit to any link and watch protocols react.

Automation that is not an afterthought

Versioned REST API, CLI, Terraform provider and Ansible modules for building labs from code.

Questions

Mininet questions,
answered honestly.

Can Mininet run Cisco IOS?
No. Mininet nodes are Linux network namespaces sharing the host kernel, not virtual machines, so there is nowhere for vendor firmware to boot. You can run Linux routing software like FRRouting or Quagga inside a node, but the CLI will be that software's CLI, not IOS.
Is netplex. slower than Mininet?
For equivalent topologies, yes, and that is expected. A namespace is nearly free; a QEMU virtual machine running real firmware costs a CPU core and a gigabyte or two. If you need a thousand nodes, Mininet is the answer. If you need ten real routers, netplex. is.
Can I still do SDN and OpenFlow work in netplex.?
Yes. The link fabric is real Open vSwitch, so you can point an external controller at the bridges and run OpenFlow against them, with real vendor devices in the same topology. What netplex. does not try to be is a research harness for thousand-switch controller benchmarks - that is Mininet's job.
Why do my Mininet timings drift on large topologies?
Mininet has no virtual clock. Every emulated node shares the host's real one, so once the topology needs more CPU than the host has, emulated time falls behind wall-clock time and latency and throughput measurements stop being trustworthy. Mininet documents this limitation itself.
What about Containerlab - is that the middle ground?
Often, yes. Containerlab runs containerised network operating systems, so you get real vendor CLIs with container-level startup cost. netplex. imports Containerlab YAML directly, so you can keep those topologies and put a canvas and a browser console on top - see the Containerlab comparison.
Can I move a Mininet topology into netplex.?
Not automatically - Mininet topologies are Python programs, not a data format, so there is nothing to parse. In practice you rebuild the topology on the canvas or describe it in .npx JSON, then substitute real device images for the Linux hosts where it matters.
Keep comparing

Weighing up another tool? Read the side-by-side.

vs Containerlab

YAML in a terminal versus a canvas - and why you don't have to choose, because netplex. imports the YAML.

vs GNS3

The desktop GUI plus a separate VM, versus one browser tab that anyone on your network can open.

vs EVE-NG

The 7-node Freemium cap, the fixpermissions ritual, the MAC-locked Pro licence - and what changes without them.

EVE-NG vs GNS3

The head-to-head everyone searches for, with a third column so you can see what both of them cost you.

vs Cisco CML

Cisco's own images and per-seat licence, next to a multi-vendor platform with a free tier.

vs Cisco Packet Tracer

Simulated device behaviour versus real IOS, and the exact point where the simulation stops keeping up.

When a node has to be
a real router.

Real vendor firmware, an Open vSwitch fabric underneath, a canvas on top and an API around it. Free tier, no node limit.

Get netplex. free See the full product

Last reviewed September 2026 · Spotted something out of date? Tell us.