Hi All,
I can’t receive OID_GEN_RECEIVE_SCALE_PARAMETERS in my miniport driver, and I have no idea about this.
In my miniport driver, I do following two things.
- Add *RSS key with enabled value into .inf.
HKR, Ndi\Params*RSS, ParamDesc, 0, %RSS%
HKR, Ndi\Params*RSS, default, 0, “1”
HKR, Ndi\Params*RSS, type, 0, “enum”
HKR, Ndi\Params*RSS\Enum, “0”, 0, %Disabled%
HKR, Ndi\Params*RSS\Enum, “1”, 0, %Enabled%
- I add the parameter attribute RssCap of RSScapability into NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES AdapterGeneral parameter.
NDIS_RECEIVE_SCALE_CAPABILITIES RssCap;
RssCap.Header.Type = NDIS_OBJECT_TYPE_RSS_CAPABILITIES;
RssCap.Header.Size = NDIS_RECEIVE_SCALE_CAPABILITIES_REVISION_2;
RssCap.Header.Revision = NDIS_SIZEOF_RECEIVE_SCALE_CAPABILITIES_REVISION_2;
RssCap.NumberOfIndirectionTableEntries = 64;
RssCap.CapabilitiesFlags = NDIS_RSS_CAPS_CLASSIFICATION_AT_ISR | NDIS_RSS_CAPS_HASH_TYPE_TCP_IPV4 | NdisHashFunctionToeplitz;
RssCap.NumberOfInterruptMessages = 1; //If the NIC does not support MSIs but supports line-based interrupts, set this number to 1.
RssCap.NumberOfReceiveQueues = 1; //So far only has one hw queue
AdapterGeneral.RecvScaleCapabilities = &RssCap;
I have confirmed RSS is enable in system by command “netsh int tcp show global”.
I expect to receive RSS related OID (for example, OID_GEN_RECEIVE_SCALE_PARAMETERS or OID_GEN_RECEIVE_SCALE_CAPABILITIES), but I can’t see any of them.
Do I miss anything?
Many thanks.