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)

Voir aussi