Freigeben über


NDIS_RSS_SET_INDIRECTION_ENTRY 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 keine Gewährleistungen, ausdrücklich oder konkludent in Bezug auf die hier bereitgestellten Informationen.

RSSv2 ist nur in Windows 10, Version 1803, vorschau.

Die NDIS_RSS_SET_INDIRECTION_ENTRY-Struktur stellt einen Befehl zum Festlegen eines einzelnen Dereferenzierungstabelleneintrags dar. Es ist in einer NDIS_RSS_SET_INDIRECTION_ENTRIES Struktur enthalten, die im OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES OID verwendet wird. OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES ist eine synchrone OID- für RSS Version 2 (RSSv2).

Syntax

typedef struct _NDIS_RSS_SET_INDIRECTION_ENTRY {
  NDIS_NIC_SWITCH_ID       SwitchId;
  NDIS_NIC_SWITCH_VPORT_ID VPortId;
  ULONG                    Flags;
  USHORT                   IndirectionTableIndex;
  PROCESSOR_NUMBER         TargetProcessorNumber;
  NDIS_STATUS              EntryStatus;
} NDIS_RSS_SET_INDIRECTION_ENTRY, *PNDIS_RSS_SET_INDIRECTION_ENTRY;

Angehörige

SwitchId

Ein NDIS_NIC_SWITCH_ID Wert, der den NIC-Switch darstellt, in dem sich der VPort befindet.

Der Switchbezeichner ist eine ganze Zahl zwischen Null und der Anzahl der Switches, die der Netzwerkadapter unterstützt. Ein NDIS_DEFAULT_SWITCH_ID Wert gibt den Standard-Netzwerkadapter-Switch an.

Dieses Feld sollte im Native RSS-Fall auf 0 festgelegt werden.

VPortId

Ein NDIS_NIC_SWITCH_VPORT_ID Wert, der den VPort-Bezeichner darstellt.

Dieses Feld sollte im Native RSS-Fall auf 0 festgelegt werden.

Flags

Ein ULONG--Wert, der ein bitweises OR von Flags enthält. Dieses Element qualifiziert die Informationen in dieser Struktur.

Mögliche Kennzeichen sind wie folgt:

Wert Bedeutung
NDIS_RSS_SET_INDIRECTION_ENTRY_FLAG_PRIMARY_PROCESSOR
Gibt an, dass die NDIS_RSS_SET_INDIRECTION_ENTRY auf den primären Prozessor der Skalierungsentität verweist. Die Dereferenzierungstabelle wird nicht verwendet. Wenn der primäre Prozessor *inactive* ist (RSS ist aktiviert), sollte der Miniporttreiber Aktualisierungen von Einträgen mit diesem Kennzeichen nachverfolgen, damit er weiß, welcher Prozessor der primäre ist, wenn RSS deaktiviert ist.
NDIS_RSS_SET_INDIRECTION_ENTRY_FLAG_DEFAULT_PROCESSOR
Gibt an, dass die NDIS_RSS_SET_INDIRECTION_ENTRY auf den Standardprozessor der Skalierungsentität verweist. Der Standardprozessor verarbeitet unverpackte Pakete. Die Dereferenzierungstabelle wird nicht verwendet. Wenn der Standardprozessor *inactive* ist (RSS ist deaktiviert), sollte der Miniporttreiber Aktualisierungen von Einträgen mit diesem Flag-Satz nachverfolgen, damit er weiß, welcher Prozessor standardmäßig ist, wenn RSS aktiviert ist.

IndirectionTableIndex

Der Hashindex des ITE, der derzeit auf die aktuelle CPU verweist und geändert wird, um auf einen anderen Prozessor zu verweisen. Wenn die Dereferenzierungstabelle inaktiven ist (RSS ist deaktiviert), sollte der Miniporttreiber Aktualisierungen von Einträgen in der Dereferenzierungstabelle nachverfolgen, sodass die richtige Dereferenzierungstabelle vorhanden ist, wenn RSS aktiviert ist.

TargetProcessorNumber

Die Zielprozessornummer, auf die der ITE nach Abschluss verweisen soll. Der Miniporttreiber sollte ITE-Verschiebungen vom aktuellen zum aktuellen Prozessor ausführen.

EntryStatus

Ein NDIS_STATUS Code, der den Status des Verschiebungsvorgangs für diesen Eintrag angibt. Da NDIS_RSS_SET_INDIRECTION_ENTRY im Kontext eines synchronen OID-Aufrufs verwendet wird, kann der Miniporttreiber keine NDIS_STATUS_PENDING für dieses Element zurückgeben.

Um die Implementierung von Miniporttreibern zu vereinfachen, initialisiert das Protokoll der oberen Ebene dieses Felds in NDIS_STATUS_PENDING. Miniporttreiber müssen NDIS_STATUS_PENDING entweder mit einem Erfolgreich- oder Fehler-NDIS-Statuscode überschreiben. Wenn die obere Ebene erkennt, dass dieses Feld nach Abschluss des OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES OID noch NDIS_STATUS_PENDING ist, wird eine Systemfehlerüberprüfung verursacht und darauf hingewiesen, dass der Miniporttreiber fehlerhaft ist.

Wichtig

Alle NDIS_RSS_SET_INDIRECTION_ENTRY Strukturen in einer Gruppe, die in einer NDIS_RSS_SET_INDIRECTION_ENTRIES Struktur enthalten sind, müssen mit demselben EntryStatus-gekennzeichnet werden.

Wenn bei diesem Verschiebungsbefehl ein Fehler auftritt, legen Sie EntryStatus- auf einen der folgenden Statuscodes für diese Fehlerbedingung fest:

Statuscode Fehlerzustand
NDIS_STATUS_INVALID_PARAMETER
  • Die SwitchId oder VPortId Member war ungültig.
  • Das Flags Member war ungültig.
  • Der IndirectionTableIndex Member überschreitet den aktuell konfigurierten NumberOfIndirectionTableEntries- aus der NDIS_RECEIVE_SCALE_PARAMETERS_V2-Struktur.
NDIS_STATUS_INVALID_PORT_STATE Der VPort ist nicht aktiviert oder befindet sich in einem anderen Zustand, der verhindert, dass er RSSv2-OIDs akzeptiert.
NDIS_STATUS_NOT_ACCEPTED Die Actor CPU war ungültig.
NDIS_STATUS_INVALID_DATA Bei einem aktiven Lenkparameters ist der neue Prozessor nicht Teil des RSS-Prozessorsatzes des Adapters. Beachten Sie, dass inaktiven Parameter nur nachverfolgt werden müssen. Sie werden später während des RSS-Zustandsübergangs (zum beim oder deaktiviert) überprüft.
NDIS_STATUS_NO_QUEUES Eine Gruppe von Befehlseinträgen schlägt die Überprüfung der "Anzahl der Warteschlangen" auf den von dieser Gruppe angegebenen VPort fehl.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Unterstützt in NDIS 6.80 und höher.
Header- ntddndis.h (include Ndis.h)

Siehe auch

NDIS_RSS_SET_INDIRECTION_ENTRIES

OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES

empfangen, version 2 (RSSv2)

synchrone OID-Anforderungsschnittstelle in NDIS 6.80