NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES结构(netreceivescaling.h)

NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES 结构描述 net 适配器的接收端缩放(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 值的按位 OR,指示 NIC 能够绕过的传输(外部)封装类型。

ReceiveScalingEncapsulationTypes.Inner

NET_ADAPTER_RECEIVE_SCALING_ENCAPSULATION_TYPE 值的按位 OR,指示 NIC 能够绕过的隧道(内部)封装类型。

_RECEIEVE_SCALING_ENCAPSULATION

ReceiveScalingEncapsulationTypes的标记标识符。

SynchronizeSetIndirectionEntries

一个布尔值,当设置为 true 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
最低 UMDF 版本 2.33
标头 netreceivescaling.h (include netadaptercx.h)

另请参阅

NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES_INIT

NetAdapterSetReceiveScalingCapabilities

NetAdapterCx 接收方缩放