DDM / DOM monitoring
How to read digital diagnostics from NetAPI modules, what the numbers mean, and how to alert when something drifts.
What DDM/DOM is
Digital Diagnostics Monitoring (DDM, also called Digital Optical Monitoring or DOM) is a standardized interface, defined by SFF-8472 for SFP and SFF-8636 / CMIS for QSFP — that exposes real-time module health data. Every NetAPI module supports DDM with the full set of A2h-page monitor values.
DDM gives you five core measurements per lane:
| Measurement | Units | Typical range | What it tells you |
|---|---|---|---|
| Module temperature | °C | 0–70 (commercial), −40 to +85 (industrial) | Whether the laser is operating in its spec'd temperature range |
| Supply voltage | V | 3.13–3.46 (nominal 3.3V) | Whether the host is delivering clean power |
| Laser bias current | mA | varies by laser type | The current the laser needs to maintain Tx power; rises as the laser ages |
| Tx optical power | dBm | varies by module type | The actual launch power into the fiber |
| Rx optical power | dBm | varies by module type | The actual received power at this module |
All five have alarm and warning thresholds programmed into the EEPROM. Hitting an alarm threshold typically triggers a syslog/SNMP trap on the switch.
Healthy operating ranges by module type
These are the typical "happy zone" Tx and Rx power ranges. Outside this range, the module is either over-driving the link (potential receiver saturation) or under-driving it (low margin, prone to errors).
| Module | Tx power | Rx sensitivity | Healthy Rx range |
|---|---|---|---|
| 1000BASE-SX | −9.5 to −4 dBm | −17 dBm | −5 to −14 dBm |
| 1000BASE-LX | −9.5 to −3 dBm | −19 dBm | −5 to −17 dBm |
| 10GBASE-SR | −7.3 to −1 dBm | −11.1 dBm | −3 to −9 dBm |
| 10GBASE-LR | −8.2 to +0.5 dBm | −14.4 dBm | −2 to −12 dBm |
| 10GBASE-ER | −4.7 to +4 dBm | −15.8 dBm | −3 to −14 dBm |
| 10GBASE-ZR | 0 to +5 dBm | −24 dBm | −8 to −22 dBm |
| 25GBASE-SR | −7.5 to +2.4 dBm | −10.3 dBm | −3 to −9 dBm |
| 25GBASE-LR | −7 to +2 dBm | −12.6 dBm | −3 to −11 dBm |
| 40GBASE-SR4 (per lane) | −7.5 to +2.4 dBm | −9.5 dBm | −3 to −8 dBm |
| 40GBASE-LR4 (per lane) | −7 to +2.3 dBm | −13.7 dBm | −3 to −12 dBm |
| 100GBASE-SR4 (per lane) | −8.4 to +2.4 dBm | −8.4 dBm | −3 to −7 dBm |
| 100GBASE-LR4 (per lane) | −4.3 to +4.5 dBm | −8.6 dBm | −3 to −7 dBm |
| 100GBASE-ER4 (per lane) | −2.9 to +4.5 dBm | −20.9 dBm | −3 to −18 dBm |
| 400GBASE-DR4 (per lane) | −3.3 to +4 dBm | −4.7 dBm | −1 to −4 dBm |
| 400GBASE-FR4 (per lane) | −3.5 to +3.5 dBm | −7.3 dBm | −2 to −6 dBm |
| 400GBASE-LR4 (per lane) | −2 to +4 dBm | −8.6 dBm | −2 to −7 dBm |
dBm is logarithmic
A negative dBm number is a fraction of a milliwatt. −3 dBm is half a milliwatt; −10 dBm is a tenth. Lower (more negative) means less light.Reading DDM from the CLI
Cisco IOS-XE
Switch# show interface tengigabitEthernet 1/0/49 transceiver detail
Optical Lane Tx Power:
Lane 1: -2.8 dBm
Optical Lane Rx Power:
Lane 1: -4.9 dBm
Module Temperature: 41.2 C
Tx Bias Current:
Lane 1: 35.4 mA
Supply Voltage: 3.297 VCisco NX-OS
N9K# show interface ethernet 1/1 transceiver detail
Ethernet1/1
transceiver is present
type is QSFP-100G-LR4
name is CISCO-NETAPI
part number is QSFP-100G-LR4-S
revision is V03
DOM is supported
Temperature : 47.31 C
Voltage : 3.30 V
Current : 53.99 mA Lane 1, 54.20 mA Lane 2, ...
Tx Power : -2.41 dBm Lane 1, -2.55 dBm Lane 2, ...
Rx Power : -4.18 dBm Lane 1, -3.97 dBm Lane 2, ...Juniper Junos
> show interfaces diagnostics optics et-0/0/0
Physical interface: et-0/0/0
Laser bias current : 38.234 mA
Laser output power : -2.06 dBm
Module temperature : 42 degrees C
Module voltage : 3.2980 V
Receiver signal average optical power: -4.84 dBmArista EOS
arista# show interfaces ethernet 1 transceiver dom
Et1
Temperature: 39.74 °C
Voltage: 3.286 V
Tx Bias Current: 7.43 mA
Tx Power: -2.85 dBm
Rx Power: -5.12 dBmNVIDIA / Mellanox / Cumulus
switch# show interface swp1 transceiver
swp1: present
...
temperature: 42.5 C
voltage: 3.298 V
rx_power: -5.43 dBm
tx_power: -2.34 dBm
tx_bias_current: 35.6 mASNMP polling
For continuous monitoring, poll DDM via SNMP and feed it into your NMS (LibreNMS, PRTG, Datadog, Observium, etc.).
Vendor-specific MIBs with per-module DDM
| Vendor | MIB | Key OID |
|---|---|---|
| Cisco IOS-XE | CISCO-ENTITY-SENSOR-MIB | 1.3.6.1.4.1.9.9.91.1.1.1.1.4 (entSensorValue) |
| Cisco NX-OS | CISCO-TRANSCEIVER-MIB | 1.3.6.1.4.1.9.9.661.1.1.1.1.1 |
| Juniper | JUNIPER-DOM-MIB | 1.3.6.1.4.1.2636.3.60.1.1 |
| Arista | ARISTA-ENTITY-SENSOR-MIB | 1.3.6.1.4.1.30065.3.12 |
Recommended poll cadence
- Module temperature, voltage: every 5 minutes
- Tx/Rx power: every 5–15 minutes
- Laser bias: every 15 minutes (low rate of change)
Alert thresholds
The thresholds programmed into the EEPROM follow the MSA-defined alarm and warning levels.
| Condition | Severity | Action |
|---|---|---|
| Rx power < (sensitivity + 1 dB) | Warning | Investigate within a business day |
| Rx power < sensitivity | Alarm | Page on-call; link is at risk |
| Tx power > Tx-max | Alarm | Module failure; replace |
| Tx power < (Tx-min + 1 dB) | Warning | Laser aging; plan replacement |
| Bias current > 1.3× baseline | Warning | Laser aging; plan replacement |
| Temperature > 70°C (commercial) | Alarm | Check chassis airflow |
| Temperature > 75°C (industrial) | Alarm | Environmental issue |
Drift over time, what to watch for
Capture a baseline at install. Re-measure quarterly. Trends to watch:
Laser aging
- Tx power slowly drops (−0.5 to −1 dB per year is normal)
- Laser bias current slowly rises (+10% per year is normal)
- When Tx power approaches the Tx-min threshold or bias exceeds 1.3× baseline, plan replacement
Fiber contamination or degradation
- Rx power drops without a corresponding Tx drop at the far end
- Symptoms develop over days/weeks (vs. laser aging which is months/years)
- Inspect and clean the connectors; if that doesn't fix it, the fiber itself may be the issue
Environmental
- Temperature rises seasonally or in line with chassis temperature trends
- Suggests airflow or cooling issues, not a module problem
Real-world example
A customer noticed one of their spine-to-leaf 100G links was trending toward higher Rx errors but still passing traffic. Looking at the DDM history, the Rx power on lane 2 had dropped from −3 dBm at install to −5.5 dBm over six months. They cleaned the patch panel and the Rx came back to −3 dBm. No outage, no user-visible degradation. Catch small, monotonic Rx drops with quarterly reviews and you fix the problem in a maintenance window instead of an outage.