- bgp.session plugin (formerly known as ebgp.utils plugin) got support for BFD, passive BGP peers and remove-private-as option.
- bgp.policy plugin implements basic BGP routing policy tools, including per-neighbor weights, local preference and MED.
- You can enable external tools in user defaults and use default groups to create user- or project-wide groups in the defaults files.
- Version-specific lab topology files allow netlab to select a lab topology that is a best fit for the netlab release you’re running.
Numerous platforms already support the new BGP nerd knobs:
- Arista EOS, Cisco IOSv, Cisco IOS/XE, Cumulus Linux and FRR support all new BGP session nerd knobs and BGP policy features.
- Stefano Sasso contributed bgp.session, bgp.policy and ebgp.multihop support for Aruba AOS-CX
- Jeroem van Bemmel contributed ebgp.multihop support for SR Linux and SR OS
- You can use BFD for OSPFv2, OSPFv3 and BGP on FRR
I also made several changes to make plugins easier to use (more about that in a separate blog post):
- Plugins can use global module variables as metadata to tell netlab what they want/expect/offer.
_requiresmetadata handles mandatory plugin dependencies
_config_nameplugin metadata can be used instead of an API call to get the name of plugin template directory
- Plugins are sorted based on their dependencies documented in
Finally, a hodgepodge of other features:
- bgp.session plugin can apply BGP session attributes to IBGP and EBGP sessions.
- netlab show attributes command displays valid lab topology attributes and their expected data types. Failed validation checks tell you about that command to make your troubleshooting a bit easier.
- netlab show defaults command displays user/system defaults without starting a lab.
- For people who don’t believe in prefix consistency we added configurable IPv6 prefix length to address pools
To get more details and learn about additional features included in release 1.6.4, read the release notes. To upgrade, execute
pip3 install --upgrade networklab.
Need help? Open a discussion or an issue in netlab GitHub repository. There’s also a netlab channel in networktocode Slack team, but you will get faster response time reporting your challenges in GitHub.