// netreceivescaling.h
typedef struct _NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES {
ULONG Size;
SIZE_T NumberOfQueues;
SIZE_T IndirectionTableSize;
SIZE_T UnhashedTargetIndex;
NET_ADAPTER_RECEIVE_SCALING_UNHASHED_TARGET_TYPE UnhashedTargetType;
NET_ADAPTER_RECEIVE_SCALING_HASH_TYPE ReceiveScalingHashTypes;
NET_ADAPTER_RECEIVE_SCALING_PROTOCOL_TYPE ReceiveScalingProtocolTypes;
struct {
NET_ADAPTER_RECEIVE_SCALING_ENCAPSULATION_TYPE Outer;
NET_ADAPTER_RECEIVE_SCALING_ENCAPSULATION_TYPE Inner;
} ReceiveScalingEncapsulationTypes;
_RECEIEVE_SCALING_ENCAPSULATION _RECEIEVE_SCALING_ENCAPSULATION;
BOOLEAN SynchronizeSetIndirectionEntries;
PFN_NET_ADAPTER_RECEIVE_SCALING_ENABLE EvtAdapterReceiveScalingEnable;
PFN_NET_ADAPTER_RECEIVE_SCALING_DISABLE EvtAdapterReceiveScalingDisable;
PFN_NET_ADAPTER_RECEIVE_SCALING_SET_HASH_SECRET_KEY EvtAdapterReceiveScalingSetHashSecretKey;
PFN_NET_ADAPTER_RECEIVE_SCALING_SET_INDIRECTION_ENTRIES EvtAdapterReceiveScalingSetIndirectionEntries;
} NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES;
View the official Windows Driver Kit DDI referenceNo description available.
The NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES structure describes a net adapter's receive side scaling (RSS) capabilities.
SizeThe size of this structure, in bytes.
NumberOfQueuesThe number of hardware receive queues. This member must be a power of 2.
IndirectionTableSizeThe number of indirection table entries. This member must be a minimum of 128 and a power of 2.
UnhashedTargetIndexThe default destination for frames to which no hash is applied. The value of this member depends on the value of the UnhashedTargetType member:
This member must be N, where 0 <= N < IndirectionTableSize.
UnhashedTargetTypeA NET_ADAPTER_RECEIVE_SCALING_UNHASHED_TARGET_TYPE value that indicates the type of handling for unhashed frames.
If this member is set to NetAdapterReceiveScalingUnhashedTargetTypeUnspecified, then UnhashedTargetIndex is ignored and defaults to 0.
If this member is set to NetAdapterReceiveScalingUnhashedTargetTypeHashIndex, then UnhashedTargetIndex indicates the target hash value.
ReceiveScalingHashTypesA NET_ADAPTER_RECEIVE_SCALING_HASH_TYPE value that indicates supported hash function types for calculating hash values.
ReceiveScalingProtocolTypesA NET_ADAPTER_RECEIVE_SCALING_PROTOCOL_TYPE value that indicates the supported protocol types for calculating hash values.
_RECEIEVE_SCALING_ENCAPSULATIONThe tag identifier for ReceiveScalingEncapsulationTypes.
ReceiveScalingEncapsulationTypesIndicates which encapsulation technologies the hardware is capable of bypassing.
ReceiveScalingEncapsulationTypes.OuterA bitwise OR of NET_ADAPTER_RECEIVE_SCALING_ENCAPSULATION_TYPE values that indicates the transport (outer) encapsulation types that the NIC is capable of bypassing.
ReceiveScalingEncapsulationTypes.InnerA bitwise OR of NET_ADAPTER_RECEIVE_SCALING_ENCAPSULATION_TYPE values that indicates the tunnel (inner) encapsulation types that the NIC is capable of bypassing.
SynchronizeSetIndirectionEntriesA boolean value that, when set to TRUE, requests that the framework synchronize calls to EvtNetAdapterReceiveScalingSetIndirectionEntries. This member is set to FALSE by default if the client driver does not specify it.
EvtAdapterReceiveScalingEnableA pointer to the client driver's EvtNetAdapterReceiveScalingEnable event callback function.
EvtAdapterReceiveScalingDisableA pointer to the client driver's EvtNetAdapterReceiveScalingDisable event callback function.
EvtAdapterReceiveScalingSetHashSecretKeyA pointer to the client driver's EvtNetAdapterReceiveScalingSetHashSecretKey event callback function.
EvtAdapterReceiveScalingSetIndirectionEntriesA pointer to the client driver's EvtNetAdapterReceiveScalingSetIndirectionEntries event callback function.
Call NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES_INIT to initialize this structure.
The NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES structure is an input parameter to NetAdapterSetReceiveScalingCapabilities. The client must use NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES_INIT to initialize this structure before calling NetAdapterSetReceiveScalingCapabilities.
NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES_INIT
NetAdapterSetReceiveScalingCapabilities
NetAdapterCx Receive Side Scaling