Skip to content

Release 0.15#



This release adds a breaking change in the clab file schema. Starting from this release version, a path to a startup config file needs to be provided with startup-config key. Previously it was done with config key.

Use sed -i s/config:/startup-config:/g <topo-file> script to auto-substitute the values in the <topo-file> file.

Ignite runtime support and Cumulus VX#

@networkop embarked on a journey of adding a Cumulus VX to containerlab, and he chose the doing-this-the-hard-way by running Cumulus VX as a container1. To make that happen, he added a new ignite runtime that allows us to launch containers with custom kernels.

With that work done, containerlab is now supporting a new kind - cvx - that defines the Cumulus VX NOS and that can run in different modes2.

Containerd runtime support#

@steiler added experimental support for containerd runtime. As the name implies, this makes it possible to run containerlab having only containerd installed and the necessary CNI plugins.

Please bear in mind that not all containerlab features are available for containerd runtime, but the core feature set is there.

To start containers with containerd runtime, the --runtime | -r global flag has been introduced.

The BIG refactoring#

With @karimra superpowers, containerlab has undergone a major refactoring of its code base. Now we have a strong and flexible foundation to build new features on top.

This was the biggest architectural change since the beginning, so some rough edges might eventually show up, but we will iron them out.


We strive to support the growing containerlab community to the best of our abilities. While github discussions is a nice place to ask formulated questions sometimes it is really nice to have a chat with the community members.

With that in mind we launched the containerlab's own discord server that all are welcome to join!


  • kind base configuration templates are now embedded in the code. This means that you can download containerlab binary from Releases and launch the labs, without doing the installation from packages.
    The reason you might want to do this is if you want to install containerlab on a system which doesn't have rpm/deb based package manager.
    Note, that the package-based installation is still the recommended way.
  • the exec command now has a --format flag that is capable of nicely handling the JSON outputs.
  • deployment of SR Linux nodes will now proceed even if license file is not present3
  • a new --keep-mgmt-net flag has been added to destroy command to prevent the management network deletion attempt
  • the MTU on the veth links created between the containers has been lowered to 9500 from its original 65000 value



  • Fixed directories creation for ignite runtimes
  • Fixed release notes links in containerlab version command


  • Fixed startup-config provisioning for ceos nodes #526


  • Allow ceos startup config to receive ipv4/6 addresses #528
  • Added JSON-RPC server to SR Linux default configuration


  • Fixed disabling tx checksum offload for linux nodes #543
  • Fixed tools disable-tx-offload command #543

  1. as opposed to a VM-way by running Cumulus with vrnetlab 

  2. both with ignite runtime or docker runtime 

  3. starting with SR Linux 21.3, the license file is optional