Changes in Release 26.09

New Functionality

  • The services module supports syslog clients and servers.

  • Syslog clients are implemented on Arista EOS, ArubaCX, Cisco IOS, Cisco IOS XR, Cisco Nexus OS, Junos, Mikrotik RouterOS7, Nokia SR Linux, Nokia SR OS, OpenBSD, and VyOS. Syslog server is implemented on dnsmasq.

  • DNS clients are now also available on ArubaCX, Cisco IOS XR, Cisco Nexus OS, Junos, Mikrotik RouterOS7, Nokia SR Linux, OpenBSD, and VyOS nodes.

  • LAG on Mikrotik RouterOS7

  • Cisco IOS XRd vRouter containers are fully supported (details).

  • The new netmiko device configuration mode configures virtual machines (Arista vEOS, Cisco IOS-based devices, FRRouting VMs) with the netmiko library over SSH instead of with Ansible modules.

  • ACL rules and prefix lists accept generic prefix sets: IPv4/IPv6 addresses and prefixes, named prefixes, VLAN prefixes, address pools, link prefixes, or sets of prefixes from links with a specified role.

Minor improvements

  • netlab status displays memory usage per node and per lab.

  • Debugging can be enabled with the NETLAB_DEBUG environment variable instead of the --debug CLI argument (details).

  • Linux, FRR, and Cumulus nodes use L4 hashing for ECMP load balancing.

  • FRR release bumped to 10.7.1; SR Linux release bumped to 26.7.2.

  • The routing.acl.in/routing.acl.out attributes are link attributes and can be used on links and interfaces, global VLAN definitions, or node VLAN definitions.

New Device Features

Arista EOS:

  • Syslog client

  • netmiko-based configuration

ArubaCX:

  • DNS and Syslog clients

Cisco IOS:

  • Syslog client

  • netmiko-based configuration

Cisco IOS XR:

  • DNS and Syslog client

Cisco Nexus OS:

  • DNS and Syslog client

dnsmasq:

  • Syslog server

FRR:

  • netmiko-based configuration of virtual machines

  • Release bumped to 10.7.1

Junos:

  • DNS and Syslog client

Mikrotik RouterOS7:

  • DNS and Syslog clients

  • Link aggregation (LAG)

Nokia SR Linux:

  • DNS client and static host mappings

  • Syslog client

  • Container image bumped to release 26.7.2

Nokia SR OS:

  • Syslog client

OpenBSD:

  • DNS and Syslog clients

VyOS:

  • DNS and Syslog clients

  • WireGuard tunnels

  • BGP confederations

Fixes in Configuration Templates

  • IS-IS configuration templates use the isis.metric attribute; isis.cost is normalized into it.

Arista EOS:

  • OSPF and IS-IS SR-MPLS label ranges can overlap

Cisco IOS:

  • EVPN transport triggers a warning

  • RIPng parser is no longer confused by BGP output

  • Uses the dns view command with dns.transport_vrf

  • IOSvL2 does not use DNS views

Cisco IOS XR:

  • OSPFv2/v3 adjacency logging

  • XRd vRouter SSH retry timers adjusted

Cisco Nexus OS:

  • OSPFv2/v3 adjacency logging

  • CDP is disabled globally with the no cdp enable command

Linux:

  • The node_config initial-configuration script works with the services module

  • DNS client configuration works on KinD-based and file-based container links (the /etc/resolv.conf file is mapped into containers by device quirks only when custom DNS servers are configured).

Breaking changes

  • We’re sunsetting the libvirt provider. It will remain part of netlab, and we’ll fix eventual bugs, but it won’t get new features, and we won’t run device integration tests with it. Moving forward, we’re focusing exclusively on the containerlab (clab) provider.

  • Cisco IOSv has been deprecated: its support level is now ‘minimal’, and its ancient SSH implementation is described in the caveats. If you rely on IOSv, consider migrating to another Cisco IOS-based platform.

Bug Fixes

  • netlab detects containerlab-reserved node names.

  • MLAG peer-links are rejected on ESI-LAG-only devices.

  • netlab test handles user interrupts (Ctrl-C) without crashing.

  • Plugin hooks can be defined at a late transformation stage.

  • log.error() and log.warning() accept a doc_url parameter that links the error or warning message to relevant documentation.

  • Validation test specs support parent devices, template devices, and custom data types in _keytype validation.

  • The check.config plugin considers files created by configlets.

  • netlab install boxes uses the official procedure to create the HashiCorp repository.

  • bgp.remove_private_as is always processed as a dictionary

  • netlab create honors the .cfg config file suffix request and validates the topology download timeout and scheme (#3856, #3767)

  • Thread lock around containerlab config printouts (#3777)

  • Multiserver VXLAN links generate valid containerlab configuration (#3830)

  • libvirt checks access to the system QEMU socket (#3877)

  • libvirt uses kvm-ok from the PATH or /usr/sbin (#3860)

  • Building custom Vagrant boxes always forces the use of the libvirt Vagrant provider (#3832)

  • The Cisco IOS XRd vRouter configuration no longer contains bogus nested group_vars

  • Netmiko sessions switch to ‘enable’ mode after session establishment

  • _node_config is considered when generating the configuration script shebang (#3824)

  • The package name is displayed with the error raised from __init__ (#3823)

  • Network services feature check is performed only when needed (#3814)

  • Podman node memory and status information is correct (#3804)

Documentation Fixes

  • Generate OSPF, BGP, BGP sessions, IS-IS, generic routing, DNS, and provider-specific platform support tables from device settings

  • Used the device settings for the collect/deploy config, node roles, and alternate device configuration method tables

  • Updated the “Feature tables” and plugin hooks developer documentation

  • Updated the testing documentation based on the actual GitHub Actions workflows

  • Documented the bgp.session plugin data structures for template developers

  • Documented the no-VLAN-on-bonded-links caveat

  • Documented the multiserver VXLAN MTU caveat

  • Documented that hosts do not inherit topology modules and its impact on DNS clients

  • Updated the VyOS caveats and Vagrant box building procedure

  • Documented the Cisco IOS XRd vRouter container deployment

  • Fixed a typo in EIGRP documentation

  • Documented VyOS multi-topology IS-IS support