Network operating systems: a field guide
Every switch vendor ships a network operating system (NOS) with its own command syntax, its own way of showing a transceiver and its own policy toward modules it does not recognise. This page lists the systems you will meet, how they name things, where the transceiver commands live, and what their default stance on third-party optics is, so that a module read on the bench can be matched to the box it is going into.
The landscape
| NOS | Vendor / platforms | CLI style | Transceiver identity & DDM | Third-party optics (documented behaviour) |
|---|---|---|---|---|
| IOS / IOS-XE | Cisco Catalyst campus (9200/9300/9500…), ISR/ASR | show | show interfaces transceiver [detail], show idprom interface | rejected by default (%PHY-4-UNSUPPORTED_TRANSCEIVER, errdisable); service unsupported-transceiver + no errdisable detect cause gbic-invalid on many platforms |
| NX-OS | Cisco Nexus DC | show | show interface … transceiver details | mostly accepts with a log; some platforms strict; service unsupported-transceiver |
| IOS-XR | Cisco ASR 9000, NCS, 8000 | show | show controllers optics … | validation per platform; unsupported optics flagged, some kept down |
| EOS | Arista | show | show interfaces transceiver [dom] | no enforcement; logs |
| Junos / Junos Evolved | Juniper EX, QFX, MX, PTX, ACX | show (hierarchical config) | show interfaces diagnostics optics, show chassis hardware | accepts most; "unsupported" in show chassis pic; DDM may be limited for unknown PNs |
| VRP | Huawei CloudEngine, S-series, NE | display | display transceiver interface … verbose | alarms on non-Huawei optics; transceiver phony-alarm-disable suppresses |
| Comware | H3C | display | display transceiver interface, display transceiver diagnosis | similar to VRP; transceiver phony-alarm-disable |
| AOS-CX / AOS-S (ProCurve) | HPE Aruba | show | show interface transceiver [detail] | AOS-S blocks unsupported unless allow-unsupported-transceiver; AOS-CX similar command |
| OS10 / OS9 | Dell | show | show interface … transceiver | mostly permissive; PowerConnect-era: service unsupported-transceiver |
| EXOS / VOSS / Fabric Engine | Extreme | show | show ports transceiver information | permissive, logs |
| FastIron (ICX) | Ruckus / Brocade | show | show media, show optic | permissive on Ethernet; SAN FOS is strict |
| FOS | Brocade/Broadcom SAN | switchshow, sfpshow | sfpshow, porterrshow | requires Brocade-branded SFPs on most platforms (FC optics) |
| Cumulus Linux / NVUE, Onyx (MLNX-OS) | Nvidia/Mellanox Spectrum | Linux / nv | l1-show, mlxlink -m, ethtool -m | permissive on Ethernet; InfiniBand validates cable info |
| SONiC | community and vendor builds on white-box (Edgecore, Celestica, UfiSpace…) and OEM | Linux / show, config | show interfaces transceiver eeprom -d, sfputil | permissive; platform plugins decide |
| RouterOS / SwOS | MikroTik | /interface ethernet | monitor on sfp interfaces | accepts anything; DDM shown |
| EdgeOS / UniFi | Ubiquiti | GUI / CLI | GUI, ethtool -m | permissive |
| Linux hosts | servers, DPUs | ethtool | ethtool -m | NIC-driver dependent (allow_unsupported_sfp on some Intel drivers) |
Behaviour is per platform and per release; treat the last column as orientation and confirm in the vendor's documentation or on a test port (How each NOS validates a module).
Command families
| Task | show-style (Cisco, Arista, Juniper…) | display-style (Huawei, H3C) | Linux-style (SONiC, Cumulus, hosts) |
|---|---|---|---|
| Identity | show interfaces transceiver / show chassis hardware | display transceiver interface | show interfaces transceiver eeprom, ethtool -m |
| DDM | … transceiver detail / diagnostics optics | … verbose / display transceiver diagnosis | … eeprom -d, ethtool -m |
| Speed / FEC / breakout | speed, fec, breakout under the interface or chassis | speed, fec-mode, port split | config interface speed/fec/breakout, nv set interface … link |
| Errors | show interfaces counters errors | display interface … counters | show interfaces counters, ethtool -S |
Exact syntax per NOS: Port configuration recipes; identity checks: Verifying optics on a switch.
Open networking
SONiC (Linux + SAI abstraction over merchant ASICs) and Cumulus/NVUE turned the NOS into software you can choose separately from the hardware. For optics this means: the platform plugin, not a vendor policy, decides what is read and how; CMIS support depends on the SONiC release; DDM and FEC counters come from Linux tools; and compatibility testing is your job (Compatibility matrices).
How the NOS affects what you see
- Naming: the type string (
10GBASE-LR,QSFP-100G-SR4,SFP-10G-LR) is derived from compliance codes and the PN, differently per NOS (Compliance codes). - DDM presentation: some show thresholds and flags, some only values; some apply external calibration, some not (Calibration).
- CMIS depth: from full data-path control to "release LPMode and hope" (CMIS issues).
- Logging: the message that names the rejection (
unsupported,invalid,Mod_Inv,phony) is the fastest diagnosis (Symptom index).
In CodingBox
The transceiver summaries render a module's identity in Cisco IOS, Junos, Huawei VRP and Aruba styles so the bench output matches what the switch will print — and a mismatch between the two is where a coding or policy problem shows first.
The Linux-host row expanded — NIC vendors, drivers and their module commands: NIC tools and diagnostics, NICs with optical ports.
Interface naming grammar and management-port names for each of these systems: Port naming & LEDs; their SNMP MIBs and telemetry paths for transceiver data: Management & monitoring.