aboutsummaryrefslogtreecommitdiff
path: root/source/API/SBThreadPlan.cpp
diff options
context:
space:
mode:
authorKevin Bowling <kbowling@FreeBSD.org>2026-08-10 16:01:13 +0000
committerKevin Bowling <kbowling@FreeBSD.org>2026-09-04 07:27:14 +0000
commitc004384343bece0b984cfe3520ec077ef2483e1f (patch)
treeb009592fe39722128a2ddbe61fbed1f151f6295f /source/API/SBThreadPlan.cpp
parent5d3e31df7c4fc0e53168bac717bed5f94dab7068 (diff)
ixgbe: Correct Wake-on-LAN configuration
Wake-on-LAN capability was inferred from NVM bits on every MAC even though 82599 support is board and sometimes port specific. Private sysctls formed a second policy interface, and the driver neither coordinated the controller wake source with PCI PME nor reliably rebuilt address filters erased by the stop-time reset. Use the standard ifconfig wake capabilities. Derive support from the 82599 board and port matrix or the X540-and-newer NVM capability. Require D3hot PME support, and use the NVM APME bit only to select the initial magic-packet policy after initializing the LAN function number. Snapshot requested filters before the terminal stop so shared reset and PHY code sees the active wake policy. After reset, restore RAR0, the multicast table, receive filtering, and the optical laser before arming WUFC, WUC, and PCI PME. Remove device wake sources before clearing PCI PME on detach, resume, and when wake is disabled. Clear autonomous APM so ifconfig remains authoritative. Treat X550EM low-power-link-up failure as best effort and allow shutdown to continue after a wake-programming error. The 82599, X540, X550, and E610 datasheets document the standard ACPI wake filters used here; the E610 ACPI path includes magic-packet wake. Validated on a dual-port E610. Both ports completed three direct-D3 cycles covering wake disabled and magic-packet wake armed. A system S3 cycle woke through ix0 with WUS 0x00000002 (magic packet). Link and traffic recovered after each transition. Note that many add-in cards in this family do not support WoL; LOM and OCP cards are more likely. The E610 as tested does. MFC after: 2 weeks Sponsored by: Dirk-Willem van Gulik from Web Weaving (E610 hardware) Sponsored by: BBOX.io
Diffstat (limited to 'source/API/SBThreadPlan.cpp')
0 files changed, 0 insertions, 0 deletions