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 时,请求框架同步调用 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 |
最低 UMDF 版本 | 2.33 |
标头 | netreceivescaling.h (包括 netadaptercx.h) |
另请参阅
NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES_INIT