Supported Platforms¶
netlab supports these virtual network devices or their physical equivalents (when using external virtualization provider):
Virtual network device | netlab device type |
---|---|
Arista vEOS | eos |
Cisco IOSv | iosv |
Cisco CSR 1000v | csr |
Cisco Nexus 9300v | nxos |
Cumulus Linux 4.x/5.x | cumulus |
Cumulus Linux 5.0 (NVUE) | cumulus_nvue ❗ |
Dell OS10 | dellos10 |
Fortinet FortiOS ❗ | fortios |
FRR 7.5.0 | frr |
Generic Linux host | linux |
Juniper vSRX 3.0 | vsrx |
Mikrotik RouterOS 6 (CHR) | routeros |
Mikrotik RouterOS 7 (CHR) ❗ | routeros7 |
Nokia SR Linux | srlinux |
Nokia SR OS ❗ | sros |
VyOS 1.4 ❗ | vyos |
Notes:
To specify the device type of a node in your virtual lab:
Specify device property in node data
nodes:
- name: c_ios
device: iosv
- name: c_csr
device: csr
Use defaults.device setting in lab topology
defaults:
device: cumulus
nodes: [ s1, s2, s3 ]
See lab topology overview for more details.
Supported Virtualization Providers¶
netlab create can generate configuration files for these virtualization providers:
vagrant-libvirt, including support for veryisolated private networks and UDP point-to-point tunnels.
External – meta virtualization provider that allows you to configure external physical or virtual devices with netlab
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 | ✅ | ✅ | ✅ |
Cisco IOSv | ✅ | ✅ | ❌ |
Cisco CSR 1000v | ✅ | ✅ | ❌ |
Cisco Nexus 9300v | ✅ | ✅ | ❌ |
Cumulus Linux | ✅ | ✅ | ✅❗ |
Cumulus Linux 5.0 (NVUE) | ✅ | ✅ | ✅❗ |
Dell OS10 | ✅ | ❌ | ❌ |
Fortinet FortiOS | ✅ | ❌ | ❌ |
FRR 7.5.0 | ❌ | ❌ | ✅❗ |
Generic Linux (Ubuntu/Alpine)❗ | ✅ | ✅ | ✅ |
Juniper vSRX 3.0 | ✅ | ✅ | ❌ |
Mikrotik RouterOS 6 | ✅ | ❌ | ❌ |
Mikrotik RouterOS 7 | ✅ | ❌ | ❌ |
Nokia SR Linux | ❌ | ❌ | ✅ |
Nokia SR OS | ❌ | ❌ | ✅ |
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 (libvirt default) |
Cisco IOSv | iosv | 1 | 512 | e1000 |
Cisco CSR 1000v | csr | 2 | 4096 | virtio (libvirt default) |
Cisco Nexus 9300v | nxos | 2 | 6144 ❗ | e1000 |
Cumulus Linux | cumulus | 2 | 1024 | virtio (libvirt default) |
Cumulus Linux 5.0 (NVUE) | cumulus_nvue | 2 | 1024 | virtio (libvirt default) |
Dell OS10 | dellos10 | 2 | 2048 | e1000 |
Fortinet FortiOS | fortios | 1 | 1024 | virtio (libvirt default) |
Generic Linux host | linux | 1 | 1024 | virtio (libvirt default) |
Juniper vSRX 3.0 | vsrx | 2 | 4096 | virtio (libvirt default) |
Mikrotik RouterOS 6 | routeros | 1 | 256 | virtio (libvirt default) |
Mikrotik RouterOS 7 | routeros7 | 2 | 256 | e1000 |
VyOS | vyos | 2 | 1024 | virtio (libvirt default) |
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 | ✅ | ✅ |
Cisco IOS / IOS XE | ✅ | ✅ |
Cisco Nexus OS | ✅ | ✅ |
Cumulus Linux | ✅ | ✅ |
Dell OS10 | ✅ | ✅ |
Fortinet FortiOS | ✅ | ✅ |
FRR container | ✅ | ❌ |
Generic Linux | ✅ | ❌ |
Juniper vSRX 3.0 | ✅ | ✅ |
Mikrotik RouterOS 6 | ✅ | ✅ |
Mikrotik RouterOS 7 | ✅ | ✅ |
Nokia SR Linux | ✅ | ✅ |
Nokia SR OS | ✅ | ✅ |
VyOS | ✅ | ✅ |
Initial Device Configurations¶
The following system-wide features are configured on supported network operating systems as part of initial device configuration:
Operating system | Hostname | IPv4 hosts | LLDP | Loopback IPv4 address |
Loopback IPv6 address |
---|---|---|---|---|---|
Arista EOS | ✅ | ✅ | ✅ | ✅ | ✅ |
Cisco IOS/IOS XE | ✅ | ✅ | ✅ | ✅ | ✅ |
Cisco Nexus OS | ✅ | ✅ | ✅ | ✅ | ✅ |
Cumulus Linux | ✅ | ✅ | ✅ | ✅ | ✅ |
Cumulus Linux 5.0 (NVUE) | ✅ | ✅ | ✅ | ✅ | ✅ |
Dell OS10 | ✅ | ✅ | ✅ | ✅ | ✅ |
Fortinet FortiOS | ✅ | ❌ | ✅ | ✅ | ✅ |
FRR 7.5.0 | ✅ | ✅ | ❌ | ✅ | ✅ |
Generic Linux | ✅ | ✅ | ✅❗ | ✅ | ✅ |
Juniper vSRX 3.0 | ✅ | ❌ | ✅ | ✅ | ✅ |
Mikrotik RouterOS 6 | ✅ | ✅ | ✅❗ | ✅ | ✅ |
Mikrotik RouterOS 7 | ✅ | ✅ | ✅❗ | ✅ | ✅ |
Nokia SR Linux | ✅ | ✅ | ✅ | ✅ | ✅ |
Nokia SR OS | ✅ | ✅ | ✅ | ✅ | ✅ |
VyOS | ✅ | ✅ | ✅ | ✅ | ✅ |
The following interface parameters are configured on supported network operating systems as part of initial device configuration:
Operating system | Interface description |
Interface bandwidth |
MTU |
---|---|---|---|
Arista EOS | ✅ | ✅ | ✅ |
Cisco IOS/IOS XE | ✅ | ✅ | ✅❗ |
Cisco Nexus OS | ✅ | ✅ | ✅ |
Cumulus Linux | ✅ | ✅ | ✅ |
Cumulus Linux 5.0 (NVUE) | ✅ | ✅ | ❌ |
Dell OS10 | ✅ | ❌ | ✅ |
Fortinet FortiOS | ✅ | ✅ | ❌ |
FRR 7.5.0 | ✅ | ✅ | ✅ |
Generic Linux | ❌ | ❌ | ✅ |
Juniper vSRX 3.0 | ✅ | ✅ | ✅ |
Mikrotik RouterOS 6 | ✅ | ❌ | ✅ |
Mikrotik RouterOS 7 | ✅ | ❌ | ✅ |
Nokia SR Linux | ✅ | ❌ | ❌ |
Nokia SR OS | ✅ | ❌ | ❌ |
VyOS | ✅ | ❌ | ✅ |
The following interface addresses are supported on various platforms:
Operating system | IPv4 addresses |
IPv6 addresses |
Unnumbered interfaces |
---|---|---|---|
Arista EOS | ✅ | ✅ | ✅ |
Cisco IOS/IOS XE | ✅ | ✅ | ❗ |
Cisco Nexus OS | ✅ | ✅ | ✅ |
Cumulus Linux | ✅ | ✅ | ✅ |
Cumulus Linux 5.0 (NVUE) | ✅ | ✅ | ✅ |
Dell OS10 | ✅ | ✅ | ❌ |
Fortinet FortiOS | ✅ | ✅ | ❌ |
FRR 7.5.0 | ✅ | ✅ | ❌ |
Generic Linux | ✅ | ✅ | ❌ |
Juniper vSRX 3.0 | ✅ | ✅ | ✅ |
Mikrotik RouterOS 6 | ✅ | ✅ | ❌ |
Mikrotik RouterOS 7 | ✅ | ✅ | ❌ |
Nokia SR Linux | ✅ | ✅ | ❌ |
Nokia SR OS | ✅ | ✅ | ✅ |
VyOS | ✅ | ✅ | ❌ |
Supported Configuration Modules¶
Routing protocol configuration modules are supported on these devices1
Operating system | OSPF | IS-IS | EIGRP | BGP | BFD | EVPN |
---|---|---|---|---|---|---|
Arista EOS | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ |
Cisco IOS | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
Cisco IOS XE | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
Cisco Nexus OS | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
Cumulus Linux | ✅ | ❌ | ❌ | ✅ | ❌ | ✅ |
Cumulus Linux 5.0 (NVUE) | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ |
Dell OS10 | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ |
Fortinet FortiOS | ❗ | ❌ | ❌ | ❌ | ❌ | ❌ |
FRR 7.5.0 | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ |
Juniper vSRX 3.0 | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ |
Mikrotik RouterOS 6 | ✅ | ❌ | ❌ | ✅ | ✅ | ❌ |
Mikrotik RouterOS 7 | ✅ | ❌ | ❌ | ✅ | ✅ | ❌ |
Nokia SR Linux | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ |
Nokia SR OS | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ |
VyOS | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ |
The following data plane configuration modules are supported on these devices1:
Operating system | VLAN | VRF | VXLAN | MPLS | SR-MPLS | SRv6 |
---|---|---|---|---|---|---|
Arista EOS | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
Cisco IOS | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ |
Cisco IOS XE | ❌ | ✅ | ❌ | ✅ | ✅ | ❌ |
Cisco Nexus OS | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
Cumulus Linux | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
Cumulus Linux 5.0 (NVUE) | ❌ | ❗ | ❌ | ❌ | ❌ | ❌ |
Dell OS10 | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
Juniper vSRX 3.0 | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ |
Mikrotik RouterOS 6 | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ |
Mikrotik RouterOS 7 | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ |
Nokia SR Linux | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ |
Nokia SR OS | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ |
VyOS | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
IPv6 Support¶
Core netlab functionality and all multi-protocol routing protocol configuration modules fully supports 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 | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
Cisco IOS | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
Cisco IOS XE | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
Cisco Nexus OS | ✅ | ❌ | ✅ | ✅ | ✅ | ❌ |
Cumulus Linux | ✅ | ❌ | ✅ | ❌ | ✅ | ❌ |
Cumulus Linux 5.0 (NVUE) | ✅ | ❌ | ✅ | ❌ | ✅ | ❌ |
Dell OS10 | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ |
Fortinet FortiOS | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
FRR 7.5.0 | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ |
Generic Linux | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
Juniper vSRX 3.0 | ✅ | ❌ | ✅ | ❌ | ✅ | ❌ |
Mikrotik RouterOS 6 | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ |
Mikrotik RouterOS 7 | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ |
Nokia SR Linux | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ |
Nokia SR OS | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ |
VyOS | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ |
- 1(1,2)
Use netlab show module-support command to display the current system settings