Skip to content

Latest commit

 

History

History
443 lines (379 loc) · 25.3 KB

File metadata and controls

443 lines (379 loc) · 25.3 KB

(supported-platforms)=

Supported Platforms

.. contents:: Table of Contents
   :depth: 1
   :local:

(platform-devices)=

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 support level
Arista vEOS/cEOS eos full
Aruba AOS-CX arubacx full
Cisco ASAv asav minimal
Cisco Catalyst 8000v cat8000v full
Cisco CSR 1000v csr full
Cisco IOS-on-Linux (IOL) iol full
Cisco IOS-on-Linux L2 image (IOL L2) ioll2 full
Cisco IOSv iosv full
Cisco IOSvL2 iosvl2 full
Cisco IOS XRv iosxr minimal
Cisco Nexus 9300v nxos best effort
Cumulus Linux 4.x/5.x cumulus end of life
Cumulus Linux 5.x (NVUE) cumulus_nvue best effort
Dell OS10 dellos10 full
Fortinet FortiOS fortios minimal
FRRouting (FRR) frr full
Generic Linux host linux full
Juniper vMX vmx best effort
Juniper vPTX (vJunos EVO) vptx full
Juniper vSRX 3.0 vsrx best effort
vJunos-switch vjunos-switch full
vJunos-router vjunos-router full
Mikrotik RouterOS 6 (CHR) routeros end of life
Mikrotik RouterOS 7 (CHR) routeros7 minimal
Nokia SR Linux srlinux full
Nokia SR OS sros full
OpenBSD openbsd best effort
Sonic sonic minimal
VyOS 1.4 vyos full

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

Daemon netlab device type support level
BIRD Internet Routing Daemon bird full
dnsmasq DHCP server dnsmasq full

The support level of a platform is defined as:

  • full -- a core contributor is regularly implementing new features. We run a full suite of integration tests for every release that could impact the device behavior (for example, due to changes in configuration templates).
  • best effort -- while a core contributor might still work on the platform, we don't run integration tests (usually due to limited availability of the VM/container image). YMMV.
  • minimal -- don't expect too much1. What you see is pretty much what you'll get (and in many cases, it did not go through integration tests).
  • end-of-life -- these platforms are still part of netlab package because the storage prices keep falling.

(platform-host)= Most devices behave as routers (or layer-3 switches); the following devices can take multiple roles or behave as IP hosts:

Device router host bridge
Arista EOS
Bird
Cisco IOS/IOS XE2
dnsmasq
FRRouting
Generic Linux
Open BSD

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).

(platform-provider-support)=

Virtual network device Vagrant
Libvirt
Vagrant
Virtualbox
Containerlab
Arista vEOS
Aruba AOS-CX
Cisco ASAv
Cisco Catalyst 8000v
Cisco CSR 1000v
Cisco IOL
Cisco IOL L2
Cisco IOSv
Cisco IOSvL2
Cisco IOS XRv
Cisco Nexus 9300v
Cumulus Linux
Cumulus Linux 5.x (NVUE)
Dell OS10
Fortinet FortiOS
FRR
Generic Linux (Ubuntu/Alpine)
Juniper vMX
Juniper vPTX
Juniper vSRX 3.0
vJunos-switch
vJunos-router
Mikrotik RouterOS 7
Nokia SR Linux
Nokia SR OS
OpenBSD
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 IOSvL2 iosvl2 1 1024 e1000
Cisco IOS XRv iosxr 2 8192 e1000
Cisco Nexus 9300v nxos 2 6144 e1000
Cumulus Linux cumulus 2 1024 virtio
Cumulus Linux 5.x (NVUE) cumulus_nvue 2 1024 virtio
Dell OS10 dellos10 2 2048 e1000
Fortinet FortiOS fortios 1 2048 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
OpenBSD openbsd 1 1024 virtio
Sonic sonic 2 4096 virtio
VyOS vyos 2 1024 virtio
**‌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:

(platform-config-support)=

Operating system Deploy
configuration
Collect
configuration
Configurable
save to startup
Arista EOS
Aruba AOS-CX
Cisco ASAv
Cisco IOS/IOS XE2
Cisco IOS XRv
Cisco Nexus OS
Cumulus Linux
Dell OS10
Fortinet FortiOS
FRR
Generic Linux
Junos3
Mikrotik RouterOS 6
Mikrotik RouterOS 7
Nokia SR Linux
Nokia SR OS
OpenBSD
Sonic
VyOS

Initial Device Configurations

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

(platform-initial-config)=

Operating system Hostname IPv4/IPv6
hosts
LLDP IPv4
Loopback
IPv6
Loopback
Arista EOS
Aruba AOS-CX
Cisco ASAv
Cisco IOS/IOS XE2
Cisco IOS XRv
Cisco Nexus OS
Cumulus Linux 4
Cumulus Linux 5.x (NVUE)
Dell OS10
Fortinet FortiOS
FRR 4
Generic Linux 4
Junos3
Mikrotik RouterOS 6
Mikrotik RouterOS 7
Nokia SR Linux
Nokia SR OS
OpenBSD
Sonic
VyOS

(platform-initial-interfaces)= 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 XE2
Cisco IOS XRv
Cisco Nexus OS
Cumulus Linux
Cumulus Linux 5.x (NVUE)
Dell OS10
Fortinet FortiOS
FRR
Generic Linux
Junos3
Mikrotik RouterOS 6
Mikrotik RouterOS 7
Nokia SR Linux
Nokia SR OS
OpenBSD
Sonic
VyOS

(platform-initial-addresses)= 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/IOSvL2
Cisco IOS XE2
Cisco IOS XRv
Cisco Nexus OS
Cumulus Linux
Cumulus Linux 5.x (NVUE)
Dell OS10
Fortinet FortiOS
FRR
Generic Linux
Junos3
Mikrotik RouterOS 6
Mikrotik RouterOS 7
Nokia SR Linux
Nokia SR OS
OpenBSD
Sonic
VyOS
* Use **‌netlab show modules -m initial** to display optional initial configuration features supported by individual devices
* See [Initial Configuration Integration Tests Results](https://release.netlab.tools/_html/coverage.initial) for up-to-date details.

Supported Configuration Modules

(platform-routing-support)= Routing protocol configuration modules are supported on these devices5

Operating system OSPF IS-IS EIGRP BGP RIPv2/ng
Arista EOS
Aruba AOS-CX
Cisco ASAv
Cisco IOSv/IOSvL2
Cisco IOS XE2
Cisco IOS XRv
Cisco Nexus OS
Cumulus Linux
Cumulus Linux 5.x (NVUE)
Dell OS10
Fortinet FortiOS
FRR
Junos3
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/IOSvL2
Cisco Nexus OS
Cumulus Linux
Dell OS10
FRR
Juniper vMX
Juniper vPTX
Juniper vSRX 3.0
vJunos-switch
vJunos-router
Mikrotik RouterOS 6
Mikrotik RouterOS 7
Nokia SR Linux
Nokia SR OS
VyOS

Notes:

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

(platform-layer-2-support)= The layer-2 control plane configuration modules are supported on these devices5:

Operating system Spanning
Tree Protocol
Link Aggregation
Groups
Arista EOS
Aruba CX
bird
Cumulus Linux
Cumulus Linux 5.x (NVUE)
Dell OS10
dnsmasq
FRR
Linux

(platform-dataplane-support)= The data plane configuration modules are supported on these devices5:

Operating system VLAN VRF VXLAN MPLS SR-MPLS SRv6
Arista EOS
Aruba AOS-CX
Cisco Catalyst 8000v
Cisco CSR 1000v
Cisco IOSv/IOSvL2
Cisco Nexus OS
Cumulus Linux
Cumulus Linux 5.x (NVUE)
Dell OS10
FRR
Juniper vMX
Juniper vPTX
Juniper vSRX 3.0
vJunos-switch
vJunos-router
Mikrotik RouterOS 6
Mikrotik RouterOS 7
Nokia SR Linux
Nokia SR OS
VyOS

(platform-services-support)= Network services configuration modules are supported on these devices5

Operating system DHCP DHCPv6
Arista EOS
Cisco CSR 1000v
Cisco IOSv/IOSvL2
Cumulus Linux

Network services configuration modules are also supported on these daemons:

Operating system DHCP DHCPv6
dnsmasq
See [integration test results](https://release.netlab.tools/) for more details.

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/IOSvL2
Cisco IOS XE2
Cisco Nexus OS
Cumulus Linux 4.x
Cumulus Linux NVUE
Dell OS10
Fortinet FortiOS
FRR
Generic Linux
Junos3
Mikrotik RouterOS 6
Mikrotik RouterOS 7
Nokia SR Linux
Nokia SR OS
OpenBSD
Sonic
VyOS

(platform-unknown)=

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:

Footnotes

  1. Particularly on platforms that take way too long to boot, like Cisco IOS XR. We're all forced to deal with a limited lifespan.

  2. Includes Cisco CSR 1000v, Cisco Catalyst 8000v, Cisco IOS-on-Linux (IOL) and IOL Layer-2 image 2 3 4 5 6 7

  3. Includes vMX, vSRX, vPTX, vJunos-switch, and vJunos-router 2 3 4 5 6

  4. Some Linux-based devices can also use interface names in host names. See /etc/hosts file on Linux for more details. 2 3

  5. Use netlab show module-support command to display the current system settings 2 3 4