// netreceivescaling.h
EVT_NET_ADAPTER_RECEIVE_SCALING_DISABLE EvtNetAdapterReceiveScalingDisable;
void EvtNetAdapterReceiveScalingDisable(
[_In_] NETADAPTER Adapter
)
{...}
View the official Windows Driver Kit DDI referenceNo description available.
The EvtNetAdapterReceiveScalingDisable callback function is implemented by the client driver to disable receive side scaling (RSS) for a network interface controller (NIC).
Adapter [_In_]The NETADAPTER object the client driver obtained in a previous call to NetAdapterCreate.
//Declaration
EVT_NET_ADAPTER_RECEIVE_SCALING_DISABLE EvtNetAdapterReceiveScalingDisable;
// Definition
VOID EvtNetAdapterReceiveScalingDisable
(
_In_ NETADAPTER Adapter
)
{...}
typedef EVT_NET_ADAPTER_RECEIVE_SCALING_DISABLE *PFN_NET_ADAPTER_RECEIVE_SCALING_DISABLE;
Register your implementation of this callback function by setting the appropriate member of the NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES structure and then calling NetAdapterSetReceiveScalingCapabilities.Client drivers typically call NetAdapterSetReceiveScalingCapabilities when starting a net adapter, before calling NetAdapterStart.
In this callback, client drivers disable RSS on the NIC.
[!IMPORTANT] Client drivers should not clear or reset their indirection table from their EvtNetAdapterReceiveScalingDisable callback. The framework will set the driver's initial indirection table state.
VOID
MyEvtNetAdapterReceiveScalingDisable(
_In_ NETADAPTER Adapter
)
{
if(!MyHardwareRssSetControl(MY_RSS_MULTI_CPU_DISABLE))
{
WdfDeviceSetFailed(Adapter->WdfDevice, WdfDeviceFailedAttemptRestart);
}
}
EvtNetAdapterReceiveScalingEnable
NetAdapterCx Receive Side Scaling