This directory contains the supported example labs for Pola.
The host setup is common to all examples. Example-specific requirements are listed in each Requirements section.
sudo bash -c "$(curl -sL https://get.containerlab.dev)"Used by sr-mpls-explicit-path, srv6-usid-dynamic-path and
srv6-usid-dynamic-path-loose-source-routing-sfc.
Configure sysctl on host
$ vi /etc/sysctl.conf
fs.inotify.max_user_instances=64000
fs.inotify.max_user_watches=64000
net.core.netdev_max_backlog=300000
net.core.optmem_max=67108864
net.core.rmem_default=67108864
net.core.rmem_max=67108864
net.core.wmem_default=67108864
net.core.wmem_max=67108864
net.ipv4.udp_mem=1124736 10000000 67108864
$ sysctl -phost-check (see: Setting up the Host Environment to run XRd)
git clone https://github.com/ios-xr/xrd-tools
cd xrd-tools/scripts
./host-check --platform xrd-control-planeLoad XRd container image
docker load -i <xrd>.tar.gzUsed by every example except sr-mpls-explicit-path-l3vpn.
Install Juniper vJunos-router using Vrnetlab
$ sudo apt install make
$ git clone https://github.com/hellt/vrnetlab && cd vrnetlab/vjunos-router
$ cp ~/vjunos-router-25.2R1.9.qcow2 .
$ sudo make
^Cmake[1]: *** [../makefile-install.include:39: docker-build] Interrupt
make: *** [../makefile.include:9: docker-image] Interrupt
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
vrnetlab/juniper_vjunos-router:25.2R1.9 <IMAGE_ID> <CREATED> <SIZE>
$ sudo rm -rf vrnetlab
$ docker builder prune -aUsed by the FRRouting nodes of sr-mpls-explicit-path and sr-mpls-explicit-path-l3vpn.
sudo modprobe mpls_router
sudo modprobe mpls_gso
sudo modprobe mpls_iptunnel- Topology files use
topo.clab.yaml. - The Pola helper node is named
polaacross all examples. - Daemons are expected to start automatically unless a README explicitly says otherwise.
- The
switchnode is awbitt/network-multitool:latestcontainer that runs a Linux bridge, providing a private Layer 2 segment for each topology without using the host network namespace.
- Router and network OS images are pinned to tested versions.
- The Pola helper uses
ghcr.io/nttcom/pola:latest-debugbecause the topologies runipinexecblocks and expect a shell for troubleshooting, which the slimlatestimage does not provide. - Generic utility nodes may use upstream convenience images such as
wbitt/network-multitool:latestwhen no project-maintained runtime image exists. - The SRv6 dynamic-path examples rely on mounted GoBGP binaries inside
wbitt/network-multitool:latesthelper nodes.