Partager via


Détermination des fonctionnalités de déchargement de tâche NVGRE d’une carte réseau

Un pilote miniport qui prend en charge la virtualisation de réseau à l’aide du déchargement de tâche NVGRE (Generic Routing Encapsulation) signale cette fonctionnalité au moyen de la structure NDIS_OFFLOAD que sa fonction MiniportInitializeEx transmet à NdisMSetMiniportAttributes.

Fonctionnalité de déchargement de tâche NVGRE de création de rapports

Dans la structure NDIS_OFFLOAD , le membre Header doit être défini comme suit :

  • Le membre Revision doit être défini sur NDIS_OFFLOAD_REVISION_3.
  • Le membre Size doit être défini sur NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_3.

Pour signaler sa prise en charge du déchargement de tâche NVGRE, un pilote miniport définit les membres suivants dans la structure NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD , qui est stockée dans le membre EncapsuléPacketTaskOffloadGre de la structure NDIS_OFFLOAD que la fonction MiniportInitializeEx du pilote miniport transmet à NdisMSetMiniportAttributes :

  • Définissez le membre MaxHeaderSizeSupported sur la taille d’en-tête maximale du début du paquet au début de la charge utile TCP ou UDP interne (dernier octet de l’en-tête interne TCP ou UDP) que la carte réseau doit prendre en charge pour tous ces déchargements de tâches. Le pilote de protocole ne doit pas décharger le traitement d’un paquet dont les en-têtes d’encapsulation combinés dépassent cette taille.

    Remarque 256 octets est une bonne valeur par défaut qui doit couvrir tous les cas possibles.

  • Définissez les autres membres pour indiquer quels types de tâches déchargent le pilote miniport pris en charge pour les paquets encapsulés. Pour obtenir la liste des indicateurs qui peuvent être définis pour ces membres, consultez la section Remarques de NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD.

Interrogation de la fonctionnalité de déchargement de tâche NVGRE

Pour déterminer si un pilote miniport prend en charge le déchargement de tâche NVGRE, les pilotes de protocole et de filtre peuvent émettre la requête OID OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES , qui retourne la structure NDIS_OFFLOAD .

Note Pour déterminer si la fonctionnalité NVGRE du pilote miniport est actuellement activée, utilisez la requête OID OID_TCP_OFFLOAD_CURRENT_CONFIG comme décrit dans Interrogation et modification de l’état de déchargement de la tâche NVGRE.

Note Pour activer ou désactiver la fonctionnalité NVGRE du pilote miniport, utilisez la requête OID OID_TCP_OFFLOAD_PARAMETERS comme décrit dans Interrogation et modification de l’état de déchargement de la tâche NVGRE.