Changes in Release 1.3

New Functionality in Release 1.3.3

Release 1.3.3 is a bug fix release. New functionality will be added in release 1.4.0

New Functionality in Release 1.3.2

New Functionality in Release 1.3.1

  • VXLAN, VLANs, VRFs, and EVPN implemented on FRR and Cumulus Linux

  • BGP local-as implemented in the BGP configuration module and supported on Arista EOS, Cisco IOS, Dell OS10, FRR, and Nokia SR Linux. BGP local-as can also be used on some platforms to turn an EBGP session into an IBGP session.

  • Configurable BGP transport sessions

  • Configurable default BGP address families supported on Arista EOS, Cisco IOS, Cumulus Linux, FRR, and Nokia SR Linux.

  • FRR support for IPv6 LLA (unnumbered) BGP sessions

  • New default container versions: FRR 8.3.1 and Cumulus Linux 4.4.0

  • New default VM versions: Cumulus Linux (with NVUE) 5.2.0

  • Per-VRF BGP router ID implemented on Cisco IOS and Arista EOS

  • Select address pools with ‘pool’ VLAN or link attribute (using ‘role’ attribute to select an addressing pool is deprecated)

  • Add ‘message’ attribute to lab topology to display a ‘this is how you use this lab’ help message after the lab is started and configured

  • Implement ‘startup configuration’ parameter for containerlab

  • Device configuration files can be created from netlab templates and mapped into containers. Currently used to start FRR daemons in FRR 8.3.1 container.

  • Add multiple debugging flags to debug just parts of the data transformation code

New Functionality in Release 1.3

  • VXLAN configuration module implemented on Arista EOS, Cisco Nexus OS, Dell OS 10, Nokia SR Linux and VyOS

  • EVPN configuration module implemented on Arista EOS, Nokia SR Linux, VyOS and Dell OS10.

  • MPLS configuration module got 6PE address family implemented on Arista EOS and Cisco IOS/IOS XE.

  • IS-IS on VyOS

  • VLAN and VRF on Cisco Nexus OS

  • VRF support for Nokia SR Linux

  • Default route origination on EBGP sessions

  • gRPC installation script – install all the dependencies needed to configure Nokia SR Linux with a single command

  • Device-specific module requirements (example: VXLAN on Nokia SR Linux works only with EVPN)

  • Complete implementation of VLAN interface on Nokia SR Linux

  • Configure IPv6 hosts on Cisco IOS and Arista EOS

  • Custom interface index on node-to-link attachments

Renaming Python Package and Project Name

We renamed netsim-tools project to netlab. There is no change to the functionality, user interface (CLI commands), or documentation.

The Python package has been renamed to networklab which is a dependency of netsim-tools package. Upgrading netsim-tools will also install or upgrade networklab.

Bug Fixes in Release 1.3.3-post1

  • Don’t convert dictionary keys with dots into hierarchical dictionaries when dealing with filenames

  • Add eos-downloader info to docs

  • Support multiple clab node parameters

  • Configure link MTU on Cumulus NVUE (#592)

  • Handle empty VLAN/VRF definitions in group node_data

  • Change node.runtime to node.clab.runtime, add documentation

Bug Fixes in Release 1.3.3

  • Fix VLAN mode precedence to match documentation

  • Nokia SR Linux: fix static routes with ipv6 prefixes

  • Reduce length of clab bridge-attached interface names

  • Multiple fixes to RouterOS version 7 BGP templates

  • Fix VXLAN link MTU on SR Linux and FRR

  • Nokia SR OS: Implement policy to set next-hop-self for eBGP routes only when acting as RR

  • Nokia SR Linux: Don’t configure next-hop-self when acting as RR

  • Use static address on Cumulus Linux mgmt interface

  • Compare subnets (not networks) when installing Linux static routes

  • Rewrite /etc/hosts file in containerlab deployments

  • Nokia SR Linux: Fix VXLAN learn-unsolicited for ipv6 case

  • Display an error message when failing to load a module

  • Nokia SR Linux: Fix ISIS template (broken after VLAN updates)

  • Nokia SR OS: Fix OSPF interface structure (#543)

  • netlab initial -o should work with subdirectories

Bug Fixes in Release 1.3.2

  • Check global- and device-specific module requirements for each node

  • Control IPv6 interface state on FRR

  • Pull VRFs associated with node VLANs into node data

  • ‘netlab libvirt package’ cannot use inactivated vagrant-libvirt network

  • Cumulus Linux VM does not recognize all files in /etc/network/interface.d

  • Pass multiple CLI parameters to network devices with ‘netlab connect’

  • ‘netlab libvirt package’ command works with virt-install 4.0.0 on Ubuntu 22.04

  • Remove IGP parameters from a VRF l2-only interface

  • Don’t enable LDP on interfaces without an IPv4 address

  • Use a route-map to implement IPv4/IPv6 next-hop-self on Arista EOS

  • Use only valid IPv4 addresses from non-hosts as LAN default gateway

  • Copying VRF-aware node attributes into interface data

  • Fix routed native VLAN handling

  • FRR: Upgrade to v8.3.1 broke OSPFv3 configuration

  • Linux: avoid static routes to interface subnets overlapping address pools

  • Normalize IP address pool strings (check pool prefixes for host bits)

Bug Fixes in Release 1.3.1

  • Cumulus Linux OSPF template would crash in VRF-only scenarios

  • FRR can be used as a host (without a loopback interface)

  • Copy VLAN ‘role’, ‘pool’ and ‘unnumbered’ attributes into VLAN member links

  • Remove ‘unnumbered’ attribute from the final data model

  • When checking device-specific module requirements, check only node modules

  • Create VLAN links from a VLAN trunk before handling access/native VLAN

  • Fix propagation of global/default vlan.mode attribute

  • Add globally-unique ID to VRFs in case someone needs it

  • Numerous SR Linux template fixes

  • CL NVUE configures unnumbered interface by setting its IP address to loopback.ipv4

  • CumulusLinux 5.x NVUE must use OSPF network statements

  • Add dependency check for ansible-galaxy in gRPC installation script

Bug Fixes in Release 1.3

  • Cisco IOS needs dot1q encapsulation command on VRF subinterfaces to accept IP addresses

  • containerlab download URL has changed

  • VyOS BGP configuration syntax changed local-as to system-as in release 1.4.

  • Use ‘vyos:current’ box from Vagrant Cloud

  • Unnumbered BGP sessions over IPv6 LLA interfaces

  • Set ‘vlan.mode’ to an explicit default value (‘irb’)

  • Fix vlan.mode attribute precedence

  • Don’t crash when encountering VRFs without layer-3 address families