# Changes in Release 1.6 ```eval_rst .. contents:: Table of Contents :depth: 2 :local: ``` ## New Functionality (Release-1.6.4)= ### Release 1.6.4 * Implement simple BGP routing policies in [bgp.policy plugin](../plugins/bgp.policy.md) * Implement **[remove_private_as](bgp-session-as-path)**, passive BGP peers and [BFD for BGP neighbors](bgp-session-platforms) in bgp.session plugin * [Selectively apply BGP session attributes](bgp-session-apply) to IBGP and EBGP sessions * [Enable external tools](tools-enable-default) in user defaults * [Default groups](default-groups) allow you to specify user- or project-wide groups in the defaults files. * [Version-specific lab topology files](../dev/versioning.md) allow _netlab_ to select a lab topology that is a best fit to for _netlab_ release you're running. * **[netlab show attributes](netlab-show-attributes)** command displays valid lab topology attributes and their expected data types * **[netlab show defaults](netlab-show-defaults)** command is the easiest way to display user/system defaults * Add [configurable IPv6 prefix length](address-pool-specs) to address pools * Rename ebgp.utils plugin to [bgp.session](../plugins/bgp.session.md) * Display relevant 'use netlab show attributes' help when failing validation checks **Platform enhancements:** * Add BFD for BGP neighbors, remove-private-as option, and passive BGP peers support for Arista EOS, Cisco IOSv, Cisco IOS/XE, Cumulus Linux and FRR * Add [bgp.policy](../plugins/bgp.policy.md) support for Arista EOS, Cisco IOSv, Cisco IOS/XE, Cumulus Linux and FRR * Add [bgp.session](../plugins/bgp.session.md), [bgp.policy](../plugins/bgp.policy.md) and [ebgp.multihop](../plugins/ebgp.multihop) support for Aruba AOS-CX (contributed by Stefano Sasso) * Add [ebgp.multihop](../plugins/ebgp.multihop) support for SR Linux and SR OS (contributed by Jeroem van Bemmel) * Add [BFD](../module/bfd.md) for OSPFv2, OSPFv3 and BGP on FRR * bgp.session: add BGP timers, BFD, passive BGP peer, and remove-private-as support for Nokia SR Linux (1.6.4-post2) * Add bgp.policy support for Nokia SR Linux (1.6.4-post2) * bgp.session: implement BFD, BGP timers and passive BGP for vMX, vSRX, and vPTX (1.6.4-post3) * MPLS: Add 6PE and BGP-LU for Nokia SR OS (1.6.4-post3) **New plugin functionality:** * Add `_requires` metadata to handle mandatory plugin dependencies * Use `_config_name` plugin metadata instead of API call * Sort loaded plugins based on their dependencies documented in `_execute_after` metadata * Implement plugin redirect (used to rename ebgp.utils to bgp.session) * Accept `__init__.py` as a replacement for `plugin.py` in directory-based plugins **Documentation improvements:** * [Plugin development documentation](../dev/plugins.md) * [Document debugging options](dev-transform-debugging) (release-1.6.3)= ### Release 1.6.3 * [EBGP multihop sessions](../plugins/ebgp.multihop.md) in the global routing table. Implemented on Arista EOS, Cisco IOSv, Cisco IOS-XE, FRR and Cumulus Linux 4.x. * [ebgp.utils plugin](../plugins/ebgp.utils.md) supports TCP-AO, configurable BGP timers, and Generic TTL Security Mechanism (TTL session protection) * [OSPF reports](../module/ospf.md): areas/routers/interfaces in md/html/text format * Shorter version of [BGP neighbor report](../module/bgp.md) * Specify [minimum netlab version](topology-reference-extra-elements) in lab topology * Add [gRPC test topology](../netlab/test.md) * Implement [BFD on Cumulus Linux](bfd-platform) * Implement *collect configuration* action for [FRR](platform-config-support) * Change default FRR release to 9.0.1 * Add ['disable' link attribute](link-attributes) * Load plugin defaults together with the plugin module * Device configuration templates could be [loaded from system- or user directory](customize-templates). **Documentation improvements** * New [customizing _netlab_ page](../customize.md) with links to a dozen customization mechanisms. * Add "more information" links to the documentation home page * Add links to platform caveats * Restructure [containerlab attribute documentation](clab-other-parameters) * Update VLAN development documentation * Add [containerlab example](nodes-provider-attributes-clab) to *provider-specific node attributes* documentation (release-1.6.2)= ### Release 1.6.2 * [Support for ArubaOS-CX with containerlab](../platforms.md#supported-virtual-network-devices) * Display a subset of available reports in **[netlab show reports](netlab-show-reports)** command * Display warnings in reports relying on **ipaddr** Ansible filter * Add IPv6 prefixes and neighbors to BGP reports * Add IPv6 column to text addressing report * Make some columns optional in BGP reports to reduce the report width * Implement [inter-VRF route leaking](../module/vrf.md#platform-support) for Cumulus/FRR (release-1.6.1)= ### Release 1.6.1 * **[netlab report](../netlab/report.md)** can generate Markdown markup (ideal for augmenting documentation written in Markdown) * BGP AS number and BGP neighbor reports (text, Markdown, HTML) * [Make user/system default locations configurable](defaults-locations) Internal changes: * _netsim_ no longer uses `netsim.common` module. This change [might impact existing plugins](release-1.6.1-breaking). (release-1.6.0)= ### Release 1.6.0 **New commands:** * **[netlab report](../netlab/report.md)** generates built-in or user-defined text- or HTML reports based on transformed lab topology. * **[netlab graph](../netlab/graph.md)** command generates [topology graph descriptions](../outputs/graph.md) in GraphViz or D2 format * **[netlab inspect](../netlab/inspect.md)** command displays data structures in transformed lab topology * Improved **[netlab show](../netlab/show.md)** command displays information as a table, raw text, or YAML **New reports:** The reports you can create with the **[netlab report](../netlab/report.md)** command include: * Node, interface and link addressing reports * Lab wiring summary * Device management IP addresses, usernames, and passwords **Explore netlab internals** The **[netlab show](../netlab/show.md)** command can display: * Configuration modules and optional features supported by individual modules * Configuration modules and features supported by individual devices * Virtualization providers and their status * Output modules that can be used with the **[netlab create](../netlab/create.md)** command * System reports you can use with **[netlab report](../netlab/report.md)** command **External connectivity**: * [Connect containers to outside world](clab-network-external) through *macvlan* interfaces (requires *containerlab* release 0.43.0) * [Host-to-VM port forwarding](libvirt-port-forwarding) in *libvirt* environment * [Mapping of container management ports to host ports](clab-port-forwarding) **Other new features**: * Improved FRR VXLAN data plane configuration * OSPF strict BFD support (RFC 9355) * Nokia SR OS OSPF P2MP support * [Add **mgmt._permanent** option](libvirt-mgmt) to make *vagrant-libvirt* management network persistent (fixes #855) **Documentation improvements:** * Document Linux loopback interface usage * Document assignment of management IP addresses in libvirt and containerlab environments * Rewrite documentation for *external* provider and multi-provider topologies **Internal changes:** * Use device **features** instead of module **supported_on** lists to specify modules supported by individual devices * Device settings inheritance should make it easier to add similar devices. It has been implemented for most device types, including a new Junos meta-device (the parent for vSRX, vMX and vPTX devices). [Breaking changes](release-1.6.0-breaking): * `get_from_box` function has been removed ## Breaking changes (release-1.6.1-breaking)= ### Release 1.6.1 _netlab_ code stopped using `netsim.common` module. That module should no longer be used, but is still included in the package in case some plugins still use it. We'll remove the module in 1.7/2.0 release. (release-1.6.0-breaking)= ### Release 1.6.0 * `get_from_box` function has been removed. The function might be used by early plugins which will break when ran with _netlab_ release 1.6.0. Update your plugins to use Box **get** method which supports hierarchical names since version 7.0 ([more details](release-1.5.2-breaking)) ## Bug Fixes ### Bug Fixes in release 1.6.4-post3 * **netlab install** scripts have to work when started as root user * Nokia SR OS: Fix missing macro parameter 'name' * Minor tweaks to Nokia SR Linux template * Move Nokia SROS interface naming logic to initial.j2 if_name macro * Nokia SR OS initial configuration: fix quoting of "[null]" value * Enable BFD for Junos devices ### Bug Fixes in Release 1.6.4-post2 * Set BGP address family flags based on interface BGP advertisement status (fixes #929) * Create BGP reports even when a router has no neighbors * Group error messages should be f-strings * vPTX box building script should run **make-config.sh** as root * Fix a typo breaking Virtualbox FRR support (#920) ### Bug Fixes in Release 1.6.4-post1 * bgp.policy plugin removes bgp.session data from BGP neighbors ### Bug Fixes in Release 1.6.4 * Use management VRF with Arista cEOS * Cosmetic fix: align table header columns in BGP reports * Sort custom configurations to speed up 'netlab initial' * Add typing tests of 'extra' plugins to the CI/CD tests * Rewrite bgp.session plugin to use BGP neighbor generators * Make 'loading plugins' error messages easier to understand * Add jQuery to documentation pages * Clear BGP sessions after changing BGP timers in bgp.session plugin * FRR VM crashed when initializing an Ethernet stub network * Stop mypy CI/CD tests on first error ### Bug Fixes in Release 1.6.3 * Add tunnel interface names to Cumulus/FRR settings to support ebgp.multihop * Tweak Cisco IOS NSF timers to speed up initial BGP convergence * Use a hint when reporting 'missing global AS' in EVPN module * Throw an error if a group definition is empty (None) * Use relevant link names when transforming link lists from components or BGP multihop sessions * Prettify the 'cannot load plugin' error message * Make bgp.no_propagate setting extendable * Consistently use _vlan_mode attribute throughout the VLAN module * A few minor fixes for SR OS MPLS configs * Propagate node VLAN mode into link 'interfaces' early enough to matter * ECMP Fixes for 7250 IXR * Allow only 'route' value for link/interface-level vlan.mode attribute * Use node-level vlan.mode when copying global VLAN data into node VLAN data * Remove remote neighbor attributes in ebgp.utils * Implement feature checks in ebgp.utils plugin * Rewrite 'ebgp.utils' plugin to use the plugin defaults functionality * Implement 'copy attribute definition' functionality and use it for plugin defaults * Add linux-modules-extra to ubuntu install script (#873) * Make 'netlab test' command more resilient * Workaround: Nokia Ansible collection crashes with Ansible 5.x and later * Copy only mandatory attributes from PHY to VLAN interface * Wiring report fixes ### Bug Fixes in Release 1.6.2 * Fix EVPN VLAN attributes (#865) * Bump clab version to 0.44.3 (#864) * BGP reports should survive topologies with no BGP in them * 'netlab show reports' skips include files in reports directory * Migrate simple VRF integration tests to the new "links-in-vrfs" format ### Bug Fixes in Release 1.6.1 * Python package manifest (MANIFEST.in) did not include `show-usage.txt` (the help file for **[netlab show](../netlab/show.md)** command) * Collect Cumulus Linux interface configuration with `ifquery` * `ifquery` has to be executed as root on Cumulus Linux ### Bug Fixes in Release 1.6.0 * Allow 'mgmt' attributes in node data * Change pinned containerlab version to the one supporting macvlan endpoints * Create system-wide virsh networks during 'netlab up' * Fix a typo in a BGP attribute type * Update SRv6 module to use new dictionary-based attribute definition ## Documentation Fixes ### Documentation Fixes in Release 1.6.4-post3 * Outdated link in Ubuntu VM installation documentation * Display version-specific topology file used to start a lab * There's no release 1.5.5 ### Documentation Fixes in Release 1.6.4-post2 * Add 'use /tmp on Ubuntu 22.04' to box building instructions * Document further problems with vPTX DHCP client * We're not recommending using pip3 as root (fixes #923) * More HTML anchors for platform support tables ### Documentation Fixes in Release 1.6.2 * Rewrote confusing introduction to BGP configuration module platform feature support * Fix a 'device image default' example that contained invalid container name ### Documentation Fixes in Release 1.6.1 * Use consistent anchors in "netlab show" documentation * New Aruba download link