1.6 KiB
1.6 KiB
NICs
The NIC decides two things: whether the host can reach module-PHY diagnostics at all, and whether the measurement path gets the hardware timestamps it requires. Per-device directories hold the details.
The transport rule
A NIC is usable for module diagnostics only if the host can master the module I2C bus with arbitrary multi-byte framing and writes. Firmware-mediated I2C imposes limits that break the module command protocols.
Comparison
Which card is where: ../state.md.
| NIC (driver) | Module I2C | All-packet RX hw stamps | Verdict |
|---|---|---|---|
| X520 / 82599 (ixgbe) | Host bit-bangs — full control, proven | No (PTP-only, serial latch) | Diagnostics transport only — no all-packet exact stamps, so disqualified as product NIC (§2) |
| ConnectX-4/5 (mlx5) | Firmware MCIA; writes allowed; framing open | Yes (CQE-stamps everything) | The product candidate — the only card meeting the full requirement set |
| X710 (i40e) | 1-byte-offset only | No | RollBall oracle path; PTP length-experiment platform |
| E810 (ice) | Multi-byte framing, writes EPERM-blocked | Yes | Dead for diagnostics writes |
| WX1820 (txgbe) | Kernel /dev/i2c-N — ideal |
No (PTP-only) | Disqualified |
Requirement weights behind the verdicts: all-packet hardware RX timestamps are non-negotiable (software stamping was tried, not precise enough), raw-L2 steering is not (encap acceptable) — ../open-questions.md §1–2, §6.