NDIS_RECEIVE_FILTER_CAPABILITIES-Struktur (ntddndis.h)
Die NDIS_RECEIVE_FILTER_CAPABILITIES-Struktur gibt die Empfangsfilterfunktionen eines Netzwerkadapters an.
NDIS-Empfangsfilter werden in den folgenden NDIS-Schnittstellen verwendet:
-
NDIS Packet Coalescing. Weitere Informationen zur Verwendung von Empfangsfiltern in dieser Schnittstelle finden Sie unter Managing Packet Coalescing Receive Filters .
-
Single Root-E/A-Virtualisierung (SR-IOV) Weitere Informationen zur Verwendung von Empfangsfiltern in dieser Schnittstelle finden Sie unter Festlegen eines Empfangsfilters für einen virtuellen Port.
-
Virtual Machine Queue (VMQ). Weitere Informationen zur Verwendung von Empfangsfiltern in dieser Schnittstelle finden Sie unter Festlegen und Löschen von VMQ-Filtern.
Syntax
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;
Member
Header
Die NDIS_OBJECT_HEADER-Struktur für die NDIS_RECEIVE_FILTER_CAPABILITIES-Struktur . Der Treiber legt das Typelement der Struktur, die Header angibt, auf NDIS_OBJECT_TYPE_DEFAULT fest.
Um die Version der NDIS_RECEIVE_FILTER_CAPABILITIES-Struktur anzugeben, legt der Treiber den Revisionsmember auf einen der folgenden Werte fest:
NDIS_RECEIVE_FILTER_CAPABILITIES_REVISION_2
Hinzugefügt
verschiedene Member für NDIS 6.30 und höher.
Der Treiber legt das Element Größe auf NDIS_SIZEOF_RECEIVE_FILTER_CAPABILITIES_REVISION_2 fest.
NDIS_RECEIVE_FILTER_CAPABILITIES_REVISION_1
Ursprüngliche Version für NDIS 6.20.
Der Treiber legt das Element Größe auf NDIS_SIZEOF_RECEIVE_FILTER_CAPABILITIES_REVISION_1 fest.
Flags
Ein bitweises OR von Flags. Dieses Element ist für NDIS reserviert.
EnabledFilterTypes
Ein bitweises OR von Flags, die die Typen von aktivierten Empfangsfiltern angeben. Das folgende Filtertypflag ist gültig.
NDIS_RECEIVE_FILTER_VMQ_FILTERS_ENABLED
Gibt an, dass VMQ-Filter aktiviert sind.
NDIS_RECEIVE_FILTER_PACKET_COALESCING_FILTERS_ENABLED
Gibt an, dass NDIS-Paket-Koalescing-Empfangsfilter aktiviert sind.
EnabledQueueTypes
Ein bitweises OR von Flags, die die Typen von aktivierten Empfangswarteschlangen angeben. Das folgende Warteschlangentypflag ist gültig.
NDIS_RECEIVE_FILTER_VM_QUEUES_ENABLED
Gibt an, dass VM-Warteschlangen aktiviert sind. VM-Warteschlangen werden verwendet, wenn der Miniporttreiber für die Verwendung der VMQ-Schnittstelle aktiviert ist.
NumQueues
Die Anzahl von VM-Warteschlangen, die der Netzwerkadapter unterstützt.
SupportedQueueProperties
Ein bitweises OR von Flags, die die vom Netzwerkadapter unterstützten VM-Warteschlangeneigenschaften angeben. Die folgenden Flags werden definiert:
NDIS_RECEIVE_FILTER_MSI_X_SUPPORTED
Der Netzwerkadapter verwendet MSI-X für die Generierung von Interrupts der Empfangswarteschlange. Dieses Flag ist für Miniporttreiber obligatorisch, die die VMQ- oder SR-IOV-Schnittstelle unterstützen.
NDIS_RECEIVE_FILTER_VM_QUEUE_SUPPORTED
Der Netzwerkadapter stellt die Mindestanforderungen bereit, um die Paketfilterung von VM-Warteschlangen zu unterstützen.
Der Miniporttreiber muss dieses Flag festlegen, wenn er für die Verwendung der VMQ- oder SR-IOV-Schnittstelle aktiviert ist.
Weitere Informationen zu VMQ-Anforderungen für die Paketfilterung von VM-Warteschlangen finden Sie unter Festlegen und Löschen von VMQ-Filtern.
Weitere Informationen zu SR-IOV-Anforderungen für die Filterung von VM-Warteschlangenpaketen finden Sie unter Festlegen eines Empfangsfilters für einen virtuellen Port.
NDIS_RECEIVE_FILTER_LOOKAHEAD_SPLIT_SUPPORTED
Der Netzwerkadapter unterstützt VM-Warteschlangen, die ein eingehendes empfangenes Paket am Lookaheadoffset aufteilen. Dieser Offset ist gleich oder größer als die angeforderte Lookaheadgröße. Der Netzwerkadapter verwendet DMA, um die Lookahead- und Post-Lookahead-Daten in separate Freigegebene Speichersegmente zu übertragen.
NDIS_RECEIVE_FILTER_DYNAMIC_PROCESSOR_AFFINITY_CHANGE_SUPPORTED
Der Netzwerkadapter unterstützt die Möglichkeit, eines der folgenden Prozessoraffinitätsattribute dynamisch zu ändern:
- Die Prozessoraffinität einer VM-Warteschlange in der VMQ-Schnittstelle. Die Prozessoraffinität wird durch eine OID-Satzanforderung von OID_RECEIVE_FILTER_QUEUE_PARAMETERS geändert.
- Die Prozessoraffinität eines nicht standardmäßigen virtuellen Ports (VPort), der in der SR-IOV-Schnittstelle erstellt wurde und an die PCIe-Funktion (PCIe) physical function (PF) des Netzwerkadapters angefügt ist. Die Prozessoraffinität wird durch eine OID-Satzanforderung von OID_NIC_SWITCH_VPORT_PARAMETERS geändert.
NDIS_RECEIVE_FILTER_INTERRUPT_VECTOR_COALESCING_SUPPORTED
Der Netzwerkadapter unterstützt die Interrupt-Koalescierung für empfangene Pakete für eines der folgenden Elemente:
- Mehrere VM-Warteschlangen in der VMQ-Schnittstelle.
- Mehrere VPorts, die an die PF in der SR-IOV-Schnittstelle angefügt sind.
NDIS_RECEIVE_FILTER_IMPLAT_MIN_OF_QUEUES_MODE
Gibt an, dass die Anzahl der verfügbaren VM-Warteschlangen die Mindestanzahl von Warteschlangen entspricht, die von jedem Mitglied eines LBFO-Teams (Load Balancing Failover) verfügbar sind. Dieses Flag gilt nur für LBFO-Filter. Dieses Flag ist für Miniports nicht festgelegt.
NDIS_RECEIVE_FILTER_IMPLAT_SUM_OF_QUEUES_MODE
Gibt an, dass die Anzahl der verfügbaren VM-Warteschlangen die Summe aller Warteschlangen ist, die von jedem Mitglied eines LBFO-Teams verfügbar sind. Dieses Flag gilt nur für LBFO-Filter. Dieses Flag ist für Miniports nicht festgelegt.
NDIS_RECEIVE_FILTER_PACKET_COALESCING_SUPPORTED_ON_DEFAULT_QUEUE
Der Netzwerkadapter unterstützt NDIS-Paket-Koalescing. Paketverknappung wird nur in der Standard-Empfangswarteschlange des Netzwerkadapters unterstützt. Diese Empfangswarteschlange weist den Bezeichner NDIS_DEFAULT_RECEIVE_QUEUE_ID auf.
SupportedFilterTests
Ein bitweises OR von Flags, die die Testvorgänge angeben, die ein Miniporttreiber unterstützt. Die folgenden Flags werden definiert:
NDIS_RECEIVE_FILTER_TEST_HEADER_FIELD_EQUAL_SUPPORTED
Der Netzwerkadapter unterstützt das Testen des ausgewählten Headerfelds, um zu bestimmen, ob es einem bestimmten Wert entspricht.
NDIS_RECEIVE_FILTER_TEST_HEADER_FIELD_MASK_EQUAL_SUPPORTED
Der Netzwerkadapter unterstützt die Maskierung (also ein bitweises AND) des ausgewählten Headerfelds, um zu bestimmen, ob das Ergebnis einem angegebenen Wert entspricht.
NDIS_RECEIVE_FILTER_TEST_HEADER_FIELD_NOT_EQUAL_SUPPORTED
Der Netzwerkadapter unterstützt das Testen des ausgewählten Headerfelds, um festzustellen, ob es nicht einem angegebenen Wert entspricht.
SupportedHeaders
Ein bitweises OR von Flags, die die Typen von Netzwerkpaketheadern angeben, die ein Miniporttreiber überprüfen kann. Die folgenden Flags werden definiert:
NDIS_RECEIVE_FILTER_MAC_HEADER_SUPPORTED
Der Netzwerkadapter kann den MAC-Header (Media Access Control) eines Netzwerkpakets überprüfen. Das SupportedMacHeaderFields-Element definiert die verschiedenen Felder aus dem MAC-Header, die überprüft werden können.
NDIS_RECEIVE_FILTER_ARP_HEADER_SUPPORTED
Der Netzwerkadapter kann den ARP-Header (Address Resolution Protocol) eines Netzwerkpakets überprüfen. Das SupportedArpHeaderFields-Element definiert die verschiedenen Felder aus dem ARP-Header, die überprüft werden können.
NDIS_RECEIVE_FILTER_IPV4_HEADER_SUPPORTED
Der Netzwerkadapter kann den IP-Header der Version 4 (IPv4) eines Netzwerkpakets überprüfen. Das SupportedIPv4HeaderFields-Element definiert die verschiedenen Felder aus dem IPv4-Header, die überprüft werden können.
NDIS_RECEIVE_FILTER_IPV6_HEADER_SUPPORTED
Der Netzwerkadapter kann den IP-Header der Version 6 (IPv6) eines Netzwerkpakets überprüfen. Das SupportedIPv6HeaderFields-Element definiert die verschiedenen Felder aus dem IPv6-Header, die überprüft werden können.
NDIS_RECEIVE_FILTER_UDP_HEADER_SUPPORTED
Der Netzwerkadapter kann den UDP-Header (User Datagram Protocol) eines Netzwerkpakets überprüfen. Das SupportedIPv6HeaderFields-Element definiert die verschiedenen Felder aus dem UDP-Header, die überprüft werden können.
SupportedMacHeaderFields
Ein bitweises OR mit Flags, die die Typen von MAC-Headerfeldern angeben, die ein Miniporttreiber überprüfen kann. Die folgenden Flags sind definiert:
NDIS_RECEIVE_FILTER_MAC_HEADER_DEST_ADDR_SUPPORTED
Der Netzwerkadapter unterstützt die Überprüfung und Filterung, die auf der MAC-Zieladresse im MAC-Header basieren.
NDIS_RECEIVE_FILTER_MAC_HEADER_SOURCE_ADDR_SUPPORTED
Der Netzwerkadapter unterstützt die Überprüfung und Filterung, die auf der MAC-Quelladresse im MAC-Header basieren.
NDIS_RECEIVE_FILTER_MAC_HEADER_PROTOCOL_SUPPORTED
Der Netzwerkadapter unterstützt die Überprüfung und Filterung, die auf dem EtherType-Bezeichner im MAC-Header basieren. Der EtherType-Bezeichner für IPv4-Pakete ist beispielsweise 0x0800.
NDIS_RECEIVE_FILTER_MAC_HEADER_VLAN_ID_SUPPORTED
Der Netzwerkadapter unterstützt die Überprüfung und Filterung, die auf dem VLAN-Bezeichner im MAC-Header basieren.
NDIS_RECEIVE_FILTER_MAC_HEADER_PRIORITY_SUPPORTED
Der Netzwerkadapter unterstützt die Überprüfung und Filterung, die auf dem Prioritätstag im MAC-Header basieren.
NDIS_RECEIVE_FILTER_MAC_HEADER_PACKET_TYPE_SUPPORTED
Der Netzwerkadapter unterstützt die Überprüfung und Filterung, die auf dem Pakettypfeld des SNAP-Headers (IEEE 802.2 Subnetwork Access Protocol) in einem 802.3 MAC-Header basieren.
MaxMacHeaderFilters
Die maximale Anzahl von MAC-Headerfiltern, die der Miniporttreiber unterstützt.
MaxQueueGroups
Dieser Member ist für NDIS reserviert.
MaxQueuesPerQueueGroup
Dieser Member ist für NDIS reserviert.
MinLookaheadSplitSize
Die Mindestgröße in Bytes, die der Netzwerkadapter für Lookahead-Paketpuffer unterstützt.
MaxLookaheadSplitSize
Die maximale Größe in Bytes, die der Netzwerkadapter für Lookahead-Paketpuffer unterstützt.
SupportedARPHeaderFields
Ein bitweises OR mit Flags, die die Typen von ARP-Headerfeldern angeben, die ein Miniporttreiber überprüfen kann. Die folgenden Flags sind definiert:
NDIS_RECEIVE_FILTER_ARP_HEADER_OPERATION_SUPPORTED
Der Netzwerkadapter unterstützt die Empfangsfilterung für das ARP-Vorgangsfeld.
NDIS_RECEIVE_FILTER_ARP_HEADER_SPA_SUPPORTED
Der Netzwerkadapter unterstützt die Empfangsfilterung für das Feld ARP-Quellprotokolladresse (SPA).
NDIS_RECEIVE_FILTER_ARP_HEADER_TPA_SUPPORTED
Der Netzwerkadapter unterstützt die Empfangsfilterung im Feld ARP-Zielprotokolladresse (TPA).
SupportedIPv4HeaderFields
Ein bitweises OR mit Flags, die die Typen von IPv4-Headerfeldern angeben, die ein Miniporttreiber überprüfen kann. Die folgenden Flags sind definiert:
NDIS_RECEIVE_FILTER_IPV4_HEADER_PROTOCOL_SUPPORTED
Der Netzwerkadapter unterstützt die Empfangsfilterung für das IPv4-Protokollfeld.
SupportedIPv6HeaderFields
Ein bitweises OR mit Flags, die die Typen von IPv6-Headerfeldern angeben, die ein Miniporttreiber überprüfen kann. Die folgenden Flags sind definiert:
NDIS_RECEIVE_FILTER_IPV6_HEADER_PROTOCOL_SUPPORTED
Der Netzwerkadapter unterstützt die Empfangsfilterung für das IPv6-Protokollfeld.
SupportedUdpHeaderFields
Ein bitweises OR mit Flags, die die Typen von IPv6-Headerfeldern angeben, die ein Miniporttreiber überprüfen kann. Die folgenden Flags sind definiert:
NDIS_RECEIVE_FILTER_UDP_HEADER_DEST_PORT_SUPPORTED
Der Netzwerkadapter unterstützt die Empfangsfilterung im UDP-Zielportfeld.
MaxFieldTestsPerPacketCoalescingFilter
Die maximale Anzahl von Tests für Paketheaderfelder, die für einen einzelnen Paket-Sammelfilter angegeben werden können. Weitere Informationen zum Zusammenfügen von Paketen finden Sie unter NDIS Packet Coalescing.
MaxPacketCoalescingFilters
Die maximale Anzahl von Paket-Zusammenführungs-Empfangsfiltern, die vom Netzwerkadapter unterstützt werden.
NdisReserved
Reserviert. Auf 0 festlegen.
Hinweise
Die NDIS_RECEIVE_FILTER_CAPABILITIES-Struktur wird im ReceiveFilterCapabilities-Member des NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES NDIS_FILTER_ATTACH_PARAMETERS und NDIS_BIND_PARAMETERS Strukturen und das Rückgabeergebnis der OID_RECEIVE_FILTER_HARDWARE_CAPABILITIES OID-Abfrage.
Viele der Member- und Flageinstellungen der NDIS_RECEIVE_FILTER_CAPABILITIES-Struktur sind nur gültig, wenn der Miniporttreiber für die Verwendung der VMQ- oder SR-IOV-Schnittstelle aktiviert ist. Der Miniporttreiber kann diese Schnittstellen über standardisierte INF-Schlüsselwörter verwenden. Weitere Informationen finden Sie unter Behandeln von standardisierten INF-Schlüsselwörtern SR-IOV, VMQ und RSS.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt in NDIS 6.20 und höher. |
Kopfzeile | ntddndis.h (include Ndis.h) |
Weitere Informationen
NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES OID_RECEIVE_FILTER_HARDWARE_CAPABILITIESFeedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für