OID_GEN_RECEIVE_SCALE_PARAMETERS_V2
Avertissement
Certaines informations contenues dans cette rubrique concernent le produit prédéfinit, qui peut être sensiblement modifié avant sa publication commerciale. Microsoft n’offre aucune garantie, expresse ou implicite, en ce qui concerne les informations fournies ici.
RSSv2 est en préversion uniquement dans Windows 10, version 1809.
L’OID OID_GEN_RECEIVE_SCALE_PARAMETERS_V2 est envoyé à RSSv2pilotes miniport capables de définir des paramètres d’exécution, autres que la table d’indirection, pour une entité de mise à l’échelle. OID_GEN_RECEIVE_SCALE_PARAMETERS_V2 remplace le OID_GEN_RECEIVE_SCALE_PARAMETERS OID de RSSv1 et n’est pas visible par les filtres de poids léger NDIS (LWFs) avant NDIS 6.80. Cet OID est un OID standard et peut être émis en tant que requête ou requête Set. Il est émis à IRQL == PASSIVE_LEVEL. Il peut cibler un VPort donné lorsque l’indicateur de NDIS_OID_REQUEST_FLAGS_VPORT_ID_VALID est défini lors de la création du commutateur de carte réseau. Sinon, il cible la carte réseau physique dans le cas RSS natif.
En tant que requête, les pilotes NDIS et overlying peuvent utiliser OID_GEN_RECEIVE_SCALE_PARAMETERS_V2 pour interroger les paramètres RSS d’une carte réseau. NDIS retourne une structure NDIS_RECEIVE_SCALE_PARAMETERS_V2 qui définit les paramètres RSS actuels.
En tant qu’ensemble, l’objectif de cet OID est d’effectuer les actions suivantes :
- Configurez initialement l’entité de mise à l’échelle (adaptateur miniport en mode RSS natif ou VPort en mode VMQ).
- Activez ou désactivez RSS.
- En mode RSS, effectuez des fonctions de gestion non critiques de minutage, telles que la modification de la clé de hachage, du type de hachage et de la fonction de hachage, du nombre de files d’attente ou du nombre d’entrées de table indirectes pour l’entité de mise à l’échelle.
Remarques
L’activation de RSS et la définition des paramètres RSS peuvent être effectuées en une seule étape. Une fois que la couche supérieure active RSS à l’aide de cet OID, l’état initial de l’entité de mise à l’échelle est le suivant :
- Le processeur principal devient inactif.
- Le processeur par défaut devient actif.
- Tous les ites deviennent actifs.
- Le pilote miniport démarre le calcul du hachage RSS, le paramètre de l’OOB correspondant pour tous les paquets et dirige les paquets vers un processeur spécifié par l’entrée de table d’indirection ou le paramètre de processeur par défaut.
Une fois RSS activé, la couche supérieure émet l’OID OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES pour déplacer des ites vers différents processeurs. Dans RSSv2, DefaultQueue et primaryProcessor sont également déplacés vers un autre processeur à l’aide de OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES.
Pendant le processus de désactivation de RSS, la couche supérieure pointe tous les ites vers le processeur principal avant d’appeler cet OID pour désactiver RSS. Après ce point, le trafic de réception doit cibler le processeur principal. Toutefois, les pilotes miniport ne doivent pas s’attendre à la désactivation de RSS avant la suppression de VPort. La couche supérieure peut définir le filtre de réception sur le VPort sur zéro, ce qui garantit qu’aucun trafic de réception ne transite par le VPort, puis continuer à supprimer le VPort sans désactiver RSS.
La couche supérieure garantit que les invariants importants ne sont pas violés avant d’effectuer des fonctions de gestion. Par exemple:
- Avant de modifier le nombre de files d’attente, la couche supérieure garantit que la table d’indirection ne référence pas plus de processeurs que configurés pour un VPort. Avant de modifier le nombre d’entrées de table d’indirection pour les adaptateurs VMMQ-RESTRICTED, la couche supérieure garantit que le contenu de la table d’indirection est normalisé à la puissance de 2.
Conditions d’erreur et codes d’état
Cet OID retourne les codes d’état suivants lorsqu’une erreur se produit :
Code d’état | Condition d’erreur |
---|---|
NDIS_STATUS_INVALID_LENGTH | L’OID a été mal formé. |
NDIS_STATUS_NO_QUEUES | Le nombre de files d’attente est modifié lorsque RSS est activé, mais la table d’indirection actuelle fait référence à plus de processeurs que le nouveau nombre de files d’attente. |
NDIS_STATUS_INVALID_DATA |
|
NDIS_STATUS_INVALID_PARAMETER | Les autres champs, dans l’en-tête ou dans l’OID lui-même, contiennent des valeurs non valides. |
Exigences
Version: Windows 10, version 1709 Header: Ntddndis.h (include Ndis.h)