NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES結構 (netreceivescaling.h)

NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES結構描述 net adapter 的接收端調整 (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 設定為 NetAdapterReceiveScalingUnhashedTargetTypeHashIndexUnhashedTarget 會在間接取值資料表中指定雜湊索引。

這個成員必須是 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值的位 OR,表示 NIC 能夠略過之傳輸 (外部) 封裝類型。

ReceiveScalingEncapsulationTypes.Inner

NET_ADAPTER_RECEIVE_SCALING_ENCAPSULATION_TYPE 值的位 OR,表示 NIC 能夠略過的內部) 封裝類型 (通道。

_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的輸入參數。 用戶端必須在呼叫NetAdapterSetReceiveScalingCapabilities之前,使用NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES_INIT初始化此結構。

規格需求

   
最低 KMDF 版本 1.27
標頭 netreceivescaling.h (包含 netadaptercx.h)

另請參閱

NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES_INIT

NetAdapterSetReceiveScalingCapabilities

NetAdapterCx 接收端調整