type Cap = '✓' | '—' interface Driver { name: string deviceType: string facts: Cap interfaces: Cap lldp: Cap vlans: Cap ssids: Cap health: Cap docker: Cap reboot: Cap configPush: Cap status: 'stable' | 'beta' } const DRIVERS: Driver[] = [ { name: 'openwrt', deviceType: 'OpenWRT access points', facts: '✓', interfaces: '✓', lldp: '—', vlans: '✓', ssids: '✓', health: '✓', docker: '—', reboot: '✓', configPush: '✓', status: 'stable' }, { name: 'opnsense', deviceType: 'OPNsense firewalls', facts: '✓', interfaces: '✓', lldp: '✓', vlans: '✓', ssids: '—', health: '✓', docker: '—', reboot: '✓', configPush: '—', status: 'stable' }, { name: 'proxmox', deviceType: 'Proxmox VE hypervisors', facts: '✓', interfaces: '✓', lldp: '—', vlans: '—', ssids: '—', health: '✓', docker: '✓', reboot: '✓', configPush: '—', status: 'stable' }, { name: 'linux', deviceType: 'Generic Linux servers', facts: '✓', interfaces: '✓', lldp: '✓', vlans: '—', ssids: '—', health: '✓', docker: '✓', reboot: '✓', configPush: '—', status: 'stable' }, { name: 'procurve', deviceType: 'HP ProCurve / Aruba switches', facts: '✓', interfaces: '✓', lldp: '✓', vlans: '✓', ssids: '—', health: '✓', docker: '—', reboot: '✓', configPush: '—', status: 'stable' }, { name: 'tplink_jetstream', deviceType: 'TP-Link Jetstream switches', facts: '✓', interfaces: '✓', lldp: '✓', vlans: '✓', ssids: '—', health: '—', docker: '—', reboot: '✓', configPush: '—', status: 'stable' }, { name: 'netgear', deviceType: 'Netgear switches', facts: '✓', interfaces: '✓', lldp: '✓', vlans: '✓', ssids: '—', health: '—', docker: '—', reboot: '—', configPush: '—', status: 'beta' }, { name: 'fritzbox', deviceType: 'AVM Fritz!Box routers', facts: '✓', interfaces: '✓', lldp: '—', vlans: '—', ssids: '✓', health: '—', docker: '—', reboot: '✓', configPush: '—', status: 'stable' }, { name: 'zyxel', deviceType: 'Zyxel switches', facts: '✓', interfaces: '✓', lldp: '✓', vlans: '✓', ssids: '—', health: '—', docker: '—', reboot: '—', configPush: '—', status: 'beta' }, { name: 'openmediavault', deviceType: 'OpenMediaVault NAS', facts: '✓', interfaces: '✓', lldp: '—', vlans: '—', ssids: '—', health: '✓', docker: '✓', reboot: '✓', configPush: '—', status: 'stable' }, { name: 'sonos', deviceType: 'Sonos speakers', facts: '✓', interfaces: '—', lldp: '—', vlans: '—', ssids: '—', health: '—', docker: '—', reboot: '—', configPush: '—', status: 'beta' }, ] const NAPALM_BUILTIN = [ 'Cisco IOS', 'Cisco IOS-XE', 'Cisco NX-OS', 'Arista EOS', 'Juniper JunOS', ] const CAPS: { key: keyof Driver; label: string }[] = [ { key: 'facts', label: 'Facts' }, { key: 'interfaces', label: 'Ifaces' }, { key: 'lldp', label: 'LLDP' }, { key: 'vlans', label: 'VLANs' }, { key: 'ssids', label: 'SSIDs' }, { key: 'health', label: 'Health' }, { key: 'docker', label: 'Docker' }, { key: 'reboot', label: 'Reboot' }, { key: 'configPush', label: 'Config push' }, ] function StatusBadge({ status }: { status: 'stable' | 'beta' }) { return ( {status} ) } export default function Drivers() { return (

Supported Devices

netOrk ships with custom NAPALM drivers for 11 device types and supports all built-in NAPALM drivers. Capability availability varies by driver.

{/* Custom drivers table */}

Custom Drivers

{CAPS.map((c) => ( ))} {DRIVERS.map((d) => ( {CAPS.map((c) => ( ))} ))}
Driver Device type {c.label} Status
{d.name} {d.deviceType} {d[c.key]}
{/* NAPALM built-ins */}

Built-in NAPALM Drivers

All standard NAPALM drivers are supported. Capabilities depend on the upstream NAPALM implementation.

{NAPALM_BUILTIN.map((name) => ( {name} ))}
) }