NET_PACKET struttura (packet.h)
Rappresenta un singolo pacchetto di rete.
Sintassi
typedef struct _NET_PACKET {
UINT32 FragmentIndex;
UINT16 FragmentCount;
NET_PACKET_LAYOUT Layout;
UINT8 Ignore : 1;
UINT8 Scratch : 1;
UINT8 Reserved1 : 6;
} NET_PACKET;
Members
FragmentIndex
Indice nell'anello del frammento della prima struttura NET_FRAGMENT nel payload del pacchetto.
FragmentCount
Numero di strutture NET_FRAGMENT appartenenti a questo pacchetto.
Layout
Struttura NET_PACKET_LAYOUT .
Per le code di trasmissione, se lo stack host ha abilitato un offload di attività che usa un'intestazione del protocollo, specifica un offset di sola lettura a ogni campo del protocollo. Ad esempio, se il offload checksum TCP è abilitato, questo membro specifica l'offset dell'intestazione TCP. In caso contrario, questo membro è vuoto.
Per le code di ricezione, se lo stack host ha abilitato un offload di attività che usa un'intestazione del protocollo, impostare i flag Layer2Type, Layer3Type e Layer4Type. Quando non sono presenti offload di attività, questo membro è vuoto.
Ignore
Per le code di ricezione, il client imposta questo campo per impedire che il pacchetto venga indicato nell'host. Ad esempio, se l'hardware ha rilevato un errore DMA durante la scrittura di byte in questo buffer di dati per i frammenti del pacchetto, il client può impostare questo campo per eliminare il pacchetto parziale.
Per le code di trasmissione, questo campo è di sola lettura. Se impostato, indica che il client non deve trasmettere il pacchetto.
Scratch
Valore del campo bit che il client può usare per qualsiasi scopo. Quando il NET_PACKET viene riutilizzato, questo valore viene reimpostato su zero.
Reserved1
Riservato. I driver client non devono leggere o scrivere questo valore.
Commenti
Ogni struttura NET_PACKET rappresenta un singolo frame di rete e contiene metadati di base applicabili a tutti i pacchetti, ad esempio il layout di frame. Un NET_PACKET contiene almeno un NET_FRAGMENT che descrive la posizione nella memoria di sistema in cui risiedono i dati del pacchetto.
La struttura NET_PACKET può essere un elemento in una struttura NET_RING .
Requisiti
Requisito | Valore |
---|---|
Versione KMDF minima | 1.29 |
Versione UMDF minima | 2.33 |
Intestazione | packet.h |