NET_PACKET Struktur (packet.h)
Stellt ein einzelnes Netzwerkpaket dar.
Syntax
typedef struct _NET_PACKET {
UINT32 FragmentIndex;
UINT16 FragmentCount;
NET_PACKET_LAYOUT Layout;
UINT8 Ignore : 1;
UINT8 Scratch : 1;
UINT8 Reserved1 : 6;
} NET_PACKET;
Angehörige
FragmentIndex
Der Index im Fragmentring der ersten NET_FRAGMENT Struktur in der Nutzlast dieses Pakets.
FragmentCount
Die Anzahl der NET_FRAGMENT Strukturen, die zu diesem Paket gehören.
Layout
Eine NET_PACKET_LAYOUT Struktur.
Wenn der Hoststapel für Übertragungswarteschlangen einen Vorgangsoffload aktiviert hat, der einen Protokollheader verwendet, gibt einen schreibgeschützten Offset für jedes Protokollfeld an. Wenn beispielsweise TCP-Prüfsummen-Offload aktiviert ist, gibt dieses Element den Offset für den TCP-Header an. Andernfalls ist dieses Element leer.
Wenn der Hoststapel für Empfangswarteschlangen einen Vorgangsoffload aktiviert hat, der einen Protokollheader verwendet, legen Sie den Layer2Type-, Layer3Type-und Layer4Type- Flags fest. Wenn keine Aufgaben offloads vorhanden sind, ist dieses Element leer.
Ignore
Für Empfangswarteschlangen legt der Client dieses Feld fest, um zu verhindern, dass das Paket für den Host angegeben wird. Wenn z. B. bei der Hardware beim Schreiben von Bytes in diesen Datenpuffer für die Fragmente dieses Pakets ein DMA-Fehler aufgetreten ist, kann der Client dieses Feld so festlegen, dass das Teilpaket abgesetzt wird.
Für Übertragungswarteschlangen ist dieses Feld schreibgeschützt. Wenn festgelegt, gibt es an, dass der Client das Paket nicht übertragen soll.
Scratch
Ein Bitfeldwert, den der Client für beliebige Zwecke verwenden kann. Wenn die NET_PACKET wiederverwendet wird, wird dieser Wert auf Null zurückgesetzt.
Reserved1
Reserviert. Clienttreiber dürfen diesen Wert nicht lesen oder schreiben.
Bemerkungen
Jede NET_PACKET-Struktur stellt einen einzelnen Netzwerkframe dar und enthält grundlegende Metadaten, die für alle Pakete gelten, z. B. das Rahmenlayout. Ein NET_PACKET enthält mindestens eine NET_FRAGMENT, die den Speicherort im Systemspeicher beschreibt, an dem sich die Paketdaten befinden.
Die NET_PACKET-Struktur kann ein Element in einer NET_RING Struktur sein.
Anforderungen
Anforderung | Wert |
---|---|
Minimale KMDF-Version | 1.29 |
Mindest-UMDF-Version | 2.33 |
Header- | packet.h |