Skip to content

Latest commit

 

History

History
136 lines (99 loc) · 9.05 KB

File metadata and controls

136 lines (99 loc) · 9.05 KB

Intel AVB Filter Driver - TODO

Last Updated: March 2026 (build 345, driver v1.0.193.x, 2026-03-29)

🟢 Current Phase: Post-Validation — Filling Remaining Gaps

I226-LM hardware validation is substantially complete. The CI runner has 6×Intel I226-LM adapters. The hardware-dependent suite (HardwareUnit + HardwareIntegration) covers 60+ tests. Remaining work is targeted gap-filling, CI hardening, and production sign-off.


🔴 Active Failures to Fix

#269 — ETW Event Log (10P / 1F)

  • Problem: Driver does not emit Event ID 1 to Windows Event Log on initialization; ETW manifest not installed/registered.
  • Action: Register ETW manifest at driver load; add mc.exe-generated header to driver build; add EventWrite call in DriverEntry; re-verify TC-ETW-001.
  • Issue: #269

#271 — S3 Sleep/Wake PHC Preservation (TC-S3-002: unconfirmed)

  • Problem: Test triggered real S3 sleep during run; wake-up PHC preservation result unconfirmed. FilterRestart S3 PHC fix is coded (AvbBringUpHardware called to re-program TIMINCA/SYSTIML/TSAUXC/TSYNCRXCTL) but not yet verified on a controlled S3 cycle.
  • Action: Re-run on a dedicated machine with WoL configured and a serial console for post-wake log capture.
  • Issue: #271

🟡 Tests Exist — Incomplete Coverage (Cat. 3)

These tests pass what they cover but do not yet exercise all acceptance criteria.

Issue Gap Action
#199 TX/RX PHC correlation — all 17 tests (UT-CORR-001..010, VV-CORR-001..003, IT-CORR-001..004) not automated DONE 2026-03-29 — All tracks complete: UT-CORR-001..009 PASS; VV-CORR-001 PASS 86400s (mean=0.0 ns, log test_vv_corr_001_stability_20260328_195650); VV-CORR-003 PASS 42/42; UT-CORR-004/010 + VV-CORR-002 hw-gated SKIP. #317 CLOSED.
#204 Target Time Interrupt: UT-TARGET-004 (past-time detection) not covered by any test DONE 2026-03-29 — TC-TARGET-005/006/007 all PASS; 15P/0F/1S — driver guard 2ad239e in IOCTL_AVB_SET_TARGET_TIME rejects target_time < current_systim with STATUS_INVALID_PARAMETER (Win32 error 87). Log: test_ioctl_target_time.exe_20260329_*.log.
#209 Launch Time Offload — IOCTL_AVB_SET_LAUNCH_TIME / TQAVLAUNCHTIME for per-packet TX scheduling (IEEE 802.1Qbv): UT-LAUNCH-001..010, IT-LAUNCH-001..003, VV-LAUNCH-001..002 — no test or driver API exists ⚠️ RE-OPENED 2026-03-30 — Attribution error: close on 2026-03-29 was wrong; 2ad239e + TC-TARGET-005 belong to #204. This is a separate, unimplemented feature. Backlog.
#222 Packet-capture path and ETW decode assertions not automated Extend diagnostic test suite
#234 AVTP diagnostic counter: seq-gap/late-ts threshold trigger and event payload assertions DONE 2026-03-29 � UT-011..015 added to test_avtp_tu_bit_events.c; 20/20 PASS
#238 ±100 ns accuracy assertion across PHC-QPC pair not automated DONE 2026-03-29 — TC-5a/TC-5b added to ptp_clock_control_test.c; 12/12 PASS
#247 DebugLevel runtime persistence across driver reload not verified DONE 2026-03-29 � TC-DEBUG-REG-005/006 added to test_registry_diagnostics.c; 9/9 PASS (REG-005 SKIP needs debug driver; REG-006 deferred during VV-CORR-001)
#250 HIL integration — no formal pass/fail traceability report generated in CI Add CI step to emit structured report
#260 I225-V device ID (VEN_8086:DEV_15F2) detection test missing DONE 2026-03-29 � TC-DEV-I225-001 added to test_multidev_adapter_enum.c; 6/6 PASS (SKIP counted as PASS � no I225 HW on CI runner)
#288 PCI read latency <100 µs assertion DONE 2026-03-29 — TC-PCI-LAT-001/002/003 added to test_hw_state.c; 12/12 PASS (P99<250µs, outlier<15ms; thresholds empirically justified from 5 runs w/ Release + Debug drivers)

🔵 Hardware-Gated — Waiting for Physical Equipment

These tests have written code but need specific hardware to run the critical test cases.

Issue Equipment Needed Blocked Test Cases
#177 GPIO oscilloscope TC-PTP-LAT-001 (event latency <500 ns end-to-end)
#179 4-channel oscilloscope (e.g. MDO3000) TC-LAT4-001/003/004 (per-channel jitter measurement)
#176 ATDECC controller + AVB stream source TC-AEN-001/003/004 (entity announcement over wire)
#261 Intel I219 adapter Full avb_test_i219.exe suite
#260 Intel I225 adapter DEV_15F2 detection + I225-specific timing

🔧 CI / Infrastructure Gaps

From TEST-PLAN-NDIS-LWF-COVERAGE (Pillar 1 — Static Analysis):

  • Enable MSVC /analyze (PREfast) in CI — ✅ DONE (static-analysis-prefast job in ci-standards-compliance.yml; continue-on-error: true phase-in until baseline = 0)
  • Run SDV and commit DVL artifact — test-evidence/dvl-*.xml required before each release
  • Wire CodeQL for main driver source — ✅ DONE (codeql-driver.yml uses microsoft/windows-driver-developer-supplemental-tools)
  • Commit SDV results to test-evidence/sdv-results-*.xml
  • Remove continue-on-error: true from PREfast job once C6xxx baseline reaches zero

From TEST-PLAN-NDIS-LWF-COVERAGE (Pillar 2 — Lifecycle Coverage):

  • Add missing statistics counters to AVB_DRIVER_STATISTICS struct — ✅ DONE (all 7 fields: FilterAttach/Pause/Restart/Detach, OutstandingSend/ReceiveNBLs, PauseRestartGeneration)
  • Write lifecycle smoke test — ✅ DONE (test_lifecycle_coverage.exe built; added to HardwareUnitTests suite in Run-Tests-CI.ps1 2026-03-29)

📋 Scheduled — No Test Yet Written (Cat. 4)

Priority P2 (Sprint 5)

Issue Feature Notes
#257 Windows 10 compatibility (1809 / 21H2 / 22H2) Driver install + smoke test on three OS variants
#259 Windows Server 2016 / 2019 / 2022 Server Core validation included

Priority P3 (Future Sprints)

Issue Feature Notes
#229 7-day continuous stability Long-running monitor; memory and handle leak tracking
#232 Full performance benchmark suite Latency + throughput + CPU% + memory footprint harness
#242 NDIS filter coexistence Multi-filter stack; AVB filter active and non-conflicting
#245 Event latency <10 µs (NF) GPIO + oscilloscope required
#246 WDF/KMDF compat on Win10 1809 / 22H2 / Win11 Version query + API check

🚀 Production Hardening

  • WHQL / EV code-signing for production release (test-signed only today)
  • INF + CAT package for GitHub Release v0.1
  • Resolve #269 (ETW manifest) — blocks Event Viewer integration for end users
  • Stress test sign-off (#229) — prerequisite for "stable" release tag

⛔ Explicitly NOT Planned

Simulation / Fake Modes

  • Will NOT add hardware simulation, fake timestamps, or stub implementations
  • Reason: No false advertising — production code paths use real hardware only

Legacy Controller Support

  • Will NOT support Intel 82574L (lacks AVB/TSN hardware features)
  • Will NOT support non-Intel Ethernet controllers

Out-of-Scope Protocol Stacks

  • Will NOT implement LACP (802.1AX) — #221
  • Will NOT implement TSO/RSS/LSO/checksum offload — #220 (miniport features, not LWF)
  • Will NOT implement AVTP framing (IEEE 1722) — LWF operates at control-plane only

Alternative Architectures

  • Will NOT implement as standalone miniport driver
  • Will NOT implement as user-mode library
  • Reason: NDIS 6.30 lightweight filter is the correct architecture for this use case