NDIS_RECEIVE_SCALE_PARAMETERS_V2-Struktur (ntddndis.h)

Warnung

Einige Informationen in diesem Thema beziehen sich auf vorab freigegebene Produkte, die vor der kommerziellen Veröffentlichung erheblich geändert werden können. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.

RSSv2 ist nur in Windows 10 Version 1803 als Vorschauversion verfügbar.

Die NDIS_RECEIVE_SCALE_PARAMETERS_V2-Struktur gibt die RSS-Parameter (Receive Side Scaling) für einen Miniportadapter an, der die Unterstützung für RSS Version 2 (RSSv2) angibt. Es wird in der OID_GEN_RECEIVE_SCALE_PARAMETERS_V2 OID verwendet.

Syntax

typedef struct _NDIS_RECEIVE_SCALE_PARAMETERS_V2 {
  NDIS_OBJECT_HEADER Header;
  ULONG              Flags;
  ULONG              HashInformation;
  ULONG              HashSecretKeySize;
  ULONG              HashSecretKeyOffset;
  ULONG              NumberOfQueues;
  ULONG              NumberOfIndirectionTableEntries;
} NDIS_RECEIVE_SCALE_PARAMETERS_V2, *PNDIS_RECEIVE_SCALE_PARAMETERS_V2;

Member

Header

Die NDIS_OBJECT_HEADER-Struktur für die NDIS_RECEIVE_SCALE_PARAMETERS_V2-Struktur . Legen Sie das Element Typ der Struktur, die Header angibt, auf NDIS_OBJECT_TYPE_RSS_PARAMETERS_V2 fest.

Legen Sie für Treiber NDIS 6.80 und höher das Revisionselement auf NDIS_RECEIVE_SCALE_PARAMETERS_V2_REVISION_1 und das Size-Element auf sizeof(NDIS_RECEIVE_SCALE_PARAMETERS_V2) fest.

Flags

Ein ULONG-Wert , der angibt, welche Parameter geändert werden. Mit diesen Flags kann der Treiber schnell ermitteln, welche Parameter geändert wurden, und die RSS-Einstellungen entsprechend aktualisieren.

Legen Sie in einer Abfrageanforderung diesen Member auf 0 fest.

In einer Setanforderung werden die Flags wie folgt definiert:

Wert Bedeutung
NDIS_RECEIVE_SCALE_PARAM_ENABLE_RSS
Der Wert 1 gibt an, dass RSS für das angegebene Objekt aktiviert ist. Der Miniporttreiber muss sich mit anderen Parametern befassen.

Der Wert 0 gibt an, dass RSS für das angegebene Objekt deaktiviert ist. Die Parameter NumberOfQueues und NumberOfIndirectionTableEntries können sich ändern, wenn RSS deaktiviert ist. Andere Parameter wie HashInformation und HashKey sollten ignoriert werden, wenn RSS deaktiviert ist.

NDIS_RECEIVE_SCALE_PARAM_HASH_INFO_CHANGED
Der Wert des HashInformation-Parameters wurde geändert.
NDIS_RECEIVE_SCALE_PARAM_HASH_KEY_CHANGED
Der Inhalt des HashSecretKey-Elements wurde geändert.
NDIS_RECEIVE_SCALE_PARAM_NUMBER_OF_QUEUES_CHANGED
Die Anzahl der Warteschlangen pro VPort wurde geändert.
NDIS_RECEIVE_SCALE_PARAM_NUMBER_OF_ENTRIES_CHANGED
Die Anzahl der Einträge in der Indirektierungstabelle wurde geändert.

HashInformation

In einer Setanforderung ist dieser Member der Hashtyp und die Hashfunktion, die die NIC verwenden sollte, um die Hashwerte für die eingehenden Pakete zu berechnen. Wenn die Hashfunktion, die im HashInformation-Member angegeben wird, null ist, ist RSS deaktiviert.

In einer Abfrageanforderung ist dieser Member der Hashtyp und die Hashfunktion, die die NIC verwendet.

Überlastende Treiber und NDIS können das makro NDIS_RSS_HASH_INFO_FROM_TYPE_AND_FUNC verwenden, um den Hashtyp und die Hashfunktion in Hashinformationen zu kombinieren und das HashInformation-Element festzulegen.

Miniporttreiber können das makro NDIS_RSS_HASH_TYPE_FROM_HASH_INFO verwenden, um den Hashtyp aus HashInformation und das NDIS_RSS_HASH_FUNC_FROM_HASH_INFO Makro abzurufen, um die Hashfunktion abzurufen.

Dieser Parameter kann gleichzeitig mit der Aktivierung von RSS oder danach geändert werden.

HashSecretKeySize

Die Größe des Arrays des geheimen Schlüssels der Hashfunktion in Bytes. Die Größe des Arrays beträgt 40 Bytes für NdisHashFunctionToeplitz.

Dieser Parameter kann gleichzeitig mit der Aktivierung von RSS oder danach geändert werden.

HashSecretKeyOffset

Der Offset des Hashschlüssels in Bytes.

Dieser Parameter kann gleichzeitig mit der Aktivierung von RSS oder danach geändert werden.

NumberOfQueues

Die maximale Anzahl von Warteschlangen für die Skalierungsentität. Dieser Parameter ist ein Alias für die NUM_QUEUE_PAIRS Variable der NDIS_NIC_SWITCH_VPORT_PARAMETERS-Struktur , die auch über die OID_NIC_SWITCH_VPORT_PARAMETERS-OID abgefragt oder festgelegt werden kann. Sie kann geändert werden, wenn RSS aktiviert oder deaktiviert ist.

NumberOfIndirectionTableEntries

Die Anzahl der indirekten Tabelleneinträge (ITEs) für die Skalierungsentität. Dieser Wert ist eine Leistung von zwei und überschreitet die Funktionen des entsprechenden Adapters nicht. Sie kann vor der Aktivierung von RSS oder danach geändert werden.

Neue Werte für diesen Parameter sind auch eine Leistung von zwei und überschreiten die Adapterfunktionen. Wenn diese Zahl erhöht wird, sollte der Miniporttreiber die aktuelle Indirektionstabelle so oft wie nötig in die neuen ITEs klonen (dies ist aufgrund der Einschränkung von Power-of-Two möglich). Wenn diese Zahl verringert wird, garantiert die obere Ebene, dass der Teil der Dereferenzierungstabelle, der entfernt wird, genaue Replikate des verbleibenden Teils enthält.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Unterstützt in NDIS 6.80 und höher.
Kopfzeile ntddndis.h (include Ndis.h)

Weitere Informationen

NDIS_NIC_SWITCH_VPORT_PARAMETERS

NDIS_OBJECT_HEADER

NDIS_RSS_HASH_FUNC_FROM_HASH_INFO

NDIS_RSS_HASH_INFO_FROM_TYPE_AND_FUNC

NDIS_RSS_HASH_TYPE_FROM_HASH_INFO

OID_GEN_RECEIVE_SCALE_PARAMETERS_V2

OID_NIC_SWITCH_VPORT_PARAMETERS

RSS Version 2 (RSSv2)