# Changes in Release 26.07 ```eval_rst .. contents:: Table of Contents :depth: 2 :local: ``` (release-26.07)= ## New Functionality * The [**multiserver** plugin](plugin-multiserver) distributes containerlab devices across multiple servers. * The [**GRE tunnel** plugin](plugin-tunnel-gre) supports GRE tunnels on Cisco IOS, FRR, VyOS, and Junos (vSRX and vJunos-router). * The [**WireGuard tunnel** plugin](plugin-tunnel-wireguard) supports WireGuard tunnels on FRR. * The [**bgp.session** plugin](plugin-bgp-session) and the [OSPF module](module-ospf) support graceful restart on Arista EOS, BIRD, FortiOS, and FRR * The [**bgp.policy** plugin](plugin-bgp-policy) supports the **bgp.role** attribute on FRR and BIRD. **Minor changes and improvements** * The **[netlab status](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 (release-26.07-device-features)= ## 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](build-bird) is now selected with the **[netlab clab build](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 (release-26.07-device-fixes)= ## 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 (release-26.07-breaking)= ## 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-26.07)= ## 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) (doc-fixes-26.07)= ## 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)