Files
cabletest/docs/nics

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) The certain diagnostics transport; product-capable only if the bucket exploration validates
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 §12, §6.