共用方式為


NDIS_RECEIVE_FILTER_CAPABILITIES 結構 (ntddndis.h)

NDIS_RECEIVE_FILTER_CAPABILITIES 結構會指定網路適配器的接收篩選功能。

NDIS 接收篩選條件用於下列 NDIS 介面:

語法

typedef struct _NDIS_RECEIVE_FILTER_CAPABILITIES {
  NDIS_OBJECT_HEADER Header;
  ULONG              Flags;
  ULONG              EnabledFilterTypes;
  ULONG              EnabledQueueTypes;
  ULONG              NumQueues;
  ULONG              SupportedQueueProperties;
  ULONG              SupportedFilterTests;
  ULONG              SupportedHeaders;
  ULONG              SupportedMacHeaderFields;
  ULONG              MaxMacHeaderFilters;
  ULONG              MaxQueueGroups;
  ULONG              MaxQueuesPerQueueGroup;
  ULONG              MinLookaheadSplitSize;
  ULONG              MaxLookaheadSplitSize;
  ULONG              SupportedARPHeaderFields;
  ULONG              SupportedIPv4HeaderFields;
  ULONG              SupportedIPv6HeaderFields;
  ULONG              SupportedUdpHeaderFields;
  ULONG              MaxFieldTestsPerPacketCoalescingFilter;
  ULONG              MaxPacketCoalescingFilters;
  ULONG              NdisReserved;
} NDIS_RECEIVE_FILTER_CAPABILITIES, *PNDIS_RECEIVE_FILTER_CAPABILITIES;

成員

Header

NDIS_RECEIVE_FILTER_CAPABILITIES 結構的NDIS_OBJECT_HEADER結構。 驅動程式會將 Header 所指定之結構的 Type 成員設定為NDIS_OBJECT_TYPE_DEFAULT。

若要指出 NDIS_RECEIVE_FILTER_CAPABILITIES 結構的版本,驅動程式會將 Revision 成員設定為下列其中一個值:

NDIS_RECEIVE_FILTER_CAPABILITIES_REVISION_2

已新增
NDIS 6.30 和更新版本的各種成員。

驅動程式會將 Size 成員設定為 NDIS_SIZEOF_RECEIVE_FILTER_CAPABILITIES_REVISION_2。

NDIS_RECEIVE_FILTER_CAPABILITIES_REVISION_1

NDIS 6.20 的原始版本。

驅動程式會將 Size 成員設定為 NDIS_SIZEOF_RECEIVE_FILTER_CAPABILITIES_REVISION_1。

Flags

旗標的位 OR。 此成員會保留給 NDIS。

EnabledFilterTypes

旗標的位 OR,指定已啟用的接收篩選類型。 下列篩選類型旗標有效。

NDIS_RECEIVE_FILTER_VMQ_FILTERS_ENABLED

指定已啟用 VMQ 篩選。

注意 如果已啟用迷你埠驅動程式以使用 SR-IOV 介面,則迷你埠驅動程式應該設定此旗標。
 

NDIS_RECEIVE_FILTER_PACKET_COALESCING_FILTERS_ENABLED

指定已啟用 NDIS 封包聯合接收篩選。

EnabledQueueTypes

旗標的位 OR,指定已啟用的接收佇列類型。 下列佇列類型旗標有效。

NDIS_RECEIVE_FILTER_VM_QUEUES_ENABLED

指定已啟用虛擬機 (VM) 佇列。 啟用迷你埠驅動程式以使用 VMQ 介面時,會使用 VM 佇列。

注意 如果迷你埠驅動程式已啟用只使用 SR-IOV 介面,則迷你埠驅動程式不得設定此旗標。 如需如何啟用這些介面的詳細資訊,請參閱 處理 SR-IOV、VMQ 和 RSS 標準化 INF 關鍵詞
 

NumQueues

網路適配器支援的 VM 佇列數目。

注意 如果已啟用迷你埠驅動程式以使用 SR-IOV 介面,則必須將此成員設定為零。 啟用 SR-IOV 介面時,NDIS 會使用虛擬埠 (VPorts) 接收和傳輸佇列,而不是 VM 佇列。
 

SupportedQueueProperties

指定網路適配器支援的 VM 佇列屬性的位 OR。 定義下列旗標:

NDIS_RECEIVE_FILTER_MSI_X_SUPPORTED

網路適配器會使用 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 來傳輸 lookahead 和後置外觀數據,以分隔共用記憶體區段。

注意 從 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 6.30 和更新版本支援此旗標。 支援 VMQ 或 SR-IOV 介面的迷你埠驅動程序必須設定此旗標。
 

NDIS_RECEIVE_FILTER_INTERRUPT_VECTOR_COALESCING_SUPPORTED

網路配接器支援下列任一專案上接收封包的中斷聯合:

  • VMQ 介面中的多個 VM 佇列。
  • 在 SR-IOV 介面中附加至 PF 的多個 VPort。
如果已設定此旗標,網路適配器必須針對具有相同處理器親和性的 VM 佇列或 VPorts 聯合接收中斷。
注意 NDIS 6.30 和更新版本支援此旗標。 支援 VMQ 或 SR-IOV 介面的迷你埠驅動程序必須設定此旗標。
 

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。

注意 NDIS 6.30 和更新版本支援此旗標。
 

SupportedFilterTests

指定迷你埠驅動程式所支援之測試作業的位 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

網路適配器支持測試選取的標頭欄位,以判斷它是否不等於指定的值。

注意 NDIS 6.30 和更新版本支援此旗標。
 

SupportedHeaders

旗標的位 OR,指定迷你埠驅動程式可以檢查的網路封包標頭類型。 定義下列旗標:

NDIS_RECEIVE_FILTER_MAC_HEADER_SUPPORTED

網路適配器可以檢查網路封包的 MAC) 標頭 (媒體存取控制。 SupportedMacHeaderFields 成員會從可以檢查的 MAC 標頭定義各種欄位。

NDIS_RECEIVE_FILTER_ARP_HEADER_SUPPORTED

網路適配器可以檢查網路封包的 ARP) 標頭 (位址解析通訊協定。 SupportedArpHeaderFields 成員會從可檢查的 ARP 標頭定義各種字段。

注意 NDIS 6.30 和更新版本支援此旗標。
 

NDIS_RECEIVE_FILTER_IPV4_HEADER_SUPPORTED

網路適配器可以檢查網路封包的IP第4版 (IPv4) 標頭。 SupportedIPv4HeaderFields 成員會從可檢查的 IPv4 標頭定義各種字段。

注意 NDIS 6.30 和更新版本支援此旗標。
 

NDIS_RECEIVE_FILTER_IPV6_HEADER_SUPPORTED

網路適配器可以檢查網路封包的IP第6版 (IPv6) 標頭。 SupportedIPv6HeaderFields 成員會從可檢查的 IPv6 標頭定義各種字段。

注意 NDIS 6.30 和更新版本支援此旗標。
 

NDIS_RECEIVE_FILTER_UDP_HEADER_SUPPORTED

網路適配器可以檢查網路封包 (UDP) 標頭的用戶數據報通訊協定。 SupportedIPv6HeaderFields 成員會定義可從 UDP 標頭檢查的各種字段。

注意 NDIS 6.30 和更新版本支援此旗標。
 

SupportedMacHeaderFields

旗標的位 OR,指定迷你埠驅動程式可以檢查的 MAC 標頭字段類型。 已定義下列旗標:

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 6.30 開始,此旗標是選擇性的。 如果迷你埠驅動程式未設定此旗標,網路適配器應該檢查並篩選指定的 MAC 位址欄位。 如果收到的封包中有 VLAN 標籤,網路適配器必須將其從封包數據中移除。 迷你埠驅動程序必須將 VLAN 標籤放在與封包NET_BUFFER_LIST結構相關聯的NDIS_NET_BUFFER_LIST_8021Q_INFO結構中。
 

NDIS_RECEIVE_FILTER_MAC_HEADER_PRIORITY_SUPPORTED

網路適配器支持根據 MAC 標頭中優先順序標籤的檢查和篩選。

NDIS_RECEIVE_FILTER_MAC_HEADER_PACKET_TYPE_SUPPORTED

網路適配器支持根據 802.3 MAC 標頭中 IEEE 802.2 子網存取通訊協定的封包類型字段, (SNAP) 標頭來檢查和篩選。

注意 NDIS 6.30 和更新版本支援此旗標。
 

MaxMacHeaderFilters

迷你埠驅動程序支援的 MAC 標頭篩選數目上限。

MaxQueueGroups

此成員保留給 NDIS。

MaxQueuesPerQueueGroup

此成員保留給 NDIS。

MinLookaheadSplitSize

網路適配器支持尋找封包緩衝區的最小大小,以位元組為單位。

注意 從 NDIS 6.30 開始,不再支援將封包數據分割成個別的外觀緩衝區。 支援此版本 NDIS 的迷你埠驅動程式必須將此成員設定為零。
 

MaxLookaheadSplitSize

網路適配器支持尋找封包緩衝區的大小上限,以位元組為單位。

注意 從 NDIS 6.30 開始,不再支援將封包數據分割成個別的外觀緩衝區。 支援此版本 NDIS 的迷你埠驅動程式必須將此成員設定為零。
 

SupportedARPHeaderFields

旗標的位 OR,指定迷你埠驅動程式可以檢查的 ARP 標頭字段類型。 已定義下列旗標:

NDIS_RECEIVE_FILTER_ARP_HEADER_OPERATION_SUPPORTED

網路適配器支援在ARP作業欄位上進行接收篩選。

NDIS_RECEIVE_FILTER_ARP_HEADER_SPA_SUPPORTED

網路適配器支援在 [SPA) ] 欄位 (ARP 來源通訊協定地址上進行接收篩選。

NDIS_RECEIVE_FILTER_ARP_HEADER_TPA_SUPPORTED

網路適配器支援在 [ARP 目標通訊協定位址] ([TPA) ] 欄位上進行接收篩選。

SupportedIPv4HeaderFields

一個字節 OR 的旗標,指定迷你埠驅動程式可以檢查的 IPv4 標頭欄位類型。 已定義下列旗標:

NDIS_RECEIVE_FILTER_IPV4_HEADER_PROTOCOL_SUPPORTED

網路適配器支援在 [IPv4 通訊協定] 欄位上進行接收篩選。

SupportedIPv6HeaderFields

旗標的位 OR,指定迷你埠驅動程式可以檢查的 IPv6 標頭字段類型。 已定義下列旗標:

NDIS_RECEIVE_FILTER_IPV6_HEADER_PROTOCOL_SUPPORTED

網路適配器支援在 [IPv6 通訊協定] 欄位上進行接收篩選。

SupportedUdpHeaderFields

旗標的位 OR,指定迷你埠驅動程式可以檢查的 IPv6 標頭字段類型。 已定義下列旗標:

NDIS_RECEIVE_FILTER_UDP_HEADER_DEST_PORT_SUPPORTED

網路適配器支援 UDP 目的地埠欄位上的接收篩選。

注意 如果收到的 UDP 封包包含 IPv4 選項或 IPv6 擴充功能標頭,網路適配器可以自動卸除收到的封包,並將它視為 UDP 篩選測試失敗。
 

MaxFieldTestsPerPacketCoalescingFilter

可以針對單一封包聯合篩選器指定的封包標頭字段測試數目上限。 如需封包聯合的詳細資訊,請參閱 NDIS 封包聯合

注意 支援封包聯合的網路適配器必須支援五個以上的封包標頭欄位,這些欄位可以指定給單一封包聯合篩選器。 如果配接器不支援封包聯合,迷你埠驅動程序必須將此值設定為零。
 

MaxPacketCoalescingFilters

網路適配器支援的封包聯合接收篩選器數目上限。

注意 支援封包聯合的網路適配器必須支援十個以上的封包聯合篩選器。 如果配接器不支援封包聯合,迷你埠驅動程序必須將此值設定為零。
 

NdisReserved

保留的。 設定為 0。

備註

NDIS_RECEIVE_FILTER_CAPABILITIES 結構用於的 ReceiveFilterCapabilities 成員中 NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES NDIS_FILTER_ATTACH_PARAMETERS,以及 NDIS_BIND_PARAMETERS 結構和的傳回結果 OID_RECEIVE_FILTER_HARDWARE_CAPABILITIES OID 查詢。

只有當迷你埠驅動程式啟用使用 VMQ 或 SR-IOV 介面時, NDIS_RECEIVE_FILTER_CAPABILITIES 結構的許多成員和旗標設定才有效。 迷你埠驅動程式可透過標準化 INF 關鍵詞使用這些介面。 如需詳細資訊,請參閱 處理 SR-IOV、VMQ 和 RSS 標準化 INF 關鍵詞

規格需求

需求
最低支援的用戶端 NDIS 6.20 和更新版本支援。
標頭 ntddndis.h (包含 Ndis.h)

另請參閱

NDIS_BIND_PARAMETERS

NDIS_FILTER_ATTACH_PARAMETERS

NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES

NDIS_OBJECT_HEADER

NDIS_RECEIVE_QUEUE_INFO

NDIS_RECEIVE_QUEUE_PARAMETERS

OID_RECEIVE_FILTER_HARDWARE_CAPABILITIES