Supported Platforms

Supported Virtual Network Devices

netlab supports these virtual network devices or their physical equivalents (when using external virtualization provider).

Virtual network device

netlab device type

Arista vEOS

eos

Aruba AOS-CX ❗

arubacx

Cisco ASAv

asav

Cisco Catalyst 8000v ❗

cat8000v

Cisco CSR 1000v ❗

csr

Cisco IOSv ❗

iosv

Cisco IOS XRv ❗

iosxr

Cisco Nexus 9300v ❗

nxos

Cumulus Linux 4.x/5.x ❗

cumulus

Cumulus Linux 5.0 (NVUE) ❗

cumulus_nvue

Dell OS10 ❗.

dellos10

Fortinet FortiOS ❗

fortios

FRRouting (FRR) ❗

frr

Generic Linux host

linux

Juniper vMX ❗

vmx

Juniper vPTX (vJunos EVO) ❗

vptx

Juniper vSRX 3.0 ❗

vsrx

vJunos-switch ❗

vjunos-switch

Mikrotik RouterOS 6 (CHR) ❗

routeros

Mikrotik RouterOS 7 (CHR) ❗

routeros7

Nokia SR Linux ❗

srlinux

Nokia SR OS ❗

sros

Sonic ❗

sonic

VyOS 1.4 ❗

vyos

netlab also supports the following daemons (control-plane software running in containers):

Daemon

netlab device type

BIRD Internet Routing Daemon ❗

bird

dnsmasq DHCP server ❗

dnsmasq

Notes:

Supported Virtualization Providers

netlab create can generate configuration files for these virtualization providers:

You cannot use all supported network devices with all virtualization providers. These are the supported combinations (use netlab show images command to display the current system settings).

Virtual network device

Vagrant
Libvirt

Vagrant
Virtualbox

Containerlab

Arista vEOS

✅

✅

✅

Aruba AOS-CX

✅

❌

✅❗

Cisco ASAv

✅

❌

❌

Cisco Catalyst 8000v

✅

❌

✅❗

Cisco CSR 1000v

✅

✅

✅❗

Cisco IOSv

✅

✅

❌

Cisco IOS XRv

✅

❌

✅

Cisco Nexus 9300v

✅

✅

✅❗

Cumulus Linux

✅

✅

✅❗

Cumulus Linux 5.0 (NVUE)

✅

✅

✅❗

Dell OS10

✅

❌

✅

Fortinet FortiOS

✅

❌

❌

FRR

✅❗

✅❗

✅

Generic Linux (Ubuntu/Alpine) ❗

✅

✅

✅

Juniper vMX

❌

❌

✅❗

Juniper vPTX

✅

❌

✅❗

Juniper vSRX 3.0

✅

✅

✅❗

vJunos-switch

❌

❌

✅❗

Mikrotik RouterOS 6

✅

❌

❌

Mikrotik RouterOS 7

✅

❌

❌

Nokia SR Linux

❌

❌

✅

Nokia SR OS

❌

❌

✅

Sonic

✅

❌

❌

VyOS

✅

❌

✅❗

Note:

  • external provider can be used with all devices supported by netlab.

Configuration files for Virtualbox and KVM/libvirt environments specify the number of virtual CPUs and memory allocated to individual network devices. These are the default values; you can change them with node parameters.

Virtual network device

netlab
device type

CPUs

memory

libvirt NIC model

Arista vEOS

eos

2

2048

virtio

Aruba AOS-CX

arubacx

2

4096

virtio

Cisco ASAv

asav

1

2048

virtio

Cisco Catalyst 8000v

cat8000v

2

4096

virtio

Cisco CSR 1000v

csr

2

4096

virtio

Cisco IOSv

iosv

1

512

e1000

Cisco IOS XRv

iosxr

2

8192

e1000

Cisco Nexus 9300v

nxos

2

6144 ❗

e1000

Cumulus Linux

cumulus

2

1024

virtio

Cumulus Linux 5.0 (NVUE)

cumulus_nvue

2

1024

virtio

Dell OS10

dellos10

2

2048

e1000

Fortinet FortiOS

fortios

1

1024

virtio

FRR

frr

1

1024

virtio

Generic Linux host

linux

1

1024

virtio

Juniper vSRX 3.0

vsrx

2

4096

virtio

Juniper vPTX

vptx

4

8192

virtio

Mikrotik RouterOS 6

routeros

1

256

virtio

Mikrotik RouterOS 7

routeros7

2

256

e1000

Sonic

sonic

2

4096

virtio

VyOS

vyos

2

1024

virtio

Tip

‌virtio is the default KVM/libvirt NIC model.

Configuration Deployments

Ansible playbooks included with netlab can deploy and collect device configuration on these network operating systems:

Operating system

Deploy configuration

Collect configuration

Arista EOS

✅

✅

Aruba AOS-CX

✅

✅

Cisco ASAv

✅

✅

Cisco IOS/IOS XE[1]

✅

✅

Cisco IOS XRv

✅

✅

Cisco Nexus OS

✅

✅

Cumulus Linux

✅

✅

Dell OS10

✅

✅

Fortinet FortiOS

✅

✅

FRR

✅❗

✅❗

Generic Linux

✅

❌

Junos[2]

✅

✅

Mikrotik RouterOS 6

✅

✅

Mikrotik RouterOS 7

✅

✅

Nokia SR Linux

✅

✅

Nokia SR OS

✅

✅

Sonic

✅

❌

VyOS

✅

✅

Initial Device Configurations

The following system-wide features are configured on supported network operating systems as part of the initial device configuration:

Operating system

Hostname

IPv4 hosts

LLDP

Loopback
IPv4 address

Loopback
IPv6 address

Arista EOS

✅

✅

✅

✅

✅

Aruba AOS-CX

✅

❌

✅

✅

✅

Cisco ASAv

✅

✅

❌

❌

❌

Cisco IOS/IOS XE[1]

✅

✅

✅

✅

✅

Cisco IOS XRv

✅

✅

✅

✅

✅

Cisco Nexus OS

✅

✅

✅

✅

✅

Cumulus Linux

✅

✅

✅

✅

✅

Cumulus Linux 5.0 (NVUE)

✅

✅

✅

✅

✅

Dell OS10

✅

✅

✅

✅

✅

Fortinet FortiOS

✅

❌

✅

✅

✅

FRR

✅

✅

❌

✅

✅

Generic Linux

✅

✅

✅❗

✅

✅

Junos[2]

✅

❌

✅

✅

✅

Mikrotik RouterOS 6

✅

✅

✅❗

✅

✅

Mikrotik RouterOS 7

✅

✅

✅❗

✅

✅

Nokia SR Linux

✅

✅

✅

✅

✅

Nokia SR OS

✅

✅

✅

✅

✅

Sonic

✅

✅

❌

✅

✅

VyOS

✅

✅

✅

✅

✅

The following interface parameters are configured on supported network operating systems as part of the initial device configuration:

Operating system

Interface
description

Interface
bandwidth

MTU

Additional
loopbacks

Arista EOS

✅

✅

✅

✅

Aruba AOS-CX

✅

❌

✅

✅

Cisco ASAv

✅

❌

✅

❌

Cisco IOS/IOS XE[1]

✅

✅

✅❗

✅

Cisco IOS XRv

✅

✅ ❗

✅

❌

Cisco Nexus OS

✅

✅

✅

✅

Cumulus Linux

✅

✅

✅

✅

Cumulus Linux 5.0 (NVUE)

✅

✅

❌

❌

Dell OS10

✅

❌

✅

✅

Fortinet FortiOS

✅

✅

❌

❌

FRR

✅

✅

✅

✅

Generic Linux

❌

❌

✅

❌

Junos[2]

✅

✅

✅

✅

Mikrotik RouterOS 6

✅

❌

✅

❌

Mikrotik RouterOS 7

✅

❌

✅

✅

Nokia SR Linux

✅

❌

✅

✅

Nokia SR OS

✅

❌

✅

✅

Sonic

✅

✅

✅

✅

VyOS

✅

❌

✅

✅

The following interface addresses are supported on various platforms:

Operating system

IPv4
addresses

IPv6
addresses

Unnumbered
IPv4 interfaces

Arista EOS

✅

✅

✅

Aruba AOS-CX

✅

✅

❌

Cisco ASAv

✅

✅

❌

Cisco IOSv

✅

✅

❌

Cisco IOS XE[1]

✅

✅

✅

Cisco IOS XRv

✅

✅

✅

Cisco Nexus OS

✅

✅

✅

Cumulus Linux

✅

✅

✅

Cumulus Linux 5.0 (NVUE)

✅

✅

✅

Dell OS10

✅

✅

❌

Fortinet FortiOS

✅

✅

❌

FRR

✅

✅

✅

Generic Linux

✅

✅

❌

Junos[2]

✅

✅

✅

Mikrotik RouterOS 6

✅

✅

❌

Mikrotik RouterOS 7

✅

✅

❌

Nokia SR Linux

✅

✅

❌

Nokia SR OS

✅

✅

✅

Sonic

✅

✅

✅

VyOS

✅

✅

✅

Supported Configuration Modules

Routing protocol configuration modules are supported on these devices[3]

Operating system

OSPF

IS-IS

EIGRP

BGP

RIPv2/ng

Arista EOS

✅

✅

❌

✅

✅

Aruba AOS-CX

✅

❌

❌

✅

❌

Cisco ASAv

❌

✅

❌

✅

❌

Cisco IOSv

✅

✅

✅

✅

✅

Cisco IOS XE[1]

✅

✅

✅

✅

✅

Cisco IOS XRv

✅

✅

❌

✅

❌

Cisco Nexus OS

✅

✅

✅

✅

❌

Cumulus Linux

✅

❌

❌

✅

✅

Cumulus Linux 5.0 (NVUE)

✅

❌

❌

✅ ❗

❌

Dell OS10

✅ ❗

❌

❌

✅

❌

Fortinet FortiOS

✅ ❗

❌

❌

❌

❌

FRR

✅

✅

❌

✅

✅

Junos[2]

✅

✅

❌

✅

❌

Mikrotik RouterOS 6

✅

❌

❌

✅

❌

Mikrotik RouterOS 7

✅

❌

❌

✅

❌

Nokia SR Linux

✅

✅

❌

✅

❌

Nokia SR OS

✅

✅

❌

✅

❌

Sonic

❌

❌

❌

✅

❌

VyOS

✅

✅

❌

✅

❌

Routing protocol configuration modules are also supported on these daemons:

Operating system

OSPF

IS-IS

BGP

RIPv2/ng

BIRD Internet Routing Daemon

✅ ❗

❌

✅ ❗

❌

These devices support additional control-plane protocols or BGP address families:

Operating system

BFD

EVPN

MPLS/VPN

FHRP

Arista EOS

✅

✅

✅

✅

Aruba AOS-CX

✅

✅

✅

✅

Cisco CSR 1000v

✅

❌

✅

✅

Cisco Catalyst 8000v

✅

❌

❌

✅

Cisco IOSv

✅

❌

✅

✅

Cisco Nexus OS

✅

✅

❌

✅

Cumulus Linux

✅

✅

❌

✅

Dell OS10

✅

✅

❌

❌

FRR

✅

✅

✅

❌

Juniper vMX

✅

❌

✅

❌

Juniper vPTX

✅

❌

✅

❌

Juniper vSRX 3.0

✅

❌

❌

❌

vJunos-switch

✅

❌

❌

❌

Mikrotik RouterOS 6

✅

❌

✅

❌

Mikrotik RouterOS 7

✅

❌

✅

❌

Nokia SR Linux

✅

✅

❌

✅

Nokia SR OS

✅

✅

✅

✅

VyOS

✅

✅

✅

❌

Notes:

  • FRHP = First-Hop Redundancy Protocol (anycast gateway or VRRP)

Tip

See integration test results for more details.

The data plane configuration modules are supported on these devices[3]:

Operating system

VLAN

VRF

VXLAN

MPLS

SR-MPLS

SRv6

Arista EOS

✅

✅

✅

✅

✅

❌

Aruba AOS-CX

✅

✅

✅❗

❗

❌

❌

Cisco Catalyst 8000v

✅

✅

❌

❌

❌

❌

Cisco CSR 1000v

✅

✅

✅

✅

✅

❌

Cisco IOSv

✅

✅

❌

✅

❌

❌

Cisco Nexus OS

✅

✅

✅

❌

❌

❌

Cumulus Linux

✅

✅

✅

❌

❌

❌

Cumulus Linux 5.0 (NVUE)

❌

❗

❌

❌

❌

❌

Dell OS10

✅

✅

✅

❌

❌

❌

FRR

✅

✅

✅

✅

✅

❌

Juniper vMX

✅

✅

❌

✅

✅

❌

Juniper vPTX

✅

✅

❌

✅

✅

❌

Juniper vSRX 3.0

❌

✅

❌

❌

❌

❌

vJunos-switch

✅

✅

❌

❌

❌

❌

Mikrotik RouterOS 6

✅

✅

❌

✅

❌

❌

Mikrotik RouterOS 7

✅

✅

❌

✅

❌

❌

Nokia SR Linux

✅

❌

❌

❌

✅

❌

Nokia SR OS

❌

❌

❌

❌

✅

✅

VyOS

✅

✅

✅

✅

✅

❌

Network services configuration modules are supported on these devices[3]

Operating system

DHCP

DHCPv6

Arista EOS

✅

✅

Cisco CSR 1000v

✅

✅

Cisco IOSv

✅

✅

Cumulus Linux

✅

✅

Network services configuration modules are also supported on these daemons:

Operating system

DHCP

DHCPv6

dnsmasq

✅

✅

IPv6 Support

Core netlab functionality and all multi-protocol routing protocol configuration modules fully support IPv6. OSPFv3 is implemented only on some platforms.

Operating system

IPv6
addresses

OSPFv3

IS-IS MT

EIGRP
IPv6 AF

BGP
IPv6 AF

SR-MPLS

Arista EOS

✅

✅

✅

❌

✅

✅

Aruba AOS-CX

✅

✅

❌

❌

✅

❌

Cisco ASAv

✅

❌

✅

❌

✅

❌

Cisco IOSv

✅

✅

✅

✅

✅

❌

Cisco IOS XE[1]

✅

✅

✅

✅

✅

❌

Cisco Nexus OS

✅

❌

✅

✅

✅

❌

Cumulus Linux

✅

❌

✅

❌

✅

❌

Cumulus Linux 5.0 (NVUE)

✅

❌

✅

❌

✅

❌

Dell OS10

✅

✅

❌

❌

✅

❌

Fortinet FortiOS

✅

❌

❌

❌

❌

❌

FRR

✅

✅

✅

❌

✅

❌

Generic Linux

✅

❌

❌

❌

❌

❌

Junos[2]

✅

✅

✅

❌

✅

❌

Mikrotik RouterOS 6

✅

❌

❌

❌

✅

❌

Mikrotik RouterOS 7

✅

✅

❌

❌

✅

❌

Nokia SR Linux

✅

❌

❌

❌

✅

✅

Nokia SR OS

✅

❌

❌

❌

✅

✅

Sonic

✅

❌

❌

❌

✅

❌

VyOS

✅

✅

✅

❌

✅

❌

Unknown Devices

You can use device type unknown to add unsupported devices to a netlab-managed virtual lab. netlab assumes an unknown device supports all configuration modules and will prepare the data structures and Ansible inventory you need to configure the device.

Unknown devices are placed in the unprovisioned group and are not configured by the netlab up or netlab initial commands.

To add an unknown device to a lab: