EVT_NET_ADAPTER_RECEIVE_SCALING_DISABLE callback function (netreceivescaling.h)

The EvtNetAdapterReceiveScalingDisable callback function is implemented by the client driver to disable receive side scaling (RSS) for a network interface controller (NIC).

Syntax

EVT_NET_ADAPTER_RECEIVE_SCALING_DISABLE EvtNetAdapterReceiveScalingDisable;

void EvtNetAdapterReceiveScalingDisable(
  [_In_] NETADAPTER Adapter
)
{...}

Parameters

[_In_] Adapter

The NETADAPTER object the client driver obtained in a previous call to NetAdapterCreate.

Return value

None

Remarks

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.

Example

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);
	}
}

Requirements

Requirement Value
Target Platform Universal
Minimum KMDF version 1.25
Header netreceivescaling.h (include netadaptercx.h)
IRQL PASSIVE_LEVEL

See also

EvtNetAdapterReceiveScalingEnable

NetAdapterCx Receive Side Scaling