Freigeben über


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