Reference

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:

MeasurementUnitsTypical rangeWhat it tells you
Module temperature°C0–70 (commercial), −40 to +85 (industrial)Whether the laser is operating in its spec'd temperature range
Supply voltageV3.13–3.46 (nominal 3.3V)Whether the host is delivering clean power
Laser bias currentmAvaries by laser typeThe current the laser needs to maintain Tx power; rises as the laser ages
Tx optical powerdBmvaries by module typeThe actual launch power into the fiber
Rx optical powerdBmvaries by module typeThe 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).

ModuleTx powerRx sensitivityHealthy 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-ZR0 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 V

Cisco 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 dBm

Arista 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 dBm

NVIDIA / 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 mA

SNMP 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

VendorMIBKey OID
Cisco IOS-XECISCO-ENTITY-SENSOR-MIB1.3.6.1.4.1.9.9.91.1.1.1.1.4 (entSensorValue)
Cisco NX-OSCISCO-TRANSCEIVER-MIB1.3.6.1.4.1.9.9.661.1.1.1.1.1
JuniperJUNIPER-DOM-MIB1.3.6.1.4.1.2636.3.60.1.1
AristaARISTA-ENTITY-SENSOR-MIB1.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.

ConditionSeverityAction
Rx power < (sensitivity + 1 dB)WarningInvestigate within a business day
Rx power < sensitivityAlarmPage on-call; link is at risk
Tx power > Tx-maxAlarmModule failure; replace
Tx power < (Tx-min + 1 dB)WarningLaser aging; plan replacement
Bias current > 1.3× baselineWarningLaser aging; plan replacement
Temperature > 70°C (commercial)AlarmCheck chassis airflow
Temperature > 75°C (industrial)AlarmEnvironmental 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.