NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD structure (ntddndis.h)
La structure NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD contient l’état de prise en charge du déchargement pour la virtualisation de réseau à l’aide de NVGRE (Generic Routing Encapsulation) Task Offload (NVGRE-TO). Cette structure est utilisée dans le membre EncapsuléPacketTaskOffloadGre de la structure NDIS_OFFLOAD .
Syntaxe
typedef struct _NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD {
ULONG TransmitChecksumOffloadSupported : 4;
ULONG ReceiveChecksumOffloadSupported : 4;
ULONG LsoV2Supported : 4;
ULONG RssSupported : 4;
ULONG VmqSupported : 4;
ULONG UsoSupported : 4;
ULONG Reserved : 8;
ULONG MaxHeaderSizeSupported;
} NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD, *PNDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD;
Membres
TransmitChecksumOffloadSupported
Paramètres de déchargement des tâches pour la somme de contrôle de transmission.
ReceiveChecksumOffloadSupported
Paramètres de déchargement des tâches pour la somme de contrôle de réception.
LsoV2Supported
Paramètres de déchargement de tâche pour le déchargement d’envoi volumineux version 2 (LSOv2).
RssSupported
Paramètres de déchargement des tâches pour la mise à l’échelle côté réception (RSS).
VmqSupported
Paramètres de déchargement des tâches pour la file d’attente de machines virtuelles (VMQ).
UsoSupported
Paramètres de déchargement de tâche pour le déchargement de segmentation UDP (USO).
Reserved
Réservé pour le système.
MaxHeaderSizeSupported
Ce membre doit être défini sur la taille d’en-tête maximale du début du paquet au début de la charge utile TCP ou UDP interne (le 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.
Remarques
Dans la publication initiale des fonctionnalités et dans NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG et NDIS_STATUS_TASK_OFFLOAD_HARDWARE_CAPABILITIES status indications, les membres TransmitChecksumOffloadSupported, ReceiveChecksumOffloadSupported, LsoV2Supported, RssSupported, VmqSupported et UsoSupported peuvent être définis sur un ou au niveau du bit des indicateurs suivants :
Terme | Description |
---|---|
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_NOT_SUPPORTED | Spécifie que l’adaptateur miniport ne prend pas en charge la fonctionnalité de déchargement de tâche correspondante spécifiée par le membre. |
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_INNER_IPV4 | Spécifie que l’adaptateur miniport prend en charge la fonctionnalité de déchargement de tâche correspondante que le membre spécifie où l’en-tête IP interne d’un paquet encapsulé est IPv4. |
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_OUTER_IPV4 | Spécifie que l’adaptateur miniport prend en charge la fonctionnalité de déchargement de tâche correspondante que le membre spécifie où l’en-tête IP externe d’un paquet encapsulé est IPv4. |
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_INNER_IPV6 | Spécifie que l’adaptateur miniport prend en charge la fonctionnalité de déchargement de tâche correspondante que le membre spécifie où l’en-tête IP interne d’un paquet encapsulé est IPv6. |
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_OUTER_IPV6 | Spécifie que l’adaptateur miniport prend en charge la fonctionnalité de déchargement de tâche correspondante que le membre spécifie où l’en-tête IP externe d’un paquet encapsulé est IPv6. |
Par exemple, si un adaptateur et un pilote miniport prennent uniquement en charge un en-tête IPv6 en tant qu’en-tête IP externe, mais pas en tant qu’en-tête IP interne, il définit TransmitChecksumOffloadSupported, ReceiveChecksumOffloadSupported, LsoV2Supported, RssSupported, VmqSupported et UsoSupported sur la valeur de l’or au niveau du bit de NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_INNER_IPV4, NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_OUTER_IPV4 et NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_OUTER_IPV6.
En ce qui concerne les options IP et TCP, l’hypothèse suivante a été faite pour les paquets encapsulés :
- Si la carte réseau spécifie la prise en charge d’IpOptions et tcpOptions dans le chargement normal de la somme de contrôle et la publication LSOv2, elle doit prendre en charge le traitement de l’option pour les paquets encapsulés si network virtualization utilisant le déchargement de tâche NVGRE (Generic Routing Encapsulation) est pris en charge. Cela signifie qu’il prend en charge les options IP internes et externes et les options TCP à l’intérieur des paquets encapsulés. Il n’existe aucune publication de fonctionnalités distinctes pour celles-ci spécifiques uniquement au déchargement de tâche NVGRE.
Il est possible pour un pilote de protocole de décharger des paquets « en mode mixte », ce qui signifie des paquets dans lesquels les versions d’en-tête IP interne et externe sont différentes. Par exemple, un paquet peut avoir un en-tête IP externe comme IPv6 et l’en-tête IP interne comme IPv4.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 8,Pris en charge dans NDIS 6.30 et versions ultérieures. |
Serveur minimal pris en charge | Windows Server 2012 |
En-tête | ntddndis.h (include Ndis.h) |