NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES-Struktur (netreceivescaling.h)

Die NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES-Struktur beschreibt die RSS-Funktionen (Receive Side Scaling) eines Netzadapters.

Syntax

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;

Member

Size

Die Größe dieser Struktur in Bytes.

NumberOfQueues

Die Anzahl der Hardware-Empfangswarteschlangen. Dieser Member muss eine Leistung von 2 haben.

IndirectionTableSize

Die Anzahl der Dereferenzierungstabelleneinträge. Dieser Member muss mindestens 128 und eine Potenz von 2 sein.

UnhashedTargetIndex

Das Standardziel für Frames, auf die kein Hash angewendet wird. Der Wert dieses Members hängt vom Wert des UnhashedTargetType-Elements ab:

  • Wenn UnhashedTargetType auf NetAdapterReceiveScalingUnhashedTargetTypeUnspecified festgelegt ist, wird UnhashedTarget ignoriert.
  • Wenn UnhashedTargetType auf NetAdapterReceiveScalingUnhashedTargetTypeHashIndex festgelegt ist, gibt UnhashedTarget einen Hashindex in der Dereferenzierungstabelle an.

Dieser Member muss N sein, wobei 0 <= N < IndirectionTableSize.

UnhashedTargetType

Ein NET_ADAPTER_RECEIVE_SCALING_UNHASHED_TARGET_TYPE Wert, der die Art der Behandlung für nicht durchgegangene Frames angibt.

Wenn dieser Member auf NetAdapterReceiveScalingUnhashedTargetTypeUnspecified festgelegt ist, wird UnhashedTargetIndex ignoriert, und der Standardwert ist 0.

Wenn dieser Member auf NetAdapterReceiveScalingUnhashedTargetTypeHashIndex festgelegt ist, gibt UnhashedTargetIndex den Zielhashwert an.

ReceiveScalingHashTypes

Ein NET_ADAPTER_RECEIVE_SCALING_HASH_TYPE Wert, der unterstützte Hashfunktionstypen zum Berechnen von Hashwerten angibt.

ReceiveScalingProtocolTypes

Ein NET_ADAPTER_RECEIVE_SCALING_PROTOCOL_TYPE Wert, der die unterstützten Protokolltypen für die Berechnung von Hashwerten angibt.

ReceiveScalingEncapsulationTypes

Gibt an, welche Kapselungstechnologien die Hardware umgehen kann.

ReceiveScalingEncapsulationTypes.Outer

Ein bitweises OR mit NET_ADAPTER_RECEIVE_SCALING_ENCAPSULATION_TYPE Werten, der die Transport-(äußeren) Kapselungstypen angibt, die die NIC umgehen kann.

ReceiveScalingEncapsulationTypes.Inner

Ein bitweises OR mit NET_ADAPTER_RECEIVE_SCALING_ENCAPSULATION_TYPE Werten, der die Tunnelkapselungstypen (inner) angibt, die die NIC umgehen kann.

_RECEIEVE_SCALING_ENCAPSULATION

Der Tagbezeichner für ReceiveScalingEncapsulationTypes.

SynchronizeSetIndirectionEntries

Ein boolescher Wert, der bei Festlegung auf TRUE anfordert, dass das Framework Aufrufe von EvtNetAdapterReceiveScalingSetIndirectionEntries synchronisiert. Dieser Member ist standardmäßig auf FALSE festgelegt, wenn der Clienttreiber es nicht angibt.

EvtAdapterReceiveScalingEnable

Ein Zeiger auf die EvtNetAdapterReceiveScalingEnable-Ereignisrückruffunktion des Clienttreibers.

EvtAdapterReceiveScalingDisable

Ein Zeiger auf die EvtNetAdapterReceiveScalingDisable-Ereignisrückruffunktion des Clienttreibers.

EvtAdapterReceiveScalingSetHashSecretKey

Ein Zeiger auf die Ereignisrückruffunktion EvtNetAdapterReceiveScalingSetHashSecretKey des Clienttreibers.

EvtAdapterReceiveScalingSetIndirectionEntries

Ein Zeiger auf die EvtNetAdapterReceiveScalingSetIndirectionEntries-Ereignisrückruffunktion des Clienttreibers.

Hinweise

Rufen Sie NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES_INIT auf, um diese Struktur zu initialisieren.

Die NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES-Struktur ist ein Eingabeparameter für NetAdapterSetReceiveScalingCapabilities. Der Client muss NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES_INIT verwenden, um diese Struktur vor dem Aufruf von NetAdapterSetReceiveScalingCapabilities zu initialisieren.

Anforderungen

Anforderung Wert
KMDF-Mindestversion 1,27
Kopfzeile netreceivescaling.h (include netadaptercx.h)

Weitere Informationen

NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES_INIT

NetAdapterSetReceiveScalingCapabilities

NetAdapterCx-Empfangsseitige Skalierung