Terms

This section lists the basic terms used when creating a .yml topology file. Overall, the structure is intuitive if you're familiar with Infrastructure-as-Code (IaC) tools, so feel free to skip ahead and revisit this section later if anything seems unclear.

provider — defines the virtualization backend used to deploy network nodes. Available options include clab (Containerlab) — container-based lab environments, libvirt — QEMU/KVM-based virtual machines, external — pseudo-provider for integrating external devices, virtualbox — legacy support; partially functional and no longer actively maintained. Due to platform constraints, all labs in this project were deployed using Containerlabarrow-up-right.

module — configuration template used during device setup. Modules define protocol-specific behavior and automation logic. Examples include bgp, ospf, lacp etc.

plugin — dynamic templates designed to simplify the creation of topology files. Plugins encapsulate reusable logic and patterns, reducing boilerplate and improving consistency across lab definitions. Netlab includes a set of built-in pluginsarrow-up-right for common use cases, such as automatic interface naming, address allocation, and protocol-specific enhancements.

group — logical grouping of nodes that share common attributes such as platform type, configuration modules or protocol settings.

componentsarrow-up-right — a structural construct used to define reusable and consistent elements within the topology file.

node — network device instantiated within the lab topology. Each node represents a virtual router, switch, or host that participates in the emulated network scenario.

device — specifies the type of network appliance to be instantiated within the lab. Device supportarrow-up-right

image — specifies the container or VM image used to instantiate the device.

links — network connections

tools — auxiliary utilities or services that can be integrated into the lab environment

Network-specific terms such as vrf, lacp, bgp, etc. are intentionally omitted, as this documentation is intended for network engineers rather than DevOps practitioners.

Last updated