SMB Bandwidth Limit component breaks Offloaded Data Transfers (ODX) in Windows Server 2012 R2

Applies to: Windows Server 2012 R2 DatacenterWindows Server 2012 R2 EssentialsWindows Server 2012 R2 Foundation

Symptoms


Consider the following scenario:
  • You install the SMB Bandwidth Limit component on a Windows Server 2012 R2-based system. 
  • You perform file-copy operations between systems that are using the SMB2/SMB3 protocol.
  • Before you installed the SMB Bandwidth Limit component, these systems were configured to perform hardware-accelerated Offloaded Data Transfers (ODX) through Offload Reads and Offload Writes.
In this scenario, you discover that these systems have now reverted to performing traditional and slower SMB2/SMB3 reads and writes.

Cause


The driver that implements the SMB Bandwidth Limit feature, SmbBandwidthLimitFilter.sys, does not advertise that it supports Offload Reads and Offload Writes. Therefore, when it is added to the storage stack, ODX is not used.

Resolution


To resolve this issue, add the following entry to the system registry:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\SmbBandwidthLimitFilter\SupportedFeatures = (DWORD) 3
Then, restart the computer.

Note The 3 value in this registry entry indicates support for both SUPPORTED_FS_FEATURES_OFFLOAD_READ and SUPPORTED_FS_FEATURES_OFFLOAD_WRITE functionality.