netlab Plugins¶
netlab supports dynamically loadable plugins allowing you to implement custom data model transformations or other functionality without adding nerd knobs to the core topology transformation. You might want to write your own plugins or use plugins shipped with netlab:
Plugins needed by a topology file are listed in the plugin top-level element, for example:
plugin: [ bgp.session ]
module: [ ospf, bgp ]
You can specify additional (system-wide) plugins in system defaults (defaults.plugin) or as a CLI parameter in netlab create or netlab up commands.
Plugins can define their own netlab attributes that you can use to configure plugin-provided functionality. For example, the BGP sessions plugin defines bgp.password attribute that can be used to enable MD5 authentication of EBGP sessions:
---
provider: clab
defaults.device: eos
module: [ bgp ]
plugin: [ bgp.session ]
nodes:
r1:
bgp.as: 65101
r2:
bgp.as: 65000
links:
- r1:
r2:
bgp.password: Test
Plugins providing support for additional networking features usually rely on Jinja2 templates to configure those features, limiting their use to a subset of supported platforms. Please check the plugin documentation for more details.