Interrogation et modification de l’état de déchargement de tâche NVGRE
Cette section explique comment interroger ou modifier la virtualisation réseau actuelle à l’aide de l’état de déchargement de tâche NVGRE (Generic Routing Encapsulation) d’un pilote miniport compatible NVGRE. Le déchargement de tâche NVGRE peut être activé par défaut, mais il ne doit pas être opérationnel par défaut. Une carte réseau ne doit pas commencer à effectuer des déchargements de tâche sur les paquets encapsulés tant que cette fonctionnalité n’est pas activée explicitement par un protocole NDIS ou un pilote de filtre.
Interrogation de l’état de déchargement des tâches NVGRE
Pour interroger l’état de déchargement de tâche NVGRE actuel d’un pilote miniport, un protocole ou un pilote de filtre NDIS utilise la requête OID OID_TCP_OFFLOAD_CURRENT_CONFIG . Cela retourne une structure de NDIS_OFFLOAD dont le membre EncapsuléPacketTaskOffloadGre est une structure NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD qui contient des NDIS_OFFLOAD_SUPPORTED si ces déchargements sont actuellement activés pour les paquets encapsulés gre et NDIS_OFFLOAD_NOT_SUPPORTED sinon. NDIS gère cet OID et ne le transmet pas au miniport.
Note Pour déterminer si un pilote miniport prend en charge le déchargement de tâche NVGRE, utilisez la requête OID OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES comme décrit dans Détermination des fonctionnalités de déchargement de tâche NVGRE d’une carte réseau.
Modification de l’état de déchargement des tâches NVGRE
Un pilote de filtre ou de protocole NDIS peut activer ou désactiver le déchargement de tâche NVGRE en émettant la requête OID OID_TCP_OFFLOAD_PARAMETERS . Cet OID utilise une structure NDIS_OFFLOAD_PARAMETERS . Dans cette structure, le membre EncapsuléPacketTaskOffload peut avoir les valeurs suivantes :
Terme | Description |
---|---|
NDIS_OFFLOAD_SET_NO_CHANGE |
L’état de déchargement de la tâche NVGRE est inchangé. |
NDIS_OFFLOAD_SET_ON |
Spécifiez cet indicateur pour activer le déchargement de tâche NVGRE. |
NDIS_OFFLOAD_SET_OFF |
Spécifiez cet indicateur pour désactiver le déchargement de tâche NVGRE. |
Une fois que le pilote miniport a traité la demande OID OID_TCP_OFFLOAD_PARAMETERS, il doit émettre une indication NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG status avec l’état de déchargement mis à jour.
Lorsqu’un pilote miniport reçoit une requête OID OID_TCP_OFFLOAD_PARAMETERS dans laquelle l’indicateur NDIS_OFFLOAD_SET_OFF est spécifié, le pilote doit indiquer tous les paquets encapsulés existants qui sont partiellement traités pour les déchargements de tâche dans la pile avant de terminer la demande OID.
Les déchargements de tâches de base pour les paquets normaux sont activés par les OID existants tels que les OID_OFFLOAD_ENCAPSULATION et les OID_RECEIVE_FILTER_ALLOCATE_QUEUE. Le paramètre de membre EncapsuléPacketTaskOffload complète ces OID et indique à la carte réseau d’effectuer également ces déchargements pour les paquets encapsulés.