1 / 18

NDIS 6.20 Overview

NDIS 6.20 Overview. Bob Combs Lead Program Manager Core Networking bobcombs@microsoft.com. Narsi Nagampalli Lead Software Development Engineer Core Networking nrao@microsoft.com. Agenda. NDIS Version History Features added for NDIS 6.1 over 6.0 Features of 6.20

wakanda
Download Presentation

NDIS 6.20 Overview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. NDIS 6.20 Overview Bob Combs Lead Program Manager Core Networking bobcombs@microsoft.com Narsi Nagampalli • Lead Software Development Engineer • Core Networking nrao@microsoft.com

  2. Agenda • NDIS Version History • Features added for NDIS 6.1 over 6.0 • Features of 6.20 • Porting guidelines to NDIS 6.20 • Miniport drivers • Protocol drivers • Q&A

  3. NDIS Version History • Deprecation of NDIS 5.x post Windows 7 • Deprecation of IrDA post Windows 7

  4. Added Features of NDIS 6.1 Over 6.0 • Header-Data split • Cache locality • IPsec Task Offload v2 • Supports IPv6 • Co-exists with LSOv2 • New encryption & authentication algorithms • Direct OID requests • De-serialized OID requests • Can be issued at DISPATCH IRQL • MSI-X dynamic configuration • Used in dynamic RSS configuration • NetDMA V2 • Support for IOATv2 • Support for power management

  5. Features of NDIS 6.20 • Power management enhancements • Virtual machine queue (VMQ) • Support for more than 64 processors • Receive-side throttle (RST) • Media extensibility • Deprecated interfaces

  6. Power Management • Issues with current Wake on LAN (WoL) implementation • Spurious wakes from Address Resolution Protocol (ARP) / Neighbor Solicitation (NS) • Wake patterns not specific enough • Wake on LAN enhancements • Targeted wake patterns; e.g. TCP SYN • Protocol offloads in low power • IPv4 ARP • IPv6 NS • Wake on WLAN enhancements • 802.11 rekey management • Wake on Media Connect • OS puts NIC in D3 when media is disconnected

  7. Hyper-V Network Performance Improvement • Virtual Machine Queues • Classification of received packets based on destination VM • Packets can DMA directly to the guest shared memory • Scaling to multiple processors • Chimney support for child partitions • No driver changes needed

  8. Support for More than 64 Processors • OS has removed limitation of 64 processors (32 in x86 version) • Support for processor groups • Updated NDIS interfaces • Receive-side scaling (RSS) • Processor information DDIs • Resource allocation • Read-write lock

  9. Receive-Side Throttling • Glitch free – Multimedia applications are starved by long DPCs • NDIS 6.20 improves glitch-free implementation • Better network throughput • More efficient algorithm • NDIS 6.20 miniport drivers support RST • NDIS controls the number of packets indicated in a DPC

  10. Media Extensibility • Network layer can be media-agnostic • Reduce complexity for non-802.3 media implementations • Eliminate ARP and DHCP emulation • Raw IP frame support • Generic media type (Raw IP) • Used by WWAN in next release of Windows • New media-specific out-of-band data • Media-specific information tag assigned by Microsoft • Multiple media-specific information tags

  11. Revised Interfaces • NDIS_MAX_PROCESSOR_COUNT /MAXIMUM_PROCESSORS • Use NdisGoupMaxProcessorCount instead • NdisSystemProcessorCount • Use NdisGroupMaxProcessorCount instead • NdisSystemActiveProcessorCount • Use NdisGroupActiveProcessorCount instead • NdisGetProcessorInformation • Use NdisGetProcessorInformationEx instead • NdisMQueueDpc • Use NdisMQueueDpcEx instead • MINIPORT_ISR_HANDLER and MINIPORT_MSI_ISR_HANDLER • TargetProcessors parameter should not be used • MediaSpecificInformation • Use MediaSpecificInformationEx instead • OID_GEN_PHYSICAL_MEDIUM • Use OID_GEN_PHYSICAL_MEDIUM_EX instead

  12. Porting NDIS 6.x Miniport Drivers to NDIS 6.20 • Replace preprocessor definition NDIS61_MINIPORT with NDIS620_MINIPORT • Pass NDIS version 6 as major version and 20 as minor version • Provide a DirectOIDRequest handler • Use the latest version of capability advertisement • Power management • RSS • Hardware assist (VMQ) • Support RST in processing receive interrupts • Don’t use deprecated DDIs • Use >64 processor conformant DDI • Use new NDIS read-write lock DDI when needed

  13. Porting NDIS 6.x Protocol Drivers to NDIS 6.20 • Replace preprocessor definition NDIS61 with NDIS620 • Pass NDIS version 6 as major version and 20 as minor version • Don’t use deprecated DDIs • Use >64 processor conformant DDIs • Use new NDIS Read-Write lock DDI when needed • Use the latest version of interfaces • Power management • RSS • Above mostly applicable to Intermediate (IM) Protocol edge and filter drivers

  14. Call to Action • Update hardware and drivers to NDIS 6.20 to take advantage of Windows 7 functionality • Use Windows 7 for driver and NIC testing

  15. Resources • Windows 7 WDK will be available as of WinHEC • Windows Logo Program: http://www.microsoft.com/whdc/winlogo/default.mspx • NDIS 6 Feedback alias:ndis6fb@microsoft.com

  16. Related Sessions

  17. Questions?

More Related