windows logo program tests for ndis 6.20 eric li test lead networking ecosystem team...
TRANSCRIPT
Windows Logo Program Tests for NDIS 6.20
Eric LiTest LeadNetworking Ecosystem [email protected]
Michael NanakulTest LeadNetworking Ecosystem [email protected]
Agenda
• Updates to existing tests
• New tests introduced
• Importance of early testing
• Tips & Tricks for using NDISTest
• Q&A
Updates to Existing Tests
• Receive Side Scaling/NetDMA• Support for more than 64 processors
• Wake-on-LAN Pattern• Multi-Path Exerciser
Receive-Side Scaling/NetDMA
• NDIS 6.20 now includes RSS revision 2• Revision 2 is required for NDIS 6.20 miniports
• Logo tests have been updated to use revision 2 on NDIS 6.20 miniports and fall back to revision 1 for earlier versions of NDIS
• Similar change were made to NetDMA tests with the new DDI to support more than 64 processors
Wake-On-LAN Pattern
• We test the following patterns for Windows 7 Logo• TCP SYN packet (IPv4/IPv6)• LLMNR v4/v6• NetBios name query• Random data, 128-byte size• Random data, random size
Multi-Path Exerciser (MPE)
• Designed to test the miniport driver reliability by stressing multiple control paths
• MPE spawns multiple threads for executing various tests• Send-Receive, Checksum Offload, Query OID, Disable/Enable,
Large-Send Offload, Standby/Resume, etc.
• The sequence and types of tests run by MPE is configurable and extensible.
• Triaging failures• Review HTML log files first• Reference event tracing for Windows (ETW) log files (using
ETWLogReport utility) for further details
New Ethernet Tests
• Receive-Side Throttling (RST)• Wake on Media Connect• Low Power Offloads• Virtual Machine Queues (VMQ)
Receive-Side Throttling
• What is RST?• Logo requirements
• NDIS 6.20 miniport drivers support RST
• How RST logo tests work• Uses Event Tracing for Windows (ETW)
• Pass/Fail criteria• Number of packets indicated per DPC
Wake on Media Connect
• What is Wake on Media Connect?• Logo requirements
• Wake on Media Connect is optional
• How the Wake on Media Connect tests work• Uses new NDISTest model-based framework
• Available hot parameters• Timer duration
• Pass/Fail Criteria• Connecting media triggers a device wake-up
Low Power Protocol Offloads
• What are Low Power Protocol Offloads?• Logo Requirements
• Support for this feature is optional
• How the tests work• Test execution flow• Logic exists on the support machine
• Pass/Fail Criteria• The hardware must respond while in low power when enabled
by the OS• The responses must adhere to protocol standards
Virtual Machine Queue
• What is VMQ?• VMQ support is optional
• Logo requirements if supported• Support at least 4 queues with filters
• Support at least 16 queues with filters by 2010• MSI-X support is mandatory• MAC address filtering must be supported in hardware• Per-queue receive indication must be supported• Look-ahead split support is optional
• Will be mandatory in 2010• If present, must support MaxLookAheadSplitSize >= 14 and
MinLookAheadSplitSize <= 128
• How VMQ logo tests work• VMQ test protocol header
Virtual Machine Queues Continued
• Multiple test scripts• OID handling• Send/receive functionality (MAC & VLAN filtering)• Lookahead split/shared memory• Scalability
• Pass/Fail Criteria• Behave according to the WDK documentation• Perfect classification for unicast packets• Packets indicated on the correct processor• Proper lookahead split and shared memory usage
Importance of Early Testing
• Use NDISTest to verify the functionality of hardware and software• Avoid costly re-spin of silicon • Catch driver problems earlier in the development cycle
• Leverage the Logo preview releases to get familiar with the new and updated tests
• Get it “Logo ready” to avoid ship-stopping situations
Run NDISTest Standalone
• Less complex than using Device Test Manager• Most tests run on a single machine
• Exception: Wake-On-LAN, Low Power Protocol Offload
• How-to:• Copy the whole directory from below:
• NDISTest 6.5• \\<dtm contoller>\tests\<arch>\nttest\nettest\ndis\ndistest.net
• NDISTest 6.0• \\<dtm contoller>\tests\<arch>\nttest\nettest\ndis\ndistest
• Run the NDISTest executable • Note: NDISTest installs and configures kernel-mode drivers and
must be run with administrative privileges
Demo: NDISTest Advanced Options
Call to Action
• Consider logo requirements when designing your hardware and device driver
• Test early in your development cycle• Leverage NDISTest
• Attend other NDIS talks during DDC
Resources
• NDISTest Feedback alias: [email protected]• NDIS 6 Feedback alias: [email protected]• Windows Logo Program
• Feedback alias: [email protected] • Website: http://www.microsoft.com/whdc/winlogo/default.mspx
Q & A
Appendix
Tips & Tricks for Using NDISTest
• NDISTest advanced options• Enable more verbose logging and breakpoints
• Hot Parameters• Change test behavior
NDISTest Advanced Options
• Why this is beneficial• Available in the ViewOptions menu• Settings for controlling multiple aspects of NDISTest
• General settings• Protocol options• Test configuration (WLAN, WWAN)• Logging options• Multipath Exerciser (MPE) options• Switch Management
NDISTest Advanced Options: General
NDISTest Advanced Options: Protocol
NDISTest Advanced Options: Test Log
NDISTest Hot Parameters