Share via


OID_GEN_RECEIVE_SCALE_PARAMETERS_V2

Avertissement

Certaines informations de cette rubrique concernent le produit pré-publié, qui peut être sensiblement modifié avant sa commercialisation. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.

RSSv2 est disponible en préversion uniquement dans Windows 10, version 1809.

L’OID OID_GEN_RECEIVE_SCALE_PARAMETERS_V2 est envoyé aux pilotes miniport compatibles RSSv2 pour 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 l’OID OID_GEN_RECEIVE_SCALE_PARAMETERS de RSSv1 et n’est pas visible par NDIS Light Weight Filters (LWFs) avant NDIS 6.80. Cet OID est un OID standard et peut être émis en tant que requête de requête ou de jeu. Il est émis à l’adresse IRQL == PASSIVE_LEVEL. Il peut cibler un VPort donné, lorsque l’indicateur 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 (un adaptateur miniport en mode RSS natif ou un 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 d’indirection pour l’entité de mise à l’échelle.

Notes

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 ITE deviennent actifs.
  • Le pilote miniport démarre le calcul du hachage RSS, définit l’OOB correspondant pour tous les paquets et dirige les paquets vers un processeur spécifié par l’entrée de la table d’indirection ou le paramètre de processeur par défaut.

Une fois RSS activé, la couche supérieure émet l’OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES OID pour déplacer les ITE 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 ITE 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, garantissant ainsi 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 celui configuré pour un VPort. Avant de modifier le nombre d’entrées de table d’indirection pour les adaptateurs VMMQ-RESTRICTED, la couche supérieure s’assure que le contenu de la table d’indirection est normalisé à la puissance de 2.

Conditions d’erreur et codes status

Cet OID retourne les codes status suivants lorsqu’une erreur se produit :

Code d’état État d’erreur
NDIS_STATUS_INVALID_LENGTH L’OID était 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
  • La table d’indirection est réduite en taille, mais ne contient pas de modèle de répétition power-of-two.
  • Lors d’une transition d’état RSS ( activé ou désactivé), un processeur à partir d’un paramètre de direction qui devient actif n’appartient pas au jeu de processeur RSS de l’adaptateur. Notez que les paramètres de direction inactifs suivent uniquement les écritures sur le processeur et ne sont pas appliqués. L’application se produit pendant la transition d’état RSS lorsque le paramètre devient actif.
NDIS_STATUS_INVALID_PARAMETER D’autres champs, que ce soit dans l’en-tête ou dans l’OID lui-même, contiennent des valeurs non valides.

Spécifications

Version : Windows 10, version 1709 En-tête : Ntddndis.h (include Ndis.h)

Voir aussi