Changes in Release 26.07

New Functionality

Minor changes and improvements

  • The netlab status command displays IPv6 management addresses.

  • Validation plugins can check BFD state in BGP neighbor details, use platform-independent parameters, and mark expected failures.

  • Configuration templates can use directories in the package:extra template search path.

  • Filter static route node next hops by link name

New Device Features

Arista EOS:

  • BGP graceful restart

BIRD:

  • BGP confederations

  • VXLAN data plane and EVPN MAC VRFs

  • Anycast gateways

  • Indirect static routes

  • VRFs, including BGP, OSPF, static routing, and route leaking

  • OSPF default route origination, graceful restart, and BFD

  • Unify BIRD Dockerfile variants. The BIRD container version you want to build is now selected with the netlab clab build --version parameter

FortiOS:

  • BGP

  • OSPF route import, default route origination, and graceful restart

FRR:

  • BGP and OSPF graceful restart

  • GRE and WireGuard tunnels

Junos:

  • GRE tunnels on vSRX and vJunos-router

Mikrotik RouterOS7:

  • New BGP configuration templates work with recent software releases (tested with release 7.21.4)

  • BFD for OSPF

  • BGP per-address-family activation

  • VXLAN, including IPv6 VTEPs

OpenBSD:

  • VLANs

Nokia SR Linux:

  • Inter-VRF route leaking

Nokia SR OS/SR SIM:

  • Use correct interface names in BFD configuration templates

VyOS:

  • GRE tunnels

Fixes in Configuration Templates

Aruba CX:

  • Configure VRF BGP session parameters

BIRD:

  • Configure IBGP sessions with the BGP source interface

  • Correct VRF static route configuration

  • Use Debian Trixie as the base image for BIRD containers

  • Install procps in BIRD containers

  • Start the BIRD daemon after the data-plane configuration creates the required interfaces

Cisco IOL L2:

  • BFD does not work with OSPFv3

Dell OS10:

  • Reject topologies with tagged VLAN 1

Extreme EXOS:

  • Reject topologies with tagged VLAN 1

FRR:

  • Write device logs to /var/log/frr and include a configurable frr.logfile attribute

  • Mirror file logging to container stdout when doing debugging

  • Unify Linux interface sysctl settings across uplinks, VLAN, and tunnel interfaces

Mikrotik RouterOS7:

  • Block untagged frames on trunks without a native VLAN

  • Support native routed VLANs and prevent invalid tagged VLAN 1 configuration

Nokia SR Linux:

  • Reject topologies that use more than one MPLS/VPN route target

OpenBSD:

  • Use node/group variables for OpenBSD username/password

VyOS:

  • Configure EVPN L3VNI and BFD profiles correctly

Breaking changes

  • The VirtualBox provider has been removed.

  • BIRD v3 is now the default BIRD version. Specify an older version explicitly if needed.

  • Mikrotik RouterOS BGP templates use the current BGP configuration syntax. Use a recent RouterOS release; 7.21.4 was used in our tests.

Bug Fixes

  • FortiOS configuration collection works with current FortiOS releases returning HTTP 405, and configuration deployment falls back to the CLI only after rejected API commands (#3465, #3466)

  • netlab initial no longer fails when a device log file is absent (#3471)

  • The anycast validation plugin handles devices without a gateway.protocol attribute (#3474)

  • vMX SSH readiness uses an appropriate timeout (#3483, #3486)

  • netlab status generates correct IPv6 tool URLs (#3550)

  • Ping validation uses the complete packet length, and BGP neighbor validation correctly handles address-family activation (#3579, #3580, #3591)

  • Fix: Ensure the VRF BGP data always has ‘neighbors’ list (#3614)

  • Fix missing ‘f’ for Python f-strings (#3598)

  • Generic ‘include module/plugin config into initial config’ framework (#3593)

  • Add BFD checks to bgp_neighbor_details validation plugin (#3534)

  • Fix bgp_neighbor validation plugin implementations (#3580)

  • Add ‘_expect_fail’ parameter to validation tests (#3578)

  • Convert built-in plugins to module names (#3575)

  • Standardize tested device names in integration tests (#3536)

  • ‘Get node interface’ utility functions

  • Use correct literal IPv6 addrs in tool URLs (#3550)

  • When needed, add static default routes when originating BGP default routes (#3527)

  • Speed up static routing tests with small OSPF timers

  • _remove_when_false: remove dicts with False values (#3517)

  • Support per-module dataplane script and control-plane config for daemons (#3512)

  • Check returned STDERR and STDOUT in validation tests (#3502)

  • Refactor clab provider into multiple files (#3473)

  • Do not try to extract warnings without a log file (#3471)

  • Simplify main ‘lab_commands’ function (#3464)

  • Check device support for bgp.remove_private_as values (#3463)

Documentation Fixes

  • Documented how to increase netlab initial wait times (#3619)

  • Updated the BFD-for-BGP support table (#3620)

  • Improved command descriptions in the README (#3493)

  • Reorganized plugin manual-page documentation and clarified multiserver plugin tables

  • Split and cleaned up data-type validation documentation (#3516)