NET_PACKET structure (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 fragments de la première structure NET_FRAGMENT dans la charge utile de ce paquet.
FragmentCount
Nombre de structures NET_FRAGMENT qui appartiennent à 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 la 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, Layer3Type et Layer4Type . Lorsqu’il n’y a pas de déchargement de tâche, 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 de manière à 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 bit que le client peut utiliser à n’importe quel usage. Lorsque le NET_PACKET est réutilisé, 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 de NET_PACKET représente une trame réseau unique et contient des métadonnées de base applicables à tous les paquets, comme la disposition d’encadrement. Un NET_PACKET contient au moins un 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 d’une structure NET_RING .
Configuration requise
Condition requise | Valeur |
---|---|
Version KMDF minimale | 1.29 |
Version UMDF minimale | 2,33 |
En-tête | packet.h |