Start Virtual Lab

netlab up is a high-level command that:

  • Uses netlab create to create virtualization provider configuration file, transformed topology snapshot, and network automation configuration files (Ansible inventory). You can skip this step with the --snapshot flag;

  • Checks the virtualization provider installation;

  • Create the required virtual infrastructure (see below)

  • Starts the virtual lab using the selected virtualization provider;

  • Performs provider-specific initialization (see below)

  • Deploys device configurations with netlab initial command unless it was started with the --no-config flag

After the lab has been configured with netlab initial, netlab up displays the help message defined in the lab topology.

You can use netlab up to create configuration files and start the lab, or use netlab up --snapshot to start a previously created lab using the transformed lab topology stored in netlab.snapshot.yml snapshot file.

netlab up functional diagram


usage: netlab up [-h] [--log] [-q] [-v] [--debug] [--defaults DEFAULTS] [-d DEVICE]
                 [-p PROVIDER] [--plugin PLUGIN][-s SETTINGS] 
                 [--no-config] [--fast-config] [topology]

Create configuration files, start a virtual lab, and configure it

positional arguments:
  topology              Topology file (default: topology.yml)

optional arguments:
  -h, --help            show this help message and exit
  --log                 Enable basic logging
  -q, --quiet           Report only major errors
  -v, --verbose         Verbose logging
  --debug               Debugging (might not execute external commands)
  --defaults DEFAULTS   Local topology defaults file
  -d DEVICE, --device DEVICE
                        Default device type
  -p PROVIDER, --provider PROVIDER
                        Override virtualization provider
  --plugin PLUGIN       Additional plugin(s)
                        Additional parameters added to topology file
  --no-config           Do not configure lab devices
  --fast-config         Use fast device configuration (Ansible strategy = free)
  --snapshot [SNAPSHOT]
                        Use netlab snapshot file created by a previous lab run


Do not use the --fast-config option with custom configuration templates that must be executed in specific order. See netlab initial documentation for more details.

Provider-Specific Initialization

netlab up can execute provider-specific tasks before invoking the orchestration tool (Vagrant or containerlab) or after the virtual lab has been created

Tasks executed before the lab is started

  • When used with clab provider, netlab up creates Open vSwitch bridges or standard Linux bridges needed to implement multi-access networks.

  • When used with libvirt provider, netlab up creates the vagrant-libvirt management network

Tasks executed after the lab creation is completed

  • When used with libvirt provider, netlab up sets the group_fwd_mask for all Vagrant-created Linux bridges to enable LLDP passthrough.