structure NDIS_RECEIVE_FILTER_CAPABILITIES (ntddndis.h)
La structure NDIS_RECEIVE_FILTER_CAPABILITIES spécifie les fonctionnalités de filtrage de réception d’une carte réseau.
Les filtres de réception NDIS sont utilisés dans les interfaces NDIS suivantes :
-
NDIS Packet Coalescing. Pour plus d’informations sur l’utilisation des filtres de réception dans cette interface, consultez Gestion des filtres de réception de coalescing de paquets.
-
Virtualisation d’E/S racine unique (SR-IOV). Pour plus d’informations sur l’utilisation des filtres de réception dans cette interface, consultez Définition d’un filtre de réception sur un port virtuel.
-
Virtual Machine Queue (VMQ). Pour plus d’informations sur l’utilisation des filtres de réception dans cette interface, consultez Définition et suppression des filtres VMQ.
Syntaxe
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;
Membres
Header
Structure NDIS_OBJECT_HEADER de la structure NDIS_RECEIVE_FILTER_CAPABILITIES . Le pilote définit le membre Type de la structure que l’en-tête spécifie sur NDIS_OBJECT_TYPE_DEFAULT.
Pour indiquer la version de la structure NDIS_RECEIVE_FILTER_CAPABILITIES , le pilote définit le membre Revision sur l’une des valeurs suivantes :
NDIS_RECEIVE_FILTER_CAPABILITIES_REVISION_2
Ajouté
différents membres pour NDIS 6.30 et versions ultérieures.
Le pilote définit le membre Size sur NDIS_SIZEOF_RECEIVE_FILTER_CAPABILITIES_REVISION_2.
NDIS_RECEIVE_FILTER_CAPABILITIES_REVISION_1
Version d’origine pour NDIS 6.20.
Le pilote définit le membre Size sur NDIS_SIZEOF_RECEIVE_FILTER_CAPABILITIES_REVISION_1.
Flags
Or au niveau du bit d’indicateurs. Ce membre est réservé à NDIS.
EnabledFilterTypes
OR au niveau du bit des indicateurs qui spécifient les types de filtres de réception activés. L’indicateur de type de filtre suivant est valide.
NDIS_RECEIVE_FILTER_VMQ_FILTERS_ENABLED
Spécifie que les filtres VMQ sont activés.
NDIS_RECEIVE_FILTER_PACKET_COALESCING_FILTERS_ENABLED
Spécifie que les filtres de réception de fusion de paquets NDIS sont activés.
EnabledQueueTypes
Or au niveau du bit des indicateurs qui spécifient les types de files d’attente de réception activées. L’indicateur de type de file d’attente suivant est valide.
NDIS_RECEIVE_FILTER_VM_QUEUES_ENABLED
Spécifie que les files d’attente de machines virtuelles sont activées. Les files d’attente de machine virtuelle sont utilisées lorsque le pilote miniport est activé pour utiliser l’interface VMQ.
NumQueues
Nombre de files d’attente de machines virtuelles que la carte réseau prend en charge.
SupportedQueueProperties
OR au niveau du bit des indicateurs qui spécifient les propriétés de file d’attente de machine virtuelle prises en charge par la carte réseau. Les indicateurs suivants sont définis :
NDIS_RECEIVE_FILTER_MSI_X_SUPPORTED
La carte réseau utilise MSI-X pour la génération d’interruption de file d’attente de réception. Cet indicateur est obligatoire pour les pilotes miniport qui prennent en charge l’interface VMQ ou SR-IOV.
NDIS_RECEIVE_FILTER_VM_QUEUE_SUPPORTED
La carte réseau fournit la configuration minimale requise pour prendre en charge le filtrage des paquets de file d’attente de machine virtuelle.
Le pilote miniport doit définir cet indicateur s’il est activé pour utiliser l’interface VMQ ou SR-IOV.
Pour plus d’informations sur les exigences de VMQ pour le filtrage des paquets de files d’attente de machines virtuelles, consultez Définition et suppression des filtres VMQ.
Pour plus d’informations sur les exigences SR-IOV pour le filtrage des paquets de file d’attente de machine virtuelle, consultez Définition d’un filtre de réception sur un port virtuel.
NDIS_RECEIVE_FILTER_LOOKAHEAD_SPLIT_SUPPORTED
La carte réseau prend en charge les files d’attente de machines virtuelles qui fractionne un paquet reçu entrant au décalage du lookahead. Ce décalage est égal ou supérieur à la taille de lookahead demandée. La carte réseau utilise DMA pour transférer les données de lookahead et post-lookahead vers des segments de mémoire partagés distincts.
NDIS_RECEIVE_FILTER_DYNAMIC_PROCESSOR_AFFINITY_CHANGE_SUPPORTED
La carte réseau prend en charge la possibilité de modifier dynamiquement l’un des attributs d’affinité processeur suivants :
- Affinité processeur d’une file d’attente de machines virtuelles dans l’interface VMQ. L’affinité processeur est modifiée par le biais d’une demande de jeu OID de OID_RECEIVE_FILTER_QUEUE_PARAMETERS.
- Affinité processeur d’un port virtuel non par défaut (VPort), qui a été créé dans l’interface SR-IOV et est attaché à la fonction physique PCI Express (PCIe) de la carte réseau. L’affinité processeur est modifiée via une demande de jeu OID de OID_NIC_SWITCH_VPORT_PARAMETERS.
NDIS_RECEIVE_FILTER_INTERRUPT_VECTOR_COALESCING_SUPPORTED
La carte réseau prend en charge la fusion des interruptions pour les paquets reçus sur l’un des éléments suivants :
- Plusieurs files d’attente de machines virtuelles dans l’interface VMQ.
- Plusieurs VPorts qui sont attachés au PF dans l’interface SR-IOV.
NDIS_RECEIVE_FILTER_IMPLAT_MIN_OF_QUEUES_MODE
Indique que le nombre de files d’attente de machines virtuelles disponibles correspond au nombre minimal de files d’attente disponibles de n’importe quel membre d’une équipe d’équilibrage de charge sur le basculement (LBFO). Cet indicateur s’applique uniquement aux filtres LBFO. Cet indicateur n’est pas défini pour les miniports.
NDIS_RECEIVE_FILTER_IMPLAT_SUM_OF_QUEUES_MODE
Indique que le nombre de files d’attente de machines virtuelles disponibles est la somme de toutes les files d’attente disponibles de chaque membre d’une équipe LBFO. Cet indicateur s’applique uniquement aux filtres LBFO. Cet indicateur n’est pas défini pour les miniports.
NDIS_RECEIVE_FILTER_PACKET_COALESCING_SUPPORTED_ON_DEFAULT_QUEUE
La carte réseau prend en charge le regroupement de paquets NDIS. La fusion de paquets n’est prise en charge que dans la file d’attente de réception par défaut de la carte réseau. Cette file d’attente de réception a un identificateur de NDIS_DEFAULT_RECEIVE_QUEUE_ID.
SupportedFilterTests
OR au niveau du bit des indicateurs qui spécifient les opérations de test qu’un pilote miniport prend en charge. Les indicateurs suivants sont définis :
NDIS_RECEIVE_FILTER_TEST_HEADER_FIELD_EQUAL_SUPPORTED
La carte réseau prend en charge le test du champ d’en-tête sélectionné pour déterminer s’il est égal à une valeur donnée.
NDIS_RECEIVE_FILTER_TEST_HEADER_FIELD_MASK_EQUAL_SUPPORTED
La carte réseau prend en charge le masquage (c’est-à-dire un bit AND) du champ d’en-tête sélectionné pour déterminer si le résultat est égal à une valeur spécifiée.
NDIS_RECEIVE_FILTER_TEST_HEADER_FIELD_NOT_EQUAL_SUPPORTED
La carte réseau prend en charge le test du champ d’en-tête sélectionné pour déterminer s’il n’est pas égal à une valeur spécifiée.
SupportedHeaders
OR au niveau du bit des indicateurs qui spécifient les types d’en-têtes de paquets réseau qu’un pilote miniport peut inspecter. Les indicateurs suivants sont définis :
NDIS_RECEIVE_FILTER_MAC_HEADER_SUPPORTED
La carte réseau peut inspecter l’en-tête de contrôle d’accès multimédia (MAC) d’un paquet réseau. Le membre SupportedMacHeaderFields définit les différents champs de l’en-tête MAC qui peuvent être inspectés.
NDIS_RECEIVE_FILTER_ARP_HEADER_SUPPORTED
La carte réseau peut inspecter l’en-tête ARP (Address Resolution Protocol) d’un paquet réseau. Le membre SupportedArpHeaderFields définit les différents champs de l’en-tête ARP qui peuvent être inspectés.
NDIS_RECEIVE_FILTER_IPV4_HEADER_SUPPORTED
La carte réseau peut inspecter l’en-tête IP version 4 (IPv4) d’un paquet réseau. Le membre SupportedIPv4HeaderFields définit les différents champs de l’en-tête IPv4 qui peuvent être inspectés.
NDIS_RECEIVE_FILTER_IPV6_HEADER_SUPPORTED
La carte réseau peut inspecter l’en-tête IP version 6 (IPv6) d’un paquet réseau. Le membre SupportedIPv6HeaderFields définit les différents champs de l’en-tête IPv6 qui peuvent être inspectés.
NDIS_RECEIVE_FILTER_UDP_HEADER_SUPPORTED
La carte réseau peut inspecter l’en-tête UDP (User Datagram Protocol) d’un paquet réseau. Le membre SupportedIPv6HeaderFields définit les différents champs de l’en-tête UDP qui peuvent être inspectés.
SupportedMacHeaderFields
Ou au niveau du bit des indicateurs qui spécifient les types de champs d’en-tête MAC qu’un pilote de miniport peut inspecter. Les indicateurs suivants sont définis :
NDIS_RECEIVE_FILTER_MAC_HEADER_DEST_ADDR_SUPPORTED
La carte réseau prend en charge l’inspection et le filtrage basés sur l’adresse MAC de destination dans l’en-tête MAC.
NDIS_RECEIVE_FILTER_MAC_HEADER_SOURCE_ADDR_SUPPORTED
La carte réseau prend en charge l’inspection et le filtrage basés sur l’adresse MAC source dans l’en-tête MAC.
NDIS_RECEIVE_FILTER_MAC_HEADER_PROTOCOL_SUPPORTED
La carte réseau prend en charge l’inspection et le filtrage basés sur l’identificateur EtherType dans l’en-tête MAC. Par exemple, l’identificateur EtherType pour les paquets IPv4 est 0x0800.
NDIS_RECEIVE_FILTER_MAC_HEADER_VLAN_ID_SUPPORTED
La carte réseau prend en charge l’inspection et le filtrage basés sur l’identificateur de réseau local virtuel dans l’en-tête MAC.
NDIS_RECEIVE_FILTER_MAC_HEADER_PRIORITY_SUPPORTED
La carte réseau prend en charge l’inspection et le filtrage basés sur la balise de priorité dans l’en-tête MAC.
NDIS_RECEIVE_FILTER_MAC_HEADER_PACKET_TYPE_SUPPORTED
La carte réseau prend en charge l’inspection et le filtrage basés sur le champ de type de paquet de l’en-tête SNAP (Subnetwork Access Protocol) IEEE 802.2 dans un en-tête MAC 802.3.
MaxMacHeaderFilters
Nombre maximal de filtres d’en-tête MAC pris en charge par le pilote miniport.
MaxQueueGroups
Ce membre est réservé à NDIS.
MaxQueuesPerQueueGroup
Ce membre est réservé à NDIS.
MinLookaheadSplitSize
Taille minimale, en octets, prise en charge par la carte réseau pour les mémoires tampons de paquets de lookahead.
MaxLookaheadSplitSize
Taille maximale, en octets, prise en charge par la carte réseau pour les mémoires tampons de paquets de lookahead.
SupportedARPHeaderFields
Ou au niveau du bit des indicateurs qui spécifient les types de champs d’en-tête ARP qu’un pilote de miniport peut inspecter. Les indicateurs suivants sont définis :
NDIS_RECEIVE_FILTER_ARP_HEADER_OPERATION_SUPPORTED
La carte réseau prend en charge le filtrage de réception sur le champ d’opération ARP.
NDIS_RECEIVE_FILTER_ARP_HEADER_SPA_SUPPORTED
La carte réseau prend en charge le filtrage de réception sur le champ Adresse de protocole source (SPA) ARP.
NDIS_RECEIVE_FILTER_ARP_HEADER_TPA_SUPPORTED
La carte réseau prend en charge le filtrage de réception sur le champ Adresse de protocole cible (TPA) ARP.
SupportedIPv4HeaderFields
Or au niveau du bit d’indicateurs qui spécifient les types de champs d’en-tête IPv4 qu’un pilote de miniport peut inspecter. Les indicateurs suivants sont définis :
NDIS_RECEIVE_FILTER_IPV4_HEADER_PROTOCOL_SUPPORTED
La carte réseau prend en charge le filtrage de réception sur le champ de protocole IPv4.
SupportedIPv6HeaderFields
Ou au niveau du bit des indicateurs qui spécifient les types de champs d’en-tête IPv6 qu’un pilote miniport peut inspecter. Les indicateurs suivants sont définis :
NDIS_RECEIVE_FILTER_IPV6_HEADER_PROTOCOL_SUPPORTED
La carte réseau prend en charge le filtrage de réception sur le champ de protocole IPv6.
SupportedUdpHeaderFields
Ou au niveau du bit des indicateurs qui spécifient les types de champs d’en-tête IPv6 qu’un pilote miniport peut inspecter. Les indicateurs suivants sont définis :
NDIS_RECEIVE_FILTER_UDP_HEADER_DEST_PORT_SUPPORTED
La carte réseau prend en charge le filtrage de réception sur le champ port de destination UDP.
MaxFieldTestsPerPacketCoalescingFilter
Nombre maximal de tests sur les champs d’en-tête de paquet qui peuvent être spécifiés pour un filtre de fusion de paquets unique. Pour plus d’informations sur la fusion des paquets, consultez Coalescing de paquets NDIS.
MaxPacketCoalescingFilters
Nombre maximal de filtres de réception de fusion de paquets pris en charge par la carte réseau.
NdisReserved
Réservé. Définit la valeur 0.
Remarques
La structure NDIS_RECEIVE_FILTER_CAPABILITIES est utilisée dans le membre ReceiveFilterCapabilities du NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES, NDIS_FILTER_ATTACH_PARAMETERS et NDIS_BIND_PARAMETERS structures et le résultat de retour de la OID_RECEIVE_FILTER_HARDWARE_CAPABILITIES Requête OID.
La plupart des membres et des paramètres d’indicateur de la structure NDIS_RECEIVE_FILTER_CAPABILITIES sont valides uniquement si le pilote miniport est activé pour utiliser l’interface VMQ ou SR-IOV. Le pilote miniport est activé pour utiliser ces interfaces via des mots clés INF standardisés. Pour plus d’informations, consultez Gestion des mots clés INF standardisés SR-IOV, VMQ et RSS.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Pris en charge dans NDIS 6.20 et versions ultérieures. |
En-tête | ntddndis.h (include Ndis.h) |
Voir aussi
NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES OID_RECEIVE_FILTER_HARDWARE_CAPABILITIESCommentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour