Condividi tramite


struttura NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES (netreceivescaling.h)

La struttura NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES descrive le funzionalità di ridimensionamento lato ricezione (RSS) di un net adapter.

Sintassi

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;

Membri

Size

Dimensioni di questa struttura, in byte.

NumberOfQueues

Numero di code di ricezione hardware. Questo membro deve essere un potere di 2.

IndirectionTableSize

Numero di voci della tabella di riferimento indiretto. Questo membro deve avere almeno 128 e una potenza pari a 2.

UnhashedTargetIndex

Destinazione predefinita per i frame a cui non viene applicato alcun hash. Il valore di questo membro dipende dal valore del membro unhashedTargetType:

  • Se UnhashedTargetType è impostato su NetAdapterReceiveScalingUnhashedTargetTypeUnspecified, UnhashedTarget viene ignorato.
  • Se UnhashedTargetType è impostato su NetAdapterReceiveScalingUnhashedTargetTypeHashIndex, UnhashedTarget specifica un indice hash nella tabella di riferimento indiretto.

Questo membro deve essere N, dove 0 <= N < IndirectionTableSize.

UnhashedTargetType

Valore NET_ADAPTER_RECEIVE_SCALING_UNHASHED_TARGET_TYPE che indica il tipo di gestione per i frame senzaash.

Se questo membro è impostato su NetAdapterReceiveScalingUnhashedTargetTypeUnspecified, UnhashedTargetIndex viene ignorato e il valore predefinito è 0.

Se questo membro è impostato su NetAdapterReceiveScalingUnhashedTargetTypeHashIndex, UnhashedTargetIndex indica il valore hash di destinazione.

ReceiveScalingHashTypes

Valore NET_ADAPTER_RECEIVE_SCALING_HASH_TYPE che indica i tipi di funzione hash supportati per il calcolo dei valori hash.

ReceiveScalingProtocolTypes

Valore NET_ADAPTER_RECEIVE_SCALING_PROTOCOL_TYPE che indica i tipi di protocollo supportati per il calcolo dei valori hash.

ReceiveScalingEncapsulationTypes

Indica quali tecnologie di incapsulamento l'hardware è in grado di ignorare.

ReceiveScalingEncapsulationTypes.Outer

OR bit per bit di valori NET_ADAPTER_RECEIVE_SCALING_ENCAPSULATION_TYPE che indica i tipi di incapsulamento di trasporto (esterno) che l'interfaccia di rete è in grado di ignorare.

ReceiveScalingEncapsulationTypes.Inner

OR bit per bit di valori NET_ADAPTER_RECEIVE_SCALING_ENCAPSULATION_TYPE che indica i tipi di incapsulamento del tunnel (interno) che l'interfaccia di rete è in grado di ignorare.

_RECEIEVE_SCALING_ENCAPSULATION

Identificatore di tag per ReceiveScalingEncapsulationTypes.

SynchronizeSetIndirectionEntries

Valore booleano che, se impostato su TRUE, richiede che il framework sincronizzi le chiamate a EvtNetAdapterReceiveScalingSetIndirectionEntries. Questo membro è impostato su FALSE per impostazione predefinita se il driver client non lo specifica.

EvtAdapterReceiveScalingEnable

Puntatore alla del driver client EvtNetAdapterReceiveScalingEnable funzione di callback degli eventi.

EvtAdapterReceiveScalingDisable

Puntatore alla del driver client EvtNetAdapterReceiveScalingDisable funzione di callback degli eventi.

EvtAdapterReceiveScalingSetHashSecretKey

Puntatore al driver client EvtNetAdapterReceiveScalingSetHashSecretKey funzione di callback degli eventi.

EvtAdapterReceiveScalingSetIndirectionEntries

Puntatore al driver client EvtNetAdapterReceiveScalingSetIndirectionEntries funzione di callback degli eventi.

Osservazioni

Chiamare NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES_INIT per inizializzare questa struttura.

La struttura NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES è un parametro di input per NetAdapterSetReceiveScalingCapabilities. Il client deve usare NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES_INIT per inizializzare questa struttura prima di chiamare NetAdapterSetReceiveScalingCapabilities.

Fabbisogno

Requisito Valore
versione minima di KMDF 1.27
versione minima di UMDF 2.33
intestazione netreceivescaling.h (include netadaptercx.h)

Vedere anche

NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES_INIT

NetAdapterSetReceiveScalingCapabilities

NetAdapterCx Receive Side Scaling