estrutura NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES (netreceivescaling.h)

A estrutura NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES descreve os recursos de RSS (dimensionamento lateral de recebimento) de um adaptador de rede.

Sintaxe

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;

Membros

Size

O tamanho dessa estrutura, em bytes.

NumberOfQueues

O número de filas de recebimento de hardware. Esse membro deve ser uma potência de 2.

IndirectionTableSize

O número de entradas de tabela de indireção. Esse membro deve ter no mínimo 128 e uma potência de 2.

UnhashedTargetIndex

O destino padrão para quadros aos quais nenhum hash é aplicado. O valor desse membro depende do valor do membro UnhashedTargetType :

  • Se UnhashedTargetType estiver definido como NetAdapterReceiveScalingUnhashedTargetTypeUnspecified, UnhashedTarget será ignorado.
  • Se UnhashedTargetType estiver definido como NetAdapterReceiveScalingUnhashedTargetTypeHashIndex, UnhashedTarget especificará um índice de hash na tabela de indireção.

Esse membro deve ser N, em que 0 <= N < IndirectionTableSize.

UnhashedTargetType

Um valor de NET_ADAPTER_RECEIVE_SCALING_UNHASHED_TARGET_TYPE que indica o tipo de tratamento para quadros unásicos.

Se esse membro estiver definido como NetAdapterReceiveScalingUnhashedTargetTypeUnspecified, UnhashedTargetIndex será ignorado e o padrão será 0.

Se esse membro for definido como NetAdapterReceiveScalingUnhashedTargetTypeHashIndex, UnhashedTargetIndex indicará o valor de hash de destino.

ReceiveScalingHashTypes

Um valor NET_ADAPTER_RECEIVE_SCALING_HASH_TYPE que indica tipos de função de hash com suporte para calcular valores de hash.

ReceiveScalingProtocolTypes

Um valor NET_ADAPTER_RECEIVE_SCALING_PROTOCOL_TYPE que indica os tipos de protocolo com suporte para calcular valores de hash.

ReceiveScalingEncapsulationTypes

Indica quais tecnologias de encapsulamento o hardware é capaz de ignorar.

ReceiveScalingEncapsulationTypes.Outer

Um OR bit a bit de NET_ADAPTER_RECEIVE_SCALING_ENCAPSULATION_TYPE valores que indica os tipos de encapsulamento de transporte (externo) que a NIC é capaz de ignorar.

ReceiveScalingEncapsulationTypes.Inner

Um OR bit a bit de valores NET_ADAPTER_RECEIVE_SCALING_ENCAPSULATION_TYPE que indica os tipos de encapsulamento de túnel (interno) que a NIC é capaz de ignorar.

_RECEIEVE_SCALING_ENCAPSULATION

O identificador de marca para ReceiveScalingEncapsulationTypes.

SynchronizeSetIndirectionEntries

Um valor booliano que, quando definido como TRUE, solicita que a estrutura sincronize chamadas para EvtNetAdapterReceiveScalingSetIndirectionEntries. Esse membro será definido como FALSE por padrão se o driver do cliente não o especificar.

EvtAdapterReceiveScalingEnable

Um ponteiro para a função de retorno de chamada de evento EvtNetAdapterReceiveScalingEnable do driver do cliente.

EvtAdapterReceiveScalingDisable

Um ponteiro para a função de retorno de chamada de evento EvtNetAdapterReceiveScalingDisable do driver do cliente.

EvtAdapterReceiveScalingSetHashSecretKey

Um ponteiro para a função de retorno de chamada de evento EvtNetAdapterReceiveScalingSetHashSecretKey do driver do cliente.

EvtAdapterReceiveScalingSetIndirectionEntries

Um ponteiro para a função de retorno de chamada de evento EvtNetAdapterReceiveScalingSetIndirectionEntries do driver do cliente.

Comentários

Chame NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES_INIT para inicializar essa estrutura.

A estrutura NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES é um parâmetro de entrada para NetAdapterSetReceiveScalingCapabilities. O cliente deve usar NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES_INIT para inicializar essa estrutura antes de chamar NetAdapterSetReceiveScalingCapabilities.

Requisitos

Requisito Valor
Versão mínima do KMDF 1.27
Cabeçalho netreceivescaling.h (include netadaptercx.h)

Confira também

NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES_INIT

NetAdapterSetReceiveScalingCapabilities

Escala lateral de recebimento do NetAdapterCx