CodingBox Documentation

Management plane: console, OOB, APIs, SNMP & telemetry for optics

Everything a switch knows about a transceiver — identity, DDM, alarms, the reason it refused a module — lives in the control plane and reaches you through the management plane: a console cable, an out-of-band port, a CLI or API session, an SNMP poll, a telemetry stream or a syslog line. This page lists the access methods, the automation interfaces, the SNMP objects and telemetry paths that carry transceiver data on the main platforms, the syslog messages worth alerting on, and the operational routines (backups, upgrades, ZTP) that touch optics.

Access methods

MethodPort / interfaceUseNotes
ConsoleRJ45 RS-232 (Cisco rollover cable, 9600 8N1) and/or USB-C / mini-USB (virtual COM)first configuration, recovery, watching boot115 200 on many newer boxes; USB console needs a driver on Windows
Out-of-band managementdedicated mgmt0 / Management1 / me0 Ethernet, own VRFday-to-day management, keepalives for MLAG, telemetryseparate physical network; 1G copper, sometimes SFP (Port naming & LEDs)
In-bandloopback or SVI over the data networkwhen OOB is absentlost when the data plane is
BMC / IPMI / Redfishon white-box and some DC switchespower, sensors, firmwareserver-style
Bluetooth / USB appsome campus switchesinitial setup from a phone

Configuration and automation interfaces

InterfaceStandardsWhereOptics use
CLI (SSH)allshow interfaces transceiver and friends (Verifying optics on a switch)
NETCONF / YANGRFC 6241, OpenConfig and native modelsJunos, IOS-XE/XR, NX-OS, Arista, Huawei, SONiC (partial)openconfig-platform-transceiver reads identity and DDM
RESTCONF / RESTRFC 8040, vendor REST (Arista eAPI, AOS-CX REST, NX-API, Dell OS10 REST)mostJSON of the same show commands
gNMI / gRPCOpenConfig gNMIArista, Cisco, Juniper, Nokia, SONiCstreaming telemetry subscriptions
SNMPv2c / v3allpolling DDM and status (Monitoring)
Ansible / Terraform / Pythonover the abovefleet-wide transceiver inventory
ZTP / PoAP / autoinstallDHCP options + HTTP/TFTPprovisioninga new switch pulls image and config; optics policy commands must be in that config

SNMP objects for transceivers

ScopeMIB / objectNotes
Interface status and counters (all)IF-MIB: ifOperStatus, ifHighSpeed, ifInErrors, ifHCInOctets; EtherLike-MIB: dot3StatsFCSErrorslink and CRC
Physical inventory (all)ENTITY-MIB: entPhysicalDescr, entPhysicalModelName (PN), entPhysicalSerialNum (SN), entPhysicalMfgName (vendor), entPhysicalClass = port/modulemodules appear as child entities of the port
Sensors (standard)ENTITY-SENSOR-MIB (RFC 3433): entPhySensorType (celsius, volts, amperes, dBm as watts ×10^scale), entPhySensorValue, entPhySensorScale, entPhySensorPrecisionused by Arista, Cisco (some), Dell, SONiC
CiscoCISCO-ENTITY-SENSOR-MIB (entSensorValue, thresholds in CISCO-ENTITY-SENSOR-EXT-MIB), CISCO-ENTITY-FRU-CONTROL-MIB; transceiver DOM indexes under the port's child entitiesIOS/IOS-XE/NX-OS
JuniperJUNIPER-DOM-MIB: jnxDomCurrentRxLaserPower, jnxDomCurrentTxLaserOutputPower, jnxDomCurrentTxLaserBiasCurrent, jnxDomCurrentModuleTemperature, jnxDomCurrentModuleVoltage, alarm/warning columns; per-lane table jnxDomCurrentLane*values in 0.01 dBm / 0.001 mA
HuaweiHUAWEI-ENTITY-EXTENT-MIB: hwEntityOpticalRxPower, hwEntityOpticalTxPower, hwEntityOpticalBiasCurrent, hwEntityOpticalTemperature, hwEntityOpticalVendorSn, hwEntityOpticalVendorPn, hwEntityOpticalType; hwEntityOpticalUserEepromVRP
H3CHH3C-TRANSCEIVER-INFO-MIB: hh3cTransceiverHardwareType, hh3cTransceiverVendorName, hh3cTransceiverCurRXPower, hh3cTransceiverCurTXPower, hh3cTransceiverTemperatureComware
HPE ArubaENTITY-SENSOR-MIB on AOS-CX; hpicfTransceiver MIB on AOS-S
Dell OS10ENTITY-SENSOR-MIB + os10-platform REST
ExtremeEXTREME-PORT-MIB / extremeOpticalPort on EXOS
MikroTikMIKROTIK-MIB: mtxrOpticalTable (mtxrOpticalRxPower, mtxrOpticalTxPower, mtxrOpticalTemperature, mtxrOpticalVoltage, mtxrOpticalTxBias)RouterOS
UbiquitiUBNT-… limited; use SSH/ethtool -m
SONiCENTITY-SENSOR-MIB via snmpagent; state in redis TRANSCEIVER_DOM_SENSOR table
TrapslinkDown/linkUp (IF-MIB), vendor DOM threshold traps (jnxDomAlarm*, hwEntityOpticalTrap, cefcFRU*)

Scaling advice — poll DDM every 60–300 s, not every 10 s; alert on deltas: Monitoring.

Streaming telemetry paths (OpenConfig)

PathData
/components/component[name=<port>-transceiver]/transceiver/state/vendor, vendor-part, serial-no, form-factor, connector-type, ethernet-pmd, present, date-code
…/transceiver/physical-channels/channel[index]/state/input-power, output-power, laser-bias-current per lane (instant/avg/min/max)
/components/component/state/temperature/instantmodule temperature
/interfaces/interface[name]/state/counters/in-crc-errors, in-fcs-errors, carrier-transitions (flap count)
/interfaces/interface/ethernet/state/negotiated-port-speed, fec-mode (newer models)
Vendor native (Cisco XR Cisco-IOS-XR-controller-optics-oper, Junos /junos/system/linecard/optics/, Arista /Sysdb/hardware/xcvr/status/)richer: thresholds, alarms, lane states

Sample intervals of 30–60 s for DDM and 10 s for counters are typical; telemetry is push-based so hundreds of ports cost the switch little.

Syslog messages worth alerting on

ClassExamples (wording varies)Meaning
Module accepted/rejected%PHY-4-UNSUPPORTED_TRANSCEIVER, Transceiver … unsupported, phony transceiver, Mod_Inv, PIC … optics unsupportedpolicy (How each NOS validates a module)
Module inserted/removed%SFF8472-…, XCVR inserted/removed, Transceiver presentinventory
DOM thresholdRx power low warning, TEMP_HIGH_ALARM, jnxDomAlarmSet, %SFF8472-5-THRESHOLD_VIOLATIONlevels (Thresholds & alarms)
Link state%LINK-3-UPDOWN, %LINEPROTO-5-UPDOWN, SNMP_TRAP_LINK_DOWNflaps (Link flapping)
Errdisable%PM-4-ERR_DISABLE gbic-invalid, link-flap error detectedport shut by policy
FECFEC uncorrectable errors, pre-FEC BER thresholdmarginal link
Power/thermalpower class exceeds, Module … high temperature, fan/PSU alarmsPower & thermal
CMISModule not ready, DataPath … state, CDB failureCMIS issues

Operational routines that touch optics

RoutineWhat to do about modules
Configuration backupincludes the optics-policy commands (service unsupported-transceiver, FEC settings, breakout) — losing them on restore takes ports down
Software upgraderead release notes for transceiver items, test on a canary, keep the inventory of coded modules (Compatibility matrices & firmware)
Module firmwaresome NOSes push module firmware (Cisco, Arista, Juniper for OEM optics) — a new NOS can update modules silently (Controller & firmware)
Inventory exportshow inventory / ENTITY-MIB / telemetry into the CMDB: vendor, PN, SN, port
ZTPthe provisioning config must already contain FEC/speed/policy lines, otherwise a freshly provisioned leaf comes up with dark uplinks
Time syncNTP/PTP so DDM history and syslog line up across devices
AAA and loggingrecord who changed a port's speed/FEC — half of "the optic died" tickets are configuration changes

In CodingBox

The bench read and the switch's telemetry describe the same bytes: vendor, PN, SN, date code, DDM values and thresholds. Exporting the switch inventory and matching serial numbers against the code database finds modules whose identity was coded, whose thresholds differ from the datasheet, or which moved between ports (Check transceiver, Reading DDM with tools).