Supported Platforms

The following virtual network devices are supported by netsim-tools:

Virtual network device netsim device type
Arista vEOS eos
Cisco IOSv iosv
Cisco CSR 1000v csr
Cisco Nexus 9300v nxos
Cumulus Linux cumulus
Cumulus Linux 5.0 (NVUE) cumulus_nvue
Fortinet FortiOS fortios
FRR 7.5.0 frr
Generic Linux host linux
Juniper vSRX 3.0 vsrx
Mikrotik CHR RouterOS routeros
Nokia SR Linux srlinux
Nokia SR OS sros
VyOS vyos
Dell OS10 dellos10

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:

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)

Fortinet FortiOS

FRR 7.5.0

Generic Linux (Ubuntu/Alpine)

Juniper vSRX 3.0

Mikrotik CHR RouterOS

Nokia SR Linux

Nokia SR OS

VyOS

Dell OS10

Note:

  • external provider can be used with all devices supported by netsim-tools.

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 netsim 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)
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 CHR RouterOS routeros 1 256 virtio (libvirt default)
VyOS vyos 2 1024 virtio (libvirt default)
Dell OS10 dellos10 2 2048 e1000

Configuration Deployments

Ansible playbooks included with netsim-tools 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
Fortinet FortiOS
FRR container
Generic Linux
Juniper vSRX 3.0
Mikrotik CHR RouterOS
Nokia SR Linux
Nokia SR OS
VyOS
Dell OS10

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)
Fortinet FortiOS
FRR 7.5.0
Generic Linux
Juniper vSRX 3.0
Nokia SR Linux
Nokia SR OS
VyOS
Mikrotik CHR RouterOS
Dell OS10

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)
Fortinet FortiOS
FRR 7.5.0
Generic Linux
Juniper vSRX 3.0
Mikrotik CHR RouterOS
Nokia SR Linux
Nokia SR OS
VyOS
Dell OS10

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)
Fortinet FortiOS
FRR 7.5.0
Generic Linux
Juniper vSRX 3.0
Mikrotik CHR RouterOS
Nokia SR Linux
Nokia SR OS
VyOS
Dell OS10

Supported Configuration Modules

Routing protocol configuration modules are supported on these devices (use netlab show module-support command to display the current system settings):

Operating system OSPF IS-IS EIGRP BGP
Arista EOS
Cisco IOS
Cisco IOS XE
Cisco Nexus OS
Cumulus Linux
Cumulus Linux 5.0 (NVUE)
Fortinet FortiOS
FRR 7.5.0
Juniper vSRX 3.0
Mikrotik CHR RouterOS
Nokia SR Linux
Nokia SR OS
VyOS
Dell OS10

Additional configuration modules are supported on these devices (use netlab show module-support command to display the current system settings):

Operating system BFD VLAN VRF MPLS SR-MPLS SRv6
Arista EOS
Cisco IOS
Cisco IOS XE
Cisco Nexus OS
Cumulus Linux 5.0 (NVUE)
Juniper vSRX 3.0
Mikrotik CHR RouterOS
Nokia SR Linux
Nokia SR OS
VyOS
Dell OS10

IPv6 Support

Core functionality of netsim-tools and all multi-protocol routing protocol configuration modules fully supports IPv6. OSPFv3 is not implemented yet.

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)
Fortinet FortiOS
FRR 7.5.0
Generic Linux
Juniper vSRX 3.0
Mikrotik CHR RouterOS
Nokia SR Linux
Nokia SR OS
VyOS
Dell OS10