Changes in Release 25.07
New Functionality
The ospf.areas plugin supports OSPFv2 and OSPFv3 stub areas, NSSA areas, and area ranges.
The BGP routing policies plugin supports aggregate BGP routes
The BGP configuration module supports BGP confederations
The evpn.multihoming plugin implements EVPN Ethernet Segment Identifiers and EVPN-based MLAG/multihoming
Updated installation process: 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 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) external tool integration (#2433)
Minor improvements
Display device support level and major testing caveats in netlab show devices printout
Display major per-image caveats in netlab show images printout
Add
--provider
argument to netlab show imagesAdd ‘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’ functionality to netlab libvirt command
Sort netlab install scripts in dependency order (#2469)
New report: names of selected nodes (to be used in bash scripts) (#2420)
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
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 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
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
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
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