Vue d’ensemble de la virtualisation de réseau à l’aide du déchargement de tâche NVGRE (Generic Routing Encapsulation)
Format de paquet d’encapsulation NVGRE
Dans ce cas, un pilote de protocole ou de filtre génère les paquets (non-LSO), y compris l’encapsulation GRE, et envoie les paquets sur le câble. Du côté de la réception, ces paquets (non RSS, VMQ) sont passés au pilote de protocole sans aucune modification. Notez que la fonctionnalité de déchargement de tâche NVGRE ne spécifie pas le déchargement des opérations d’encapsulation et de décapitation.
Envoyer et recevoir des déchargements
Sur le chemin d’envoi, les déchargements de tâche suivants doivent tenir compte de l’encapsulation :
- Calcul de la somme de contrôle de la charge utile IPv4 et TCP ou UDP
- Déchargement d’envoi volumineux version 1 (LSO_v1) et déchargement d’envoi volumineux version 2 (LSO_v2)
- Déchargement de segmentation UDP (USO)
Pour les déchargements côté envoi, le miniport doit effectuer les opérations correspondantes sur l’en-tête IP du tunnel (externe), l’en-tête IP de transport (interne) et l’en-tête TCP.
Sur le chemin de réception, les déchargements de tâche suivants doivent tenir compte de l’encapsulation :
- Validation de la somme de contrôle d’IPv4 et de charge utile TCP ou UDP
- Mise à l’échelle côté réception (RSS)
- VMQ
Pour les déchargements côté réception, la carte réseau doit analyser les en-têtes du protocole d’encapsulation. Par exemple, pour l’encapsulation GRE, la carte réseau doit analyser l’en-tête GRE et effectuer des déchargements de tâches sur les en-têtes IP de transport (interne) et/ou de tunnel (externe).