structure NDIS_RECEIVE_SCALE_CAPABILITIES (ntddndis.h)
La structure NDIS_RECEIVE_SCALE_CAPABILITIES spécifie les fonctionnalités de mise à l’échelle côté réception (RSS) d’un adaptateur miniport.
Syntaxe
typedef struct _NDIS_RECEIVE_SCALE_CAPABILITIES {
NDIS_OBJECT_HEADER Header;
NDIS_RSS_CAPS_FLAGS CapabilitiesFlags;
ULONG NumberOfInterruptMessages;
ULONG NumberOfReceiveQueues;
USHORT NumberOfIndirectionTableEntries;
} NDIS_RECEIVE_SCALE_CAPABILITIES, *PNDIS_RECEIVE_SCALE_CAPABILITIES;
Membres
Header
Structure NDIS_OBJECT_HEADER de la structure NDIS_RECEIVE_SCALE_CAPABILITIES . Définissez le membre Type de la structure que l’en-tête spécifie sur NDIS_OBJECT_TYPE_RSS_CAPABILITIES.
Pour NDIS 6.60 et versions ultérieures, définissez le membre Revisionsur NDIS_RECEIVE_SCALE_CAPABILITIES_REVISION_3 et le membre Sizesur NDIS_SIZEOF_RECEIVE_SCALE_CAPABILITIES_REVISION_3.
Pour NDIS 6.30 et versions ultérieures, définissez le membre Revisionsur NDIS_RECEIVE_SCALE_CAPABILITIES_REVISION_2 et le membre Sizesur NDIS_SIZEOF_RECEIVE_SCALE_CAPABILITIES_REVISION_2.
Pour NDIS 6.0, 6.1 et 6.20, définissez le membre Revisionsur NDIS_RECEIVE_SCALE_CAPABILITIES_REVISION_1 et le membre Size sur NDIS_SIZEOF_RECEIVE_SCALE_CAPABILITIES_REVISION_1.
CapabilitiesFlags
Masque de bits d’indicateurs qui spécifient les fonctionnalités RSS de la carte réseau. Le pilote miniport peut spécifier les indicateurs suivants :
Valeur | Signification |
---|---|
|
Définissez cet indicateur si la carte réseau prend en charge les interruptions signalées par message (MSIs). Cet indicateur indique que la carte réseau peut générer une interruption distincte pour chaque processeur après avoir mis en file d’attente les paquets qui sont affectés à ce processeur. |
|
Définissez cet indicateur si la carte réseau peut indiquer à la fonction MiniportInterrupt quels processeurs cibles ont mis en file d’attente les paquets reçus. |
|
Définissez cet indicateur si la carte réseau utilise des interruptions signalées par message (MSIs). Cet indicateur est pris en charge dans NDIS 6.20 et versions ultérieures. |
|
Définissez cet indicateur si la carte d’interface réseau prend en charge les IMS. Cet indicateur est pris en charge dans NDIS 6.30 et versions ultérieures. |
|
Définissez cet indicateur si le pilote miniport peut détecter les processeurs cibles qui ont mis en file d’attente les paquets de réception de sa fonction MiniportInterruptDPC . |
|
Définissez cet indicateur si la carte réseau peut identifier un paquet IPv4 (avec ou sans options). En outre, la carte réseau prend en charge le calcul de la valeur de hachage sur les champs d’en-tête IPv4 et les champs d’en-tête TCP. |
|
Définissez cet indicateur si la carte réseau peut identifier un paquet IPv6 et calculer une valeur de hachage sur les champs d’un paquet IPv6. La carte réseau doit être en mesure de calculer une valeur de hachage sur les champs de l’en-tête IPv6 de base et sur les champs de l’en-tête TCP. Utilisez cet indicateur si la carte réseau ne peut pas calculer une valeur de hachage sur des champs situés dans des en-têtes d’extension IPv6. |
|
Définissez cet indicateur si la carte réseau peut identifier un paquet IPv6 et calculer une valeur de hachage sur les champs d’un paquet IPv6 qui contient des en-têtes d’extension IPv6. La carte réseau peut calculer une valeur de hachage sur des champs dans l’en-tête IPv6 de base, les en-têtes d’extension IPv6 et l’en-tête TCP. La carte réseau doit être en mesure de calculer les valeurs de hachage sur les champs de l’option d’adresse d’accueil et l’en-tête de routage de type 2 dans les en-têtes d’extension IPv6. |
|
Définissez cet indicateur si la carte réseau peut identifier un paquet IPv4, avec ou sans options, et si la carte réseau prend en charge le calcul de la valeur de hachage sur les champs d’en-tête IPv4 et les champs d’en-tête UDP. |
|
Définissez cet indicateur si la carte réseau peut identifier un paquet IPv6 et calculer une valeur de hachage sur les champs d’un paquet IPv6. La carte réseau doit être en mesure de calculer une valeur de hachage sur les champs de l’en-tête IPv6 de base et sur les champs de l’en-tête UDP. Utilisez cet indicateur si la carte réseau ne peut pas calculer une valeur de hachage sur des champs situés dans des en-têtes d’extension IPv6. |
|
Définissez cet indicateur si la carte réseau peut identifier un paquet IPv6 et calculer une valeur de hachage sur les champs d’un paquet IPv6 qui contient des en-têtes d’extension IPv6. La carte réseau peut calculer une valeur de hachage sur des champs dans l’en-tête IPv6 de base, les en-têtes d’extension IPv6 et l’en-tête UDP. La carte réseau doit être en mesure de calculer les valeurs de hachage sur les champs de l’option d’adresse d’accueil et l’en-tête de routage de type 2 dans les en-têtes d’extension IPv6. |
|
Définissez cet indicateur si la carte réseau prend en charge la fonction de hachage toeplitz. Si la carte réseau prend en charge RSS, la prise en charge de la fonction de hachage est obligatoire. Pour plus d’informations sur les fonctions de hachage, consultez NDIS_RSS_HASH_FUNC_FROM_HASH_INFO. |
|
Cet indicateur est réservé pour une utilisation future. |
|
Cet indicateur est réservé pour une utilisation future. |
|
Cet indicateur est réservé pour une utilisation future. |
NumberOfInterruptMessages
Nombre de messages d’interruption pris en charge par la carte réseau si la carte réseau prend en charge les MCI. Si la carte réseau ne prend pas en charge les MSIs, mais prend en charge les interruptions basées sur les lignes, définissez ce nombre sur 1.
NumberOfReceiveQueues
Nombre de files d’attente de réception matérielles que la carte réseau prend en charge.
NumberOfIndirectionTableEntries
Nombre maximal d’entrées que le pilote miniport prend en charge dans la table d’indirection. Cette valeur doit être une puissance de 2. Tous les adaptateurs NDIS 6.30 et versions ultérieures de miniport doivent prendre en charge ce membre, ce qui est requis pour les fonctions virtuelles.
Remarques
Les pilotes en sur-position peuvent utiliser le OID_GEN_RECEIVE_SCALE_CAPABILITIES OID pour interroger les fonctionnalités de mise à l’échelle côté réception (RSS) d’une carte réseau et de son pilote miniport.
Le pilote miniport retourne les fonctionnalités RSS dans une structure NDIS_RECEIVE_SCALE_CAPABILITIES .
Pour certaines charges de travail, un sous-ensemble de paquets UDP peut être fragmenté en raison de modifications de routage ou de l’expéditeur ne respectant pas les limitations MTU. Dans de tels cas rares, les paquets du même flux peuvent être indiqués sur différents processeurs en fonction du hachage à 4 tuples ou 2 tuples. Par conséquent, les pilotes miniports qui publient des NDIS_RSS_CAPS_HASH_TYPE_UDP_IPV4, des NDIS_RSS_CAPS_HASH_TYPE_UDP_IPV6 et des NDIS_RSS_CAPS_HASH_TYPE_UDP_IPV6_EX doivent fournir un moyen de désactiver les fonctionnalités RSS UDP via les propriétés avancées.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Pris en charge dans NDIS 6.0 et versions ultérieures. |
En-tête | ntddndis.h (inclure Ndis.h) |