10G SFP+ vs 25G SFP28: Migration Planning and Compatibility Matrix

How 10G SFP+ and 25G SFP28 actually differ β€” line rate, FEC, media reach, DAC lengths β€” plus a module-in-port compatibility matrix and the migration patterns (100G ToR breakout, NIC swap, cabling reuse) that work in production.

Short version: same cage, 2.5Γ— the bits

SFP28 kept the SFP+ mechanical footprint on purpose β€” so racks, cages, patch panels, and the muscle memory of every datacenter tech carry over. The change is electrical and optical:

10G SFP+25G SFP28
Line signaling10.3125 GBd NRZ25.78125 GBd NRZ
FECoptional / noneRS-FEC(528,514) mandatory on KR/CR variants
MMF reach (SR)300 m OM3 / 400 m OM470 m OM3 / 100 m OM4
SMF reach (LR)10 km10 km
DAC practical length7 m common3 m typical, 5 m premium
Standard breakout40G QSFP+ β†’ 4Γ—10G100G QSFP28 β†’ 4Γ—25G
Per-bit cost trendmature floornear 10G pricing at volume

The 25G lane rate is not "10G with bigger numbers": at 25.78 GBd, NRZ is close to the practical limit of low-cost CMOS SerDes and channels, which is why FEC stopped being optional.

Compatibility matrix: the part that saves your night

ModuleIn SFP+ portIn SFP28 port
10G SFP+ SR/LRβœ… nativeβœ… trains down to 10G (dual-rate ports)
25G SFP28 SR/LR❌ no 25G PHYβœ… native
10G DACβœ…βœ… (usually, at 10G)
25G DAC (≀3 m)βŒβœ…
1G SFP (via SFP+ slot)platform-dependentplatform-dependent

Three operational rules fall out of that table:

  1. Ports define speed, modules define media. A 25G SFP28 module cannot make a 10G port run at 25G.
  2. SFP+ modules in SFP28 ports are the standard transition tool. It lets you refresh the switch first and the optics later.
  3. FEC settings must match end to end. A 25G link with FEC on one side and off on the other either won't train or will throw CRC errors continuously.

Migration patterns that actually work

Pattern 1: ToR refresh with 100G uplink (most common)

flowchart LR
    S[100G QSFP28 spine port] -- 100G DR/FR --> T[ToR 100G QSFP28 uplink]
    T -- breakout MPO harness --> B[4 x 25G SFP28 SR]
    B --> N[25G server NICs]

One 100G QSFP28 port replaces four 10G uplinks. Server-facing 25G arrives via breakout DACs (in-rack) or SR4/SR breakouts (across rows).

Pattern 2: NIC swap, cabling reuse

Pattern 3: phased dual-rate ports

Many 25G/100G ToR switches run ports as dual-rate (10G/25G). During migration, mixed 10G SFP+ and 25G SFP28 modules coexist on one switch β€” legacy servers stay put while refreshed ones move to 25G.

Where teams get burned

SymptomUsual root causeFix
25G link won't trainFEC mismatch between endsAlign FEC mode (typically enable RS-FEC both sides)
25G link trains, then CRC errors climbDAC too long / marginal channelDAC ≀3 m; switch to AOC or SR optics
10G module "not recognized" in SFP28 portport rate locked / EEPROM codingset port to dual-rate or 10G mode
25G over old OM3 links intermittentreach exceeded (70 m OM3)re-terminate to OM4, move to LR, or stay 10G
Autonegotiation flaps25G AN with CL73+CL92 quirks across vendorspin both ends or follow vendor AN matrix

NIC and server-side notes

Bottom line

Compiled from IEEE 802.3by/802.3ae specifications, SFP+ and SFP28 MSA materials, and field migration practice; original synthesis, no reproduction.

FAQ

Can I plug a 10G SFP+ module into an SFP28 port?
Yes on virtually all platforms β€” SFP28 ports are backward compatible and will train down to 10G with an SFP+ module inserted. Always confirm the switch port is rated for dual-rate operation; a few older or odd firmware builds restrict it.
Can a 25G SFP28 module work in a 10G SFP+ port?
No. The 25G PHY (25.78125 GBd signaling with FEC) is beyond what SFP+ ports support. The link will either not come up or error constantly. Port speed is decided by the switch ASIC, not the module.
Why does my 25G DAC not link beyond 3 meters?
25G NRZ signaling is much less tolerant of insertion loss than 10G. DACs are typically rated to 3 m at 25G (5 m on premium builds). Beyond that, use AOCs or SR transceivers.
Is FEC mandatory at 25G?
For the KR/CR electrical and backplane variants, yes β€” RS-FEC(528,514) is part of the 25G Ethernet standard. A FEC-mode mismatch between two ends (e.g., one side off, one side on) is one of the most common '25G won't link' causes.