WDI_TLV_RECEIVE_COALESCING_CAPABILITIES

WDI_TLV_RECEIVE_COALESCING_CAPABILITIES是包含硬件辅助接收筛选器功能的 TLV。

TLV 类型

0x9A

Length

所有包含元素的大小) (总和(以字节为单位)。

类型 说明
UINT32 已启用筛选器类型。 指定启用的接收筛选器类型的标志的按位 OR。 以下标志有效。

NDIS_RECEIVE_FILTER_VMQ_FILTERS_ENABLED

指定启用 VMQ 筛选器。

NDIS_RECEIVE_FILTER_PACKET_COALESCING_FILTERS_ENABLED

指定启用 NDIS 数据包合并接收筛选器。

UINT32 已启用的队列类型。 指定启用的接收队列类型的标志的按位 OR。 以下标志有效。

NDIS_RECEIVE_FILTER_VM_QUEUES_ENABLED

指定启用虚拟机 (VM) 队列。 启用微型端口驱动程序以使用 VMQ 接口时,将使用 VM 队列。

UINT32 网络适配器支持的 VM 队列数。
UINT32 支持的 VM 队列属性。 指定网络适配器支持的 VM 队列属性的按位 OR 标志。 以下标志有效。

NDIS_RECEIVE_FILTER_MSI_X_SUPPORTED

网络适配器为每个接收队列分配了 MSI-X 表条目。 网络适配器不得对多个接收队列使用一个 MSI-X 表条目。 对于支持 VMQ 或 SR-IOV 接口的微型端口驱动程序,此标志是必需的。

NDIS_RECEIVE_FILTER_VM_QUEUE_SUPPORTED

网络适配器提供了支持 VM 队列数据包筛选的最低要求。 如果微型端口驱动程序能够使用 VMQ 或 SR-IOV 接口,则必须设置此标志。

有关 VM 队列数据包筛选的 VMQ 要求的详细信息,请参阅 设置和清除 VMQ 筛选器

有关 VM 队列数据包筛选的 SR-IOV 要求的详细信息,请参阅 在虚拟端口上设置接收筛选器

NDIS_RECEIVE_FILTER_LOOKAHEAD_SPLIT_SUPPORTED

网络适配器支持 VM 队列,这些队列在前向偏移量处拆分传入的接收数据包。 此偏移量等于或大于请求的回头大小。 网络适配器使用 DMA 传输后视头和后视数据,以分隔共享内存段。

注意 从 NDIS 6.30 开始,不再支持将数据包拆分为单独的观察缓冲区。 支持此版本 NDIS 的微型端口驱动程序不得设置此标志。
NDIS_RECEIVE_FILTER_DYNAMIC_PROCESSOR_AFFINITY_CHANGE_SUPPORTED

网络适配器支持动态更改以下处理器相关性属性之一的功能:

  • VMQ 接口中 VM 队列的处理器关联。 处理器相关性通过 OID_RECEIVE_FILTER_QUEUE_PARAMETERS的 OID 集请求更改。

  • 非默认虚拟端口的处理器相关性 (VPort) ,该端口是在 SR-IOV 接口中创建的,并附加到 PCI Express (PCIe) 物理功能 (网络适配器的 PF) 。 处理器相关性通过 OID_NIC_SWITCH_VPORT_PARAMETERS的 OID 集请求更改。

NDIS_RECEIVE_FILTER_INTERRUPT_VECTOR_COALESCING_SUPPORTED

网络适配器支持以下任何一项上接收的数据包的中断合并:

  • VMQ 接口中的多个 VM 队列。

  • 附加到 SR-IOV 接口中的 PF 的多个 VPort。

如果设置了此标志,则网络适配器必须合并具有相同处理器相关性的 VM 队列或 VPort 的接收中断。

NDIS_RECEIVE_FILTER_IMPLAT_MIN_OF_QUEUES_MODE

指示可用的 VM 队列数是负载均衡器故障转移 (LBFO) 团队的任何成员可用的最小队列数。 此标志仅适用于 LBFO 筛选器。 未为微型端口设置此标志。

NDIS_RECEIVE_FILTER_IMPLAT_SUM_OF_QUEUES_MODE

指示可用的 VM 队列数是 LBFO 团队的每个成员可用的所有队列的总和。 此标志仅适用于 LBFO 筛选器。 未为微型端口设置此标志。

NDIS_RECEIVE_FILTER_PACKET_COALESCING_SUPPORTED_ON_DEFAULT_QUEUE

网络适配器支持 NDIS 数据包合并。 数据包合并仅在网络适配器的默认接收队列上受支持。 此接收队列的标识符为 NDIS_DEFAULT_RECEIVE_QUEUE_ID。

UINT32 支持的筛选器测试。 指定微型端口驱动程序支持的测试操作的标志的按位 OR。 以下标志有效。

NDIS_RECEIVE_FILTER_TEST_HEADER_FIELD_EQUAL_SUPPORTED

网络适配器支持测试所选标头字段,以确定它是否等于给定的值。

注意 如果微型端口驱动程序支持 VMQ 或 SR-IOV 接口,则必须设置此标志。
NDIS_RECEIVE_FILTER_TEST_HEADER_FIELD_MASK_EQUAL_SUPPORTED

网络适配器支持掩码 (,即所选标头字段的按位 AND) ,以确定结果是否等于指定值。

NDIS_RECEIVE_FILTER_TEST_HEADER_FIELD_NOT_EQUAL_SUPPORTED

网络适配器支持测试所选标头字段,以确定它是否不等于指定值。

UINT32 支持的标头。 指定微型端口驱动程序可以检查的网络数据包标头类型的标志的按位 OR。 以下标志有效。

NDIS_RECEIVE_FILTER_MAC_HEADER_SUPPORTED

网络适配器可以检查网络数据包 (MAC) 标头的媒体访问控制。 SupportedMacHeaderFields 成员定义 MAC 标头中可检查的各种字段。

NDIS_RECEIVE_FILTER_ARP_HEADER_SUPPORTED

网络适配器可以检查网络数据包的地址解析协议 (ARP) 标头。 SupportedArpHeaderFields 成员定义 ARP 标头中可检查的各种字段。

NDIS_RECEIVE_FILTER_IPV4_HEADER_SUPPORTED

网络适配器可以检查网络数据包的 IP 版本 4 (IPv4) 标头。 SupportedIPv4HeaderFields 成员定义 IPv4 标头中可检查的各种字段。

NDIS_RECEIVE_FILTER_IPV6_HEADER_SUPPORTED

网络适配器可以检查网络数据包的 IP 版本 6 (IPv6) 标头。 SupportedIPv6HeaderFields 成员定义 IPv6 标头中可检查的各种字段。

NDIS_RECEIVE_FILTER_UDP_HEADER_SUPPORTED

网络适配器可以检查网络数据包的用户数据报协议 (UDP) 标头。 SupportedIPv6HeaderFields 成员定义 UDP 标头中可检查的各种字段。

UINT32 支持的 MAC 标头字段。 指定微型端口驱动程序可以检查的 MAC 标头字段类型的标志的按位 OR。 以下标志有效。

NDIS_RECEIVE_FILTER_MAC_HEADER_DEST_ADDR_SUPPORTED

网络适配器支持基于 MAC 标头中的目标 MAC 地址的检查和筛选。

注意 从 NDIS 6.30 开始,支持 VMQ 或 SR-IOV 接口的微型端口驱动程序必须设置此标志。
NDIS_RECEIVE_FILTER_MAC_HEADER_SOURCE_ADDR_SUPPORTED

网络适配器支持基于 MAC 标头中的源 MAC 地址的检查和筛选。

NDIS_RECEIVE_FILTER_MAC_HEADER_PROTOCOL_SUPPORTED

网络适配器支持基于 MAC 标头中的 EtherType 标识符的检查和筛选。 例如,IPv4 数据包的 EtherType 标识符0x0800。

NDIS_RECEIVE_FILTER_MAC_HEADER_VLAN_ID_SUPPORTED

网络适配器支持基于 MAC 标头中的 VLAN 标识符的检查和筛选。

NDIS_RECEIVE_FILTER_MAC_HEADER_PRIORITY_SUPPORTED

网络适配器支持基于 MAC 标头中的优先级标记的检查和筛选。

NDIS_RECEIVE_FILTER_MAC_HEADER_PACKET_TYPE_SUPPORTED

网络适配器支持基于 IEEE 802.2 子网访问协议的数据包类型字段 (802.3 MAC 标头中的 SNAP) 标头进行检查和筛选。

UINT32 微型端口驱动程序支持的 MAC 标头筛选器的最大数目。
UINT32 最大队列组数。 此值是保留的。
UINT32 每个队列组的最大队列数。 此值是保留的。
UINT32 网络适配器支持的查找头数据包缓冲区的最小大小(以字节为单位)。
注意 从 NDIS 6.30 开始,不再支持将数据包拆分为单独的观察缓冲区。 支持此版本 NDIS 的微型端口驱动程序必须将此成员设置为零。
UINT32 网络适配器支持用于探头数据包缓冲区的最大大小(以字节为单位)。
注意 从 NDIS 6.30 开始,不再支持将数据包拆分为单独的观察缓冲区。 支持此版本 NDIS 的微型端口驱动程序必须将此成员设置为零。
UINT32 支持的 ARP 标头字段。 指定微型端口驱动程序可以检查的 ARP 标头字段类型的标志的按位 OR。 以下标志有效。

NDIS_RECEIVE_FILTER_ARP_HEADER_OPERATION_SUPPORTED

网络适配器支持对 ARP 操作字段进行接收筛选。

NDIS_RECEIVE_FILTER_ARP_HEADER_SPA_SUPPORTED

网络适配器支持对 ARP 源协议地址 (SPA) 字段进行筛选。

NDIS_RECEIVE_FILTER_ARP_HEADER_TPA_SUPPORTED

网络适配器支持对 ARP 目标协议地址 (TPA) 字段的接收筛选。

UINT32 支持的 IPv4 标头字段。 指定微型端口驱动程序可以检查的 IPv4 标头字段类型的标志的按位 OR。 以下标志有效。

NDIS_RECEIVE_FILTER_IPV4_HEADER_PROTOCOL_SUPPORTED

网络适配器支持对 IPv4 协议字段进行接收筛选。

UINT32 支持的 IPv6 标头字段。 指定微型端口驱动程序可以检查的 IPv6 标头字段类型的标志的按位 OR。 以下标志有效。

NDIS_RECEIVE_FILTER_IPV6_HEADER_PROTOCOL_SUPPORTED

网络适配器支持对 IPv6 协议字段进行接收筛选。

UINT32 支持的 UDP 标头字段。 指定微型端口驱动程序可以检查的 IPv6 标头字段类型的标志的按位 OR。 以下标志有效。

NDIS_RECEIVE_FILTER_UDP_HEADER_DEST_PORT_SUPPORTED

网络适配器支持对 UDP 目标端口字段进行接收筛选。

注意 如果收到的 UDP 数据包包含 IPv4 选项或 IPv6 扩展标头,则网络适配器可以自动删除收到的数据包,并将其视为未通过 UDP 筛选器测试。
UINT32 可为单个数据包合并筛选器指定的数据包标头字段的最大测试数。 有关数据包合并的详细信息,请参阅 NDIS 数据包合并
注意 支持数据包合并的网络适配器必须支持可以为单个数据包合并筛选器指定的五个或更多数据包标头字段。 如果适配器不支持数据包合并,微型端口驱动程序必须将此值设置为零。
UINT32 网络适配器支持的最大数据包合并接收筛选器数。
注意 支持数据包合并的网络适配器必须支持 10 个或更多个数据包合并筛选器。 如果适配器不支持数据包合并,微型端口驱动程序必须将此值设置为零。

要求

最低受支持的客户端

Windows 10

最低受支持的服务器

Windows Server 2016

标头

Wditypes.hpp

另请参阅

NDIS_RECEIVE_FILTER_CAPABILITIES