22 lines
1.6 KiB
Markdown
22 lines
1.6 KiB
Markdown
# 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](../state.md).
|
||
|
||
| NIC (driver) | Module I2C | All-packet RX hw stamps | Verdict |
|
||
|---|---|---|---|
|
||
| [X520 / 82599 (ixgbe)](x520/README.md) | 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)](connectx-5/README.md) | Firmware MCIA; writes allowed; framing open | **Yes** (CQE-stamps everything) | **The product candidate** — the only card meeting the full requirement set |
|
||
| [X710 (i40e)](x710/README.md) | 1-byte-offset only | No | RollBall oracle path; PTP length-experiment platform |
|
||
| [E810 (ice)](e810/README.md) | Multi-byte framing, writes EPERM-blocked | Yes | Dead for diagnostics writes |
|
||
| [WX1820 (txgbe)](wx1820/README.md) | 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](../open-questions.md) §1–2, §6.
|