structure NET_PACKET (packet.h)
Représente un paquet réseau unique.
Syntaxe
typedef struct _NET_PACKET {
UINT32 FragmentIndex;
UINT16 FragmentCount;
NET_PACKET_LAYOUT Layout;
UINT8 Ignore : 1;
UINT8 Scratch : 1;
UINT8 Reserved1 : 6;
} NET_PACKET;
Membres
FragmentIndex
Index dans l’anneau de fragment de la première structure NET_FRAGMENT dans la charge utile de ce paquet.
FragmentCount
Nombre de structures NET_FRAGMENT appartenant à ce paquet.
Layout
Structure NET_PACKET_LAYOUT.
Pour les files d’attente de transmission, si la pile hôte a activé un déchargement de tâche qui utilise un en-tête de protocole, spécifie un décalage en lecture seule pour chaque champ de protocole. Par exemple, si le déchargement de somme de contrôle TCP est activé, ce membre spécifie le décalage vers l’en-tête TCP. Sinon, ce membre est vide.
Pour les files d’attente de réception, si la pile hôte a activé un déchargement de tâche qui utilise un en-tête de protocole, définissez les indicateurs Layer2Type, Layer3Typeet Layer4Type. Lorsqu’aucune tâche n’est déchargée, ce membre est vide.
Ignore
Pour les files d’attente de réception, le client définit ce champ pour empêcher l’indication du paquet à l’hôte. Par exemple, si le matériel a rencontré une erreur DMA lors de l’écriture d’octets dans cette mémoire tampon de données pour les fragments de ce paquet, le client peut définir ce champ pour supprimer le paquet partiel.
Pour les files d’attente de transmission, ce champ est en lecture seule. S’il est défini, il indique que le client ne doit pas transmettre le paquet.
Scratch
Valeur de champ de bits que le client peut utiliser à n’importe quel but. Lorsque la NET_PACKET est réutilisée, cette valeur est réinitialisée à zéro.
Reserved1
Réservé. Les pilotes clients ne doivent pas lire ou écrire cette valeur.
Remarques
Chaque structure NET_PACKET représente une trame réseau unique et contient des métadonnées de base applicables à tous les paquets, tels que la disposition de trame. Un NET_PACKET contient au moins une NET_FRAGMENT qui décrit l’emplacement dans la mémoire système où résident les données de paquets.
La structure NET_PACKET peut être un élément dans une structure NET_RING.
Exigences
Exigence | Valeur |
---|---|
version minimale de KMDF | 1.29 |
version minimale de UMDF | 2.33 |
d’en-tête | packet.h |