Skip to main content

Device types

nl6 ships resource files for 31 device types across 9 categories. The REST API's category filter uses a coarser set of five values, shown below. 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 ASR 990250Fixed 2RU IOS-XR 24.2.2 router: two A99-RP-F, one ASR-9902-LC with 48 front ports in two slices, two management ports, Bundle-Ether1 (HundredGigE0/0/0/9 and 0/0/0/10 as members, in ifStackTable), BVI1, Loopback0, Null0 and three VLAN subinterfaces, each over its port or bundle in ifStackTable; SNMP, CLI and gNMI interfaces and inventory generated from one chassis model
Cisco CRS-X144Carrier-class router, 16-slot CRS-X
Huawei NE800096Carrier-class router
Nokia 7750 SR-1272IP/MPLS service router
Juniper MX96080Service provider edge router. Its show configuration carries the three VRFs show route instance detail reports (CUSTOMER-A, INTERNET, MGMT) as routing-instances stanzas with their own router-id, on tagged units of ge-0/0/0 and xe-1/0/1; the VRF units carry family inet and no address, so IP-MIB is unchanged by them.
Juniper MX1000480Modular edge router with 48 × 10G and 24 × 400G interfaces, four logical units on xe-0/0/0 (unit 0 and the VRF units 100, 200 and 999, each over the port in ifStackTable and each configured in show configuration with the VRF it belongs to), the management port fxp0 and loopback lo0 with their addressed units (ifIndex 77 to 80), dual Routing Engine and control board, gNMI catalogue (OpenConfig platform, system, BGP, Junos native sensors)

The Juniper MX10004 also serves a gNMI catalogue: interface state and counters with Junos per-queue counters, subinterfaces, platform components with temperature and properties, CPU, system CPU and memory, system state, BGP neighbours, and the native packet-usage, fabric and FPC environment sensors under the juniper origin. The fabric sensor's shape comes from a hardware capture; the environment sensor is YANG-derived from junos-fpc-env.yang and may differ from what hardware renders. The Cisco ASR 9902 serves a gNMI catalogue for interface and subinterface counters, platform components, system CPUs and system memory. Its interface counters cover the physical ports and the logical interfaces. Its subinterface counters cover only the VLAN subinterfaces, as gNMI describes. Its leaf sets, prefix depths and per-component leaf groups are shape-verified against a gnmic capture of an ASR 9902 on IOS-XR 24.2.2; values are synthetic. Responses carry the subtree's YANG module as prefix origin, as IOS-XR does. JSON_IETF answers with one update per requested node, its leaves nested as IOS-XR documents it; see gNMI.

The MX10004 is not in the round-robin list. Request it by name.

The MX10004's ENTITY-MIB entPhysicalTable lists the same boards, serials, part numbers and revisions as its gNMI components and show chassis hardware, the chassis (entity 1) included. Each interface has a port entity at index 1000 + ifIndex, and entAliasMappingTable maps it to that ifIndex.

Edge routers​

DevicePortsDescription
Juniper MX24024Compact modular router. Its show configuration carries the three VRFs show route instance detail reports (CUSTOMER-A, INTERNET, MGMT) as routing-instances stanzas with their own router-id, on tagged units of xe-1/0/0; the VRF units carry family inet and no address, so IP-MIB is unchanged by them.
NEC IX331548Enterprise router

Data center switches​

DevicePortsDescription
Cisco Nexus 950064Data center spine switch, Nexus 9508 chassis
Arista 7280R332High-performance switch

Campus switches​

DevicePortsDescription
Cisco Catalyst 950048Enterprise core switch, Catalyst 9500-48Y4C
Extreme VSP445048Campus switch
D-Link DGS-363052L3 managed switch
Cisco IOS4Access switch, Catalyst 2960-X (WS-C2960X-24TS-L)

Firewalls​

DevicePortsDescription
Palo Alto PA-322016Next-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 Server3Ubuntu 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 collector OID contract.

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, gNMI

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. It is 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.

API category values​

POST /api/v1/devices with round_robin: true accepts a category filter. It takes exactly one of five strings; any other value matches no device type and is rejected with 400.

API categoryDoc categories above
Network DevicesCore routers, Edge routers, Data center switches, Campus switches, Firewalls
ServersServers
GPU ServersGPU servers
StorageStorage systems
Optical TransportOptical transport

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 counters. ifHCInOctets / 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. 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 world-cities dataset of about 47,000 rows so large fleets have plausible geographic spread. The dataset ships under go/nl6/worldcities/ as 97 CSV shards plus a header.csv.

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.