Using Containerlab with netlab¶
Containerlab is a Linux-based container orchestration system focused on creating virtual network topologies. To use it:
Follow the containerlab installation guide or use netlab install containerlab on Ubuntu.
Install network device container images
Create lab topology file. Use
provider: clab
in lab topology to select the containerlab virtualization provider.Start the lab with netlab up
Container Images¶
Lab topology file created by netlab up or netlab create command uses these container images (use netlab show images to display the actual system settings):
Virtual network device | Container image |
---|---|
Arista cEOS | ceos:4.26.4M |
Cumulus VX | networkop/cx:4.4.0 |
Cumulus VX with NVUE | networkop/cx:5.0.1 |
FRR | frrouting/frr:v8.3.1 |
Nokia SR Linux | ghcr.io/nokia/srlinux:latest |
Nokia SR OS | vrnetlab/vr-sros:latest |
Cumulus VX, FRR, and Nokia SR Linux images are automatically downloaded from Docker Hub.
Arista cEOS image has to be downloaded and installed manually.
Nokia SR OS container image (requires a license), see also vrnetlab instructions.
You can also use vrnetlab to build VM-in-container images for Cisco CSR 1000v, Nexus 9300v and IOS XR, OpenWRT, Mikrotik RouterOS, Arista vEOS, Juniper vMX and vQFX, and a few other devices.
LAN bridges¶
For multi-access network topologies, netlab up command automatically creates additional standard Linux bridges.
You might want to use Open vSwitch bridges instead of standard Linux bridges (OVS interferes less with layer-2 protocols). After installing OVS, set defaults.providers.clab.bridge_type to ovs-bridge, for example:
defaults.device: cumulus
provider: clab
defaults.providers.clab.bridge_type: ovs-bridge
module: [ ospf ]
nodes: [ s1, s2, s3 ]
links: [ s1-s2, s2-s3 ]