Skip to main content

Device types

nl6 ships resource files for 29 device types across 9 categories. Each device type has its own directory under go/nl6/resources/ containing JSON responses for SNMP OIDs, SSH commands, and (for storage devices) REST API endpoints. See Resource files for the JSON format.

Core routers

DevicePortsDescription
Cisco ASR9K48High-end service provider router
Cisco CRS-X144Carrier-class router
Huawei NE800096Carrier-class router
Nokia 7750 SR-1272IP/MPLS service router
Juniper MX96096Service provider edge router

Edge routers

DevicePortsDescription
Juniper MX24024Compact modular router
NEC IX331548Enterprise router
Cisco IOS4Standard IOS router

Data center switches

DevicePortsDescription
Cisco Nexus 950048Data center spine switch
Arista 7280R332High-performance switch

Campus switches

DevicePortsDescription
Cisco Catalyst 950048Enterprise core switch
Extreme VSP445048Campus switch
D-Link DGS-363052L3 managed switch

Firewalls

DevicePortsDescription
Palo Alto PA-322012Next-gen firewall
Fortinet FortiGate-600E20Enterprise firewall
SonicWall NSa 670016Next-gen firewall
Check Point 1560024Security gateway

Servers

DevicePortsDescription
Dell PowerEdge R7504Server BMC/iDRAC
HPE ProLiant DL3804Server iLO interface
IBM Power S9224Power Systems server
Linux ServerUbuntu 24.04 LTS (SNMP, SSH)

GPU servers

DeviceGPUsVRAM/GPUDescription
NVIDIA DGX-A100880 GBA100 GPU training system
NVIDIA DGX-H100880 GBH100 GPU training system
NVIDIA HGX-H2008141 GBH200 GPU inference system

See GPU simulation for the DCGM OID layout, per-GPU metric cycling, and the pollaris / parser integration.

Storage systems

DeviceTypeProtocols
AWS S3 StorageObject storageSNMP, SSH, HTTPS REST
Pure Storage FlashArrayAll-flash arraySNMP, SSH, HTTPS REST
NetApp ONTAPUnified storageSNMP, SSH, HTTPS REST
Dell EMC UnityUnified storageSNMP, SSH, HTTPS REST

Storage devices expose their management API over HTTPS on port 8443 using a set of shared TLS certificates generated at startup. See Web API for the simulator's own control-plane endpoints; the storage APIs themselves are defined entirely by the JSON resource files in each storage device's directory.

Optical transport

DeviceChannelsProtocols
Ciena Waveserver 52 × WaveLogic 5 ExtremeSNMP, SSH

A coherent DWDM transport platform rather than a packet device. Its per-channel discovery key is the optical-channel (OCH) component name (OCH-1-1), carried in an optical resource part — not an ifIndex, since an optical channel is not an interface.

Being a layer-1 transport platform it performs no layer-3/4 inspection, so it exports no flow records (NetFlow / IPFIX / sFlow). A batch-level flow seed skips it with a log line; an explicit per-device flow block naming this type is rejected with HTTP 400.

Optical state is served over gNMI under /components/component[name=$och]/optical-channel/. See Optical telemetry for the served paths, the health bands, the on-demand degradation endpoint and a per-use-case validation walkthrough, and the limitations doc for where the simulation stops.

Enhanced features (all network devices)

  • Entity MIB alignment — ifTable and Entity MIB rows are consistent across chassis, line cards, power supplies, fans, and temperature sensors.
  • entAliasMappingTable — physical-to-logical port mappings.
  • Dynamic metrics — CPU, memory, and temperature cycle through a 100-point sine-wave pattern per device. See Architecture.
  • Dynamic HC interface countersifHCInOctets / ifHCOutOctets are computed on-demand as monotonically increasing Counter64 values, with per-interface phase offsets. See SNMP reference.
  • GPU metrics via NVIDIA DCGM OIDs — per-GPU utilization, VRAM, temperature, power, fan, and clocks. See GPU simulation.
  • SNMPv3 support — engine ID, MD5/SHA1 authentication and DES/AES128 privacy, RFC 3414 USM, verified against net-snmp (nl6#624). See SNMP reference.
  • Per-category baselines — CPU / memory / temperature ranges and spike amplitudes are driven by per-category device profiles.
  • Interface stats and operational status, system information, vendor-specific OIDs, CDP & LLDP, and OSPF / BGP / VRF via SSH.

World cities for sysLocation

Device sysLocation values are drawn from a bundled 98-city dataset so large fleets have plausible geographic spread. The dataset ships under go/nl6/resources/worldcities/.

Each entry's latitude/longitude are retained from the dataset and exposed per device via GET /api/v1/devices (location / latitude / longitude) — see the web API reference. The sysLocation string itself is unchanged; coordinates are an additive surface on the control-plane API.