# Changes in Release 25.07 ```eval_rst .. contents:: Table of Contents :depth: 2 :local: ``` ## New Functionality (release-25.07)= * The [ospf.areas plugin](plugin-ospf-areas) supports OSPFv2 and OSPFv3 stub areas, NSSA areas, and area ranges. * The [BGP routing policies](plugin-bgp-policy) plugin supports aggregate BGP routes * The [BGP configuration module](module-bgp) supports BGP confederations * The [evpn.multihoming](plugin-evpn-multihoming) plugin implements EVPN Ethernet Segment Identifiers and EVPN-based MLAG/multihoming * Updated [installation process](netlab-install): The user-interfacing part of the installation scripts has been moved to the Python code, resulting in a more consistent user interface. The **[netlab install](netlab-install)** command also checks the Linux distribution you're using and refuses to start Debian/Ubuntu installation scripts on non-Debian-ish distributions. * Baseline OpenBSD support (box-building procedure and initial configuration) * [Network Unit Testing System (NUTS)](https://github.com/network-unit-testing-system/nuts) external tool integration (#2433) **Minor improvements** * Display device support level and major testing caveats in **[netlab show devices](netlab-show-devices)** printout * Display major per-image caveats in **[netlab show images](netlab-show-images)** printout * Add `--provider` argument to **[netlab show images](netlab-show-images)** * Add 'pool' attribute to VRF loopbacks, giving you finer control over the allocation of VRF loopback addresses. * Add nodes to device-specific _netlab_ groups, allowing you to specify device-based node attributes. * Check whether external tools were successfully started (mostly used to detect containers that have no ARM support) * Add '[remove box](netlab-libvirt-remove)' functionality to **[netlab libvirt](netlab-libvirt)** command * Sort **[netlab install](netlab-install)** scripts in dependency order (#2469) * New [report](netlab-report): names of selected nodes (to be used in bash scripts) (#2420) (release-25.07-device-features)= ## New Device Features Arista EOS: * Support for OSPF areas, BGP aggregate routes, and BGP confederations * EVPN-based multihoming Aruba CX: * Support for OSPF areas Cisco IOS: * Support for OSPF areas, BGP aggregate routes, and BGP confederations * [STP](module-stp) and (simple) [LAG](module-lag) on IOSvL2 and IOLL2 * Tunnel interfaces on IOSv/IOSvL2 can be unnumbered Cumulus NVUE: * Support for OSPF areas * OSPF default route * Static routes Dell OS10: * Support for OSPF areas, BGP aggregate routes, and BGP confederations * Use VLAN interfaces for traditional VLANs and virtual networks for VXLAN-backed VLANs * Route redistribution (import) into OSPF and BGP * Multihop EBGP sessions Fortinet: * Support vrnetlab containers * Enable multi-vdom mode (the data-plane VDOM is specified in the **netlab_vdom** variable) * [Zone-based firewall](plugin-firewall-zonebased) configuration FRR: * Support for OSPF areas, BGP aggregate routes, and BGP confederations Junos: * Support for OSPF areas * EVPN-based multihoming SR Linux: * Support for OSPF areas * VRF multihop EBGP sessions VyOS: * Link aggregation (LAG) support (release-25.07-device-fixes)= ## Fixes in Configuration Templates Arista EOS: * Add configuration parameters needed to reload the device configuration on cEOS containers (#2408) Aruba CX: * Replace "clear soft out" with "BGP session reset" (#2526) Cisco IOS: * Update default IOSv username/password for the vrnetlab clab image (#2378) * Configure EIGRP on unnumbered interfaces (#2458) * The IS-IS network type cannot be configured on unnumbered tunnel interfaces * Configure IETF 3-way IS-IS handshake on p2p links and tunnels (#2463) * Enable IOSvL2 under the containerlab provider Cumulus NVUE: * MLAG VTEP nexthop fixes (#2434) Dell OS10: * Correct BGP default locpref feature flag (#2359) SR Linux: * Use a different process ID for VRF instances of OSPFv3 (#2379) * Bump SR Linux release to 25.3.3 SR OS: * Set default EVPN encapsulation to VXLAN * Restructure the OSPF configuration template and simplify the IS-IS configuration template ## Integration Tests We started collecting the **netlab create** warnings in the integration tests to show the reduced functionality of some implementations (for example, the *bird* daemon does not support VRFs). Other changes: * Add dual-stack VRF to IPv6 VRF integration tests ## Bug Fixes (bug-fixes-25.07)= * Device-specific wait time takes precedence in validation tests * Add "meta device" flag to parent-only and test devices * Cisco IOSvL2 cannot be a route server * Add 'flatten' option to data.append_to_list to handle list-to-list adds * Fix: calculate BGP default values from valid values of BGP attributes (#2462) * IOS: Allow "no switchport" on LAG interfaces on L2 images (#2504) * Fix: Use a workaround to do a real clone of the topology data * MLAG VTEP plugin enhancements (#2406) * Fix: Allow the box creation process to skip the VM start * Cumulus NVUE: Add quirk to check for the mlag.vtep plugin when VXLAN is used in combination with MLAG (#2432) * Activate VRF IGP interfaces only when there are viable neighbors (#2524) * LAG: Refuse to work with bridge devices, things like IP allocation don't behave as expected (#2531) * Fix: Cisco IOS/XE takes forever to redistribute into IPv6 BGP AF * Fix: More robust suzieq tool definition (#2501) * Fix: Handle the messed-up status of packages on Ubuntu derivatives (#2507) * Fix: Mark phantom links used to create multihop EBGP sessions (#2502) * Fix: add 'partial_success' logging function * Cleanup: use consistent quotes in graphite tool commands * Fix: no underscores in topology.name generated from input directory (#2497) * Fix: ensure bgp.neighbors is defined for BGP-enabled routing instances (#2492) * Fix: Gracefully handle apt-get locking errors (#2473) * More nuanced 'ipv4.unnumbered' feature test checks interface type (#2459) * Add end-to-end path check to OSPF 'network type' integration tests * Create a vagrant pin file in apt preferences to stop potential upgrades (#2437) * CL NVUE: ignore ospf.passive flag when merging loopbacks (#2411) * Implement generic 'optional device features' check (#2400) * Loopback prefixes can be different from /32 or /128 * Remove incorrect Jinja2 markup from the addressing report * Cleanup plugin settings after a change in topology initialization (#2375) * Load plugins before initializing device data * Fix data transformation for simple subtypes of list/dict structures * Configure BGP after IGP protocols (#2353) * Fix: Be more careful when fetching VRF routing protocol data * Fix: Override validation test 'level' with device-specific value * FRR: Don't complain about STP when it's disabled (#2413) ## Documentation Fixes (doc-fixes-25.07)= * Document the need to have the 'default' libvirt storage pool (#2515) * Update EIGRP documentation (#2447) * Document the interactions between IGPs and VXLAN-backed VLANs * Document undesired interactions between EVPN and VRF routing protocols (#2519) * Adjust data transformation documentation (#2532) * Document the dependencies between netlab and vrnetlab usernames/pwds (#2386) * Explain the support status of individual platforms (#2392) * Update the list of data types (#2421) * Update the list of contributors * Clarify STP stub_port_type setting (#2484) * Some external tools cannot establish SSH sessions to IOL nodes ## Developer Documentation * Explain shared OSPF configuration macros * Updated "initial configuration" developer documentation * ospf.areas implementation notes