Network Power Management for Windows 7 Bob Combs Lead Program Manager Core Networking bobcombs@microsoft.com Agenda • • • • • • • • Power Management Background Wake on LAN / Wake on Wireless LAN Power Management Offloads Capability Advertisement Wireless Offload Wake Patterns Wake on Media Connect Keywords and Windows Management Instrumentation (WMI) WoL Today • Today Wake on LAN (WoL) • Wake up on magic packet • Wake up on patterns • Off by default • When WoL is enabled, it wakes too often • Wakes due to frequent Address Resolution Protocol (ARP) requests • Wakes due to directed packet From http://www.energystar.gov/ia/partners/prod_development/revisions/downloads/computer/TierII_Network_Issue_Slides.pdf Network Power Management Goals • Sleep when idle, by default • Reduce runtime idle power consumption by reducing power consumed by network devices when idle • • • PC that sleeps for 14 hours a day saves between 598 and 760 kWh/yr (~1/10 automobile) Average savings of $63,500 per year for an organization with 1,000 PCs Environmental impact: saves between 420 kg and 534 kg of carbon dioxide generated with energy production Windows 7 Power Management Features • Power management offloads • Address Resolution Protocol (ARP) • Neighbor Solicitation (NS) • Wake-on-LAN (WoL) • On by default • Revised set of wake pattern bitmaps • Wake patterns include packet types • Wake-on-Wireless LAN (WoWLAN) • Same as WoL plus … • Offload 802.11 Robust Security Network (RSN) rekey • Wake on Media Connect (a.k.a. D3 on Disconnect) Capability Advertisement • Miniport driver reports capabilities to NDIS during initialization • WoL pattern type packets supported • Total number of patterns supported (pattern type & bitmap patterns) • Protocols that can be offloaded to the NIC • Number of ARP supported • Number of NS supported New Power Management OIDs • OID to query the hardware capabilities of the NIC • Returns the supported capabilities of the NIC • OID to query/set the miniport driver capabilities • Query the capabilities of the NIC that are currently enabled • Enable/disable the capabilities of the NIC • OIDs to manage WoL patterns • Add/remove bitmap patterns • List the current set of patterns in the NIC • OIDs to manage protocol offloads (ARP, NS) • Add/remove/list protocol offloads Wake Patterns • Magic packet Same as previous NDIS • Bitmap pattern • Wake Packet Type (new for Windows 7) • Can be used in place of bitmap pattern • NDIS_PM_WOL_PACKET specifies packet type WoL patterns • IPv4 TCP SYN packet • IPv6 TCP SYN packet • 802.1x EAPOL request identity message Address Resolution Protocol Offloads • ARP request processing in the NIC • Takes a Host IPv4 address and a Host MAC address • NIC should support multiple IPv4-MAC address tuples • NS processing in the NIC • Takes a Solicitation IPv6 address, a MAC address, and a list of up to 2 Target IPv6 addresses • Typically need at least two NS sets Wireless Offload • 802.11 RSN rekey processing on NIC • Offload Group Temporal Key (GTK) rekeying (WPA2) while system is asleep • OS initiates offload of Pairwise Master Key (PMK) and Temporal Key (TK) • 802.11 waking • Wake reloads PMK & TK • OS initiates reload • Wake events are the same as wired, plus • Association with current Access Point (AP) is lost • 802.1x EAP request/identity packet received • 4-way handshake request received / TK unicast expires Windows Wake Patterns OFFLOAD SUPPORTED ENTERPRISE HOME ARP & NS OFFLOAD Magic Packet NETBIOS name query TCP SYN v4 TCP SYN v6 LLMNR v6 LLMNR v4 Magic Packet NETBIOS name query TCP SYN v4 TCP SYN v6 LLMNR v6 LLMNR v4 Magic Packet NETBIOS name query TCP SYN v4 TCP SYN v6 LLMNR v6 LLMNR v4 Magic Packet NETBIOS name query TCP SYN v4 TCP SYN v6 NS LLMNR v6 LLMNR v4 Magic Packet NETBIOS name query TCP SYN v4 TCP SYN v6 ARP NS LLMNR v6 LLMNR v4 ARP OFFLOAD only NO OFFLOADs Magic packet TCP SYN v4 TCP SYN v6 Wake on Media Connect • While machine is in system working state (S0) • On LAN cable disconnect • Miniport driver is notified • NIC is placed in device sleep (D3) • On reconnect • NIC asserts WAKE# • NDIS puts the device into working state (D0) • If the system goes to sleep while the cable is disconnected, wake on media connect is canceled Media Disconnect Sequence Media Reconnect Sequence Standard Keywords for Power Management SubkeyName *WakeOnPattern *WakeOnMagicPacket *DeviceSleepOnDisconnect *PMARPOffload *PMNSOffload *PMWiFiRekeyOffload ParamDesc Wake on pattern match Wake on Magic Packet Device sleep on disconnect ARP offload NS offload WiFi rekeying offload Value EnumDesc 0 Disabled 1 (Default) Enabled 0 Disabled 1 (Default) Enabled 0 Disabled 1 (Default) Enabled 0 Disabled 1 (Default) Enabled 0 Disabled 1 (Default) Enabled 0 Disabled 1 (Default) Enabled WMI Interfaces • WMI interfaces to query and set configuration settings • WMI interfaces to query current and hardware capabilities • Diagnostics - nicstats • Display power management capabilities and enable status NDIS 6.20 Power Management Logo Requirements • NDIS 6.20 WoL logo • Support at least 6 WoL patterns • Support at least 8 WoL patterns required by 2010 • Network presence offloads • Support ARP and NS optionally • ARP and NS offloads required by 2010 Call to Action • Update hardware and drivers to NDIS 6.20 to take advantage of new Windows 7 functionality • Provide support for at least 8 wake patterns • Implement ARP and NS power management offloads on NIC • Support new packet type patterns • Implement 802.11 RSN Rekey offload for wireless NICs Resources • Windows 7 WDK will be available as of WinHEC • Windows Logo Program Web site: http://www.microsoft.com/whdc/winlogo/default.mspx • NDIS 6 Feedback alias: ndis6fb@microsoft.com Related Sessions Session Day / Time NDIS 6.20 Overview Mon. 9:45-10:45 and Tues. 9:45-10:45 Windows Logo Program Tests for NDIS Mon. 11-12 and Wed. 9:45-10:45 Discussion: Porting Drivers to NDIS 6.20 Wed. 8:30-9:30 Lab: How to Debug an NDIS 6.20 Driver Mon. 2:45-3:45 and Wed. 9:45-10:45 Mobile Broadband Driver Development for Windows 7 Mon. 1:30-2:30 Virtual Machine Queue Architecture Review Tues. 2:45-3:45 Virtual Machine Queue Driver Development Tues. 4-5 Developing TCP Chimney Drivers for Windows 7 Tues. 11-12 Questions?
© Copyright 2024