Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/labs/clab.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ You have to be a member of the `clab_admins` group to start a _containerlab_ lab

## Supported Versions

The latest _netlab_ release was tested with _containerlab_ version 0.75.0. That's also the version the **netlab install containerlab** command installs.
The latest _netlab_ release was tested with _containerlab_ version 0.80.0. That's also the version the **netlab install containerlab** command installs.

If needed, use ```sudo containerlab version upgrade``` to upgrade to the latest _containerlab_ version.

Expand Down Expand Up @@ -336,7 +336,7 @@ frr:
image: frrouting/frr:v8.3.1

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I understood there is a special containerlab release version for this image

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It does add ssh and stuff I will test if it is really required or not.
I mean its nice to have anyways all my frr images are built with ssh and iperf3 and some other stuff

@Muddyblack Muddyblack Oct 10, 2026 •

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It already worked without the clab image before but needed before pausing restarting a node to manually run write memory and then run vtysh -f /etc/frr/frr.conf.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So I tested it with a plain frr 10.7.1 no containerlab-frr and if using the frr kind and doing a containerlab save all worked .

same for the extras.frr.daemons

Node Daemons running Memory
extras.frr.daemons: [ospfd] mgmtd, ospfd, staticd, watchfrr, zebra 18.8 MiB
default (no selection) all 19 73.2 MiB

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As far as I understand this clab frr image is just so you can run their normal clab stuff like ssh admin@<node> as they usually support ssh jump for any kind.

Without that then only docker exec shell variant works...

Since netlab configures all using the docker shell anyways we do not really care no?

The other thing I honestly have no knowledge about seems to be the netlab_mgmt_vrf for clab? but netlab handles this already I think.

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As far as I understand this clab frr image is just so you can run their normal clab stuff like ssh admin@<node> as they usually support ssh jump for any kind.

Correct.

Since netlab configures all using the docker shell anyways we do not really care no?

Also correct.

The other thing I honestly have no knowledge about seems to be the netlab_mgmt_vrf for clab? but netlab handles this already I think.

Also correct.

mtu: 1500
node:
kind: linux
kind: frr
config_templates:

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs to change too for the new frr kind, Containerlab has something built-in for it

daemons: /etc/frr/daemons
```
Expand Down
2 changes: 1 addition & 1 deletion docs/outputs/devices.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ s2:
device: frr
hostname: clab-X-s2
id: 2
kind: linux
kind: frr
links:
- ifindex: 1
ifname: eth1
Expand Down
2 changes: 1 addition & 1 deletion netsim/devices/frr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ clab:
kmods:
initial: [ 'vrf?' ]
node:
kind: linux
kind: frr
config_templates:
daemons: /etc/frr/daemons
hosts: /etc/hosts:shared
Expand Down
6 changes: 3 additions & 3 deletions netsim/providers/clab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ mgmt_default_ipv6: fd00:df:1ab::/64 # Needed for old vrnetlab containers wit
node_config_special: [ binds, config_templates, image, kind, startup-config, srl-agents, start_after ]
reserved_names: [ host, macvlan, ipvlan ]
template: clab.j2
version: "0.75.0" # Triple-check the exact release tag containerlab is using when changing this :(
version: "0.80.0" # Triple-check the exact release tag containerlab is using when changing this :(
start: containerlab deploy --reconfigure -t clab.yml
stop: containerlab destroy --cleanup -t clab.yml
act_probe: "docker ps"
Expand All @@ -24,8 +24,8 @@ probe:
err: >-
You are not a member of the clab_admins group.
See https://netlab.tools/labs/clab/ for details
- cmd: [ bash, '-c', "[[ `containerlab version|awk '/version/ {print $2}'` > '0.74.99' ]] && echo OK" ]
err: "Containerlab version is too old, please upgrade to 0.75.0 or later with 'sudo containerlab version upgrade'"
- cmd: [ bash, '-c', "[[ `containerlab version|awk '/version/ {print $2}'` > '0.79.99' ]] && echo OK" ]
err: "Containerlab version is too old, please upgrade to 0.80.0 or later with 'sudo containerlab version upgrade'"

cleanup: [ clab.yml, clab_files ]
bridge_type: bridge # Use 'ovs-bridge' to create Openvswitch bridges
Expand Down
2 changes: 1 addition & 1 deletion netsim/templates/provider/clab/clab.j2
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ topology:
{% endif %}
{% set kind = clab.kind | default(n.device) %}
kind: {{ kind }}
{% if kind == 'linux' and 'restart-policy' not in clab %}
{% if kind in ['linux','frr'] and 'restart-policy' not in clab %}
restart-policy: 'no'
{% endif %}
{% for cset in defaults.providers.clab.attributes.node._keys
Expand Down
4 changes: 2 additions & 2 deletions tests/coverage/expected/check-config-files.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ nodes:
target: /etc/hosts
exec:
- sleep 1
kind: linux
kind: frr
config:
- hello
device: frr
Expand Down Expand Up @@ -115,7 +115,7 @@ nodes:
target: /etc/hosts
exec:
- sleep 1
kind: linux
kind: frr
device: frr
hostname: clab-input-r2
id: 2
Expand Down
2 changes: 1 addition & 1 deletion tests/coverage/expected/device-module-defaults.yml
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ nodes:
target: /etc/hosts
exec:
- sleep 1
kind: linux
kind: frr
device: frr
hostname: clab-input-l1
id: 1
Expand Down
2 changes: 1 addition & 1 deletion tests/coverage/expected/device-node-defaults.yml
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@ nodes:
exec:
- sleep 1
image: none
kind: linux
kind: frr
device: frr
hostname: clab-input-rtr
id: 1
Expand Down
4 changes: 2 additions & 2 deletions tests/topology/expected/bridge-module-attr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ nodes:
target: /etc/hosts
exec:
- sleep 1
kind: linux
kind: frr
device: frr
hostname: clab-input-r1
id: 1
Expand Down Expand Up @@ -289,7 +289,7 @@ nodes:
target: /etc/hosts
exec:
- sleep 1
kind: linux
kind: frr
device: frr
hostname: clab-input-r2
id: 2
Expand Down
2 changes: 1 addition & 1 deletion tests/topology/expected/multiserver-explicit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ nodes:
target: /etc/hosts
exec:
- sleep 1
kind: linux
kind: frr
device: frr
hostname: clab-input-frr1
id: 4
Expand Down
2 changes: 1 addition & 1 deletion tests/topology/expected/vlan-routed-multiprovider.yml
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ nodes:
target: /etc/hosts
exec:
- sleep 1
kind: linux
kind: frr
device: frr
hostname: clab-input-s
id: 2
Expand Down
6 changes: 3 additions & 3 deletions tests/topology/expected/vlan-routed-vrf.yml
Original file line number Diff line number Diff line change
Expand Up @@ -382,7 +382,7 @@ nodes:
target: /etc/hosts
exec:
- sleep 1
kind: linux
kind: frr
device: frr
hostname: clab-input-r1
id: 1
Expand Down Expand Up @@ -646,7 +646,7 @@ nodes:
target: /etc/hosts
exec:
- sleep 1
kind: linux
kind: frr
device: frr
hostname: clab-input-r2
id: 2
Expand Down Expand Up @@ -1164,7 +1164,7 @@ nodes:
target: /etc/hosts
exec:
- sleep 1
kind: linux
kind: frr
device: frr
hostname: clab-input-s2
id: 4
Expand Down
Loading