Changes in Release 26.02

New Functionality

Minor improvements

  • netlab status command can generate results in JSON or YAML format

  • The netlab api command returns the JSON-formatted results of the netlab status command in /status GET request

  • Use JSON files for Ansible group/host variables (more)

  • netlab libvirt package command can build custom Vagrant boxes (used for FRRouting boxes)

New Device Features

Arista EOS:

  • Arista cEOS can be configured with Linux scripts

Aruba CX:

  • Aruba CX containers can be configured with containerlab partial startup configuration

Cisco IOS:

  • IOSv/IOS-XE/IOL containers can be configured with containerlab partial startup configuration

  • Layer-2 EVPN/VXLAN support on Cat8000v, IOL, IOLL2

Dell OS10:

  • Dell OS10 containers can be configured with containerlab partial startup configuration

Linux:

  • Containers can be configured with the docker exec command that executes Linux scripts (skipping the Ansible playbooks)

FRRouting:

  • FRRouting containers are configured with Linux scripts

  • You can use the netlab libvirt package command to build a custom Vagrant box with a preinstalled FRRouting package

  • The custom Vagrant box can have the management VRF.

Junos:

  • Junos containers can be configured with containerlab partial startup configuration

Fixes in Configuration Templates

Bird:

  • Reduced BGP connect/retry/hold timers

  • BFD configuration uses its own configuration template

Cisco IOS/IOS-XE:

  • Explicit exit from VRF BGP configuration (needed to have SRv6 configuration in the same startup-config)

  • Cisco IOS/XE devices use a shared VXLAN configuration template

Cisco IOSvL2:

  • netlab sets the correct containerlab node type to influence the generation of initial configuration.

  • The containerlab image name has been changed to reflect the latest image tag format used by vrnetlab

  • Use correct interface variable in switchport normalization template (#3056)

Cumulus Linux NVUE:

  • Fixed OSPFv2 area configuration template

Dell OS10:

  • Cleanup device readiness check

FRRouting:

  • Leave zebra to configure IP addresses on VLAN interfaces

  • Load the MPLS kernel module in the FRR virtual machine

Linux:

  • Control IP forwarding with the netlab_ip_forwarding variable (needed for KinD clusters)

RouterOS7:

  • Set VLAN interface MTU/description

  • Fix BGP/VRF/session/origination errors

SR Linux:

  • Use SCP to copy the reloaded configuration to the device

VyOS:

  • The shared “setup vbash” code has been removed from VyOS configuration templates and is now added during configuration deployment

Breaking changes

  • The Ansible inventory files (apart from hosts.yml) are created in JSON format by default. If you need YAML-formatted inventory files, set the defaults.outputs.ansible.filetype topology default to yaml or yml (depending on the desired file type).

Bug Fixes

  • Flush printouts in the “netlab up” execution path (#3079)

  • Extend BFD start time in BGP BFD integration test (#3078)

  • ospf.areas.inter_area attribute cannot be used with regular areas (#3076)

  • Move plugin device features and daemon configs to device/daemon definitions (#3066)

  • Change netsim/cli/libvirt.py into netsim/cli/libvirt directory

  • Integration tests for the graph output module (#3061)

  • Add custom actions to integration tests (#3060)

  • Report errors when generating graphs with D2/dot (#3059)

  • Use random sleep instead of PHY control in cEOS normalization (#3055)

  • Remove ‘netlab inspect’ dependence on Ansible ‘all’ group (#3057)

  • Add IBGP checks to EBGP EVPN integration test

  • Fix hard-coded ISIS instance names in templates (#3052)

  • Extended Jinja2 error report in ‘report’ rendering

  • Use ‘netlab_default_shebang’ to implement easy wrapper cases (#3044)

  • Another large fabric (FRR with BGP/OSPF)

  • Cannot use netlab_config_mode on Linux (#3040)

  • Unmanaged nodes should not be provisioned with ‘netlab initial’

  • Load optional kernel modules when starting clab provider (#3029)

  • Add ‘get_node_group_var’ to augment.devices (#3027)

  • Survive removed lab directory in ‘netlab status –cleanup’

  • Implement default configuration deployment mode (sh/ns) for containers (#3022)

  • Make container scripts directly executable (#3020)

  • Make the ‘summary of internal deployment’ printout more informative (#3092)

  • Quote shell here documents in Jinja2 templates to prevent code injection (#3058)

  • Use correct ping timeout in EVPN EBGP-over-EBGP test

  • Adjust MTU and VNIs in EVPN integration tests (#3087)

  • Adjust core link MTU in VXLAN integration tests (#3086)

  • Add ‘netlab_start_exec’ clab group variable (#3047)

  • Restore the IOL interface state after system restart (#3096)

  • Increase IOL wait time in BGP aggregation tests

Documentation Fixes

  • Update the MPLS support tables (#3083)