Disabling NDIS 5 Task Offload from a NDIS 5 Intermediate Driver

Microsoft Guidance

If a NDIS 5 IM driver performs any modifications on the data that it passes through, it should fail a query for OID_TCP_TASK_OFFLOAD instead of passing it through to the miniport below. This is to avoid problems with incorrect sequence of operations performed on data.

This guidance is expressed in the Windows WDK PassThru NDIS IM sample as a comment in the MPQueryInformation handler in miniport.c:

NOTE on OID_TCP_TASK_OFFLOAD - if this IM driver modifies the contents of data it passes through such that a lower miniport may not be able to perform TCP task offload, then it should not forward this OID down, but fail it here with the status NDIS_STATUS_NOT_SUPPORTED. This is to avoid performing incorrect transformations on data.

 

Other Approaches

If you carefully study the NDIS 5 specification you may be able to adapt your driver's implementation so that it can coexist with certain task offload functionality. Generally this would be preferred if possible.

 

Topic Status

September 16, 2009 Reviewed. This is specific to NDIS 5 IM filter drivers.
January 2, 2003 Reviewed (shortened) and moved to NDIS.com.
May 29, 2001 Added suggestion from Microsoft.
May 28, 2001 Information posted.
 

PCAUSA Home · Privacy Statement · Products · Ordering · Support · Utilities · Resources
Mailing Lists  · PCAUSA Newsletter · PCAUSA Discussion List
Rawether for Windows, Rawether .NET, WinDis 32 and NDIS Press are trademarks of Printing Communications Assoc., Inc. (PCAUSA)
Microsoft, MS, Windows, Windows Vista, Windows 95, Windows 98, Windows Millennium, Windows 2000, and Win32 are registered trademarks and Visual C++ and Windows NT are trademarks of the Microsoft Corporation.
Copyright © 1996-2010 Printing Communications Assoc., Inc. (PCAUSA)
Last modified: January 17, 2010