структура NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES (netreceivescaling.h)

Структура NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES описывает возможности масштабирования на стороне получения (RSS) сетевого адаптера.

Синтаксис

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;

Члены

Size

Размер этой структуры в байтах.

NumberOfQueues

Количество очередей получения оборудования. Этот элемент должен быть степенью 2.

IndirectionTableSize

Количество записей таблицы косвенного обращения. Этот элемент должен быть не менее 128 и иметь значение 2.

UnhashedTargetIndex

Назначение по умолчанию для кадров, к которым не применяется хэш. Значение этого элемента зависит от значения элемента UnhashedTargetType :

  • Если unhashedTargetType имеет значение NetAdapterReceiveScalingUnhashedTargetTypeUnspecified, UnhashedTarget игнорируется.
  • Если unhashedTargetType имеет значение NetAdapterReceiveScalingUnhashedTargetTypeHashIndex, UnhashedTarget указывает хэш-индекс в таблице косвенного обращения.

Этот элемент должен иметь значение N, где 0 <= N < IndirectionTableSize.

UnhashedTargetType

Значение NET_ADAPTER_RECEIVE_SCALING_UNHASHED_TARGET_TYPE , указывающее тип обработки для кадров без проширования.

Если для этого элемента задано значение NetAdapterReceiveScalingUnhashedTargetTypeUnspecified, то UnhashedTargetIndex игнорируется и по умолчанию имеет значение 0.

Если для этого элемента задано значение NetAdapterReceiveScalingUnhashedTargetTypeHashIndex, то UnhashedTargetIndex указывает целевое хэш-значение.

ReceiveScalingHashTypes

Значение NET_ADAPTER_RECEIVE_SCALING_HASH_TYPE , указывающее поддерживаемые типы хэш-функций для вычисления хэш-значений.

ReceiveScalingProtocolTypes

Значение NET_ADAPTER_RECEIVE_SCALING_PROTOCOL_TYPE , указывающее поддерживаемые типы протоколов для вычисления хэш-значений.

ReceiveScalingEncapsulationTypes

Указывает, какие технологии инкапсуляции может обойти оборудование.

ReceiveScalingEncapsulationTypes.Outer

Побитовое ИЛИ NET_ADAPTER_RECEIVE_SCALING_ENCAPSULATION_TYPE значений, указывающих типы транспортной (внешней) инкапсуляции, которые сетевой адаптер может обойти.

ReceiveScalingEncapsulationTypes.Inner

Побитовое ИЛИ NET_ADAPTER_RECEIVE_SCALING_ENCAPSULATION_TYPE значений , указывающих типы туннелирования (внутренней) инкапсуляции, которые сетевой адаптер может обходить.

_RECEIEVE_SCALING_ENCAPSULATION

Идентификатор тега для ReceiveScalingEncapsulationTypes.

SynchronizeSetIndirectionEntries

Логическое значение, которое, если задано значение TRUE, запрашивает, чтобы платформа синхронизировала вызовы EvtNetAdapterReceiveScalingSetIndirectionEntries. Этот член по умолчанию имеет значение FALSE , если драйвер клиента не указывает его.

EvtAdapterReceiveScalingEnable

Указатель на функцию обратного вызова события EvtNetAdapterReceiveScalingEnable драйвера клиента.

EvtAdapterReceiveScalingDisable

Указатель на функцию обратного вызова события EvtNetAdapterReceiveScalingDisable драйвера клиента.

EvtAdapterReceiveScalingSetHashSecretKey

Указатель на функцию обратного вызова события EvtNetAdapterReceiveScalingSetHashSecretKey драйвера клиента.

EvtAdapterReceiveScalingSetIndirectionEntries

Указатель на функцию обратного вызова события EvtNetAdapterReceiveScalingSetIndirectionEntries драйвера клиента.

Комментарии

Вызовите NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES_INIT , чтобы инициализировать эту структуру.

Структура NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES является входным параметром для NetAdapterSetReceiveScalingCapabilities. Клиент должен использовать NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES_INIT для инициализации этой структуры перед вызовом NetAdapterSetReceiveScalingCapabilities.

Требования

Требование Значение
Минимальная версия KMDF 1.27
Верхняя часть netreceivescaling.h (включая netadaptercx.h)

См. также раздел

NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES_INIT

NetAdapterSetReceiveScalingCapabilities

Масштабирование на стороне приема NetAdapterCx