NET_PACKET estrutura (packet.h)
Representa um único pacote de rede.
Sintaxe
typedef struct _NET_PACKET {
UINT32 FragmentIndex;
UINT16 FragmentCount;
NET_PACKET_LAYOUT Layout;
UINT8 Ignore : 1;
UINT8 Scratch : 1;
UINT8 Reserved1 : 6;
} NET_PACKET;
Membros
FragmentIndex
O índice no anel de fragmento da primeira estrutura NET_FRAGMENT no conteúdo desse pacote.
FragmentCount
O número de estruturas NET_FRAGMENT que pertencem a esse pacote.
Layout
Uma estrutura NET_PACKET_LAYOUT.
Para filas de transmissão, se a pilha de host tiver habilitado um descarregamento de tarefa que usa um cabeçalho de protocolo, especifica um deslocamento somente leitura para cada campo de protocolo. Por exemplo, se o descarregamento de soma de verificação TCP estiver habilitado, esse membro especifica o deslocamento para o cabeçalho TCP. Caso contrário, esse membro estará vazio.
Para filas de recebimento, se a pilha de host tiver habilitado um descarregamento de tarefa que usa um cabeçalho de protocolo, defina os sinalizadores Layer2Type, Layer3Typee Layer4Type. Quando não há nenhum descarregamento de tarefa, esse membro está vazio.
Ignore
Para filas de recebimento, o cliente define esse campo para impedir que o pacote seja indicado para o host. Por exemplo, se o hardware encontrou um erro de DMA ao gravar bytes neste buffer de dados para os fragmentos desse pacote, o cliente poderá definir esse campo para remover o pacote parcial.
Para filas de transmissão, esse campo é somente leitura. Se definido, indica que o cliente não deve transmitir o pacote.
Scratch
Um valor de campo de bits que o cliente pode usar para qualquer finalidade. Quando o NET_PACKET é reutilizado, esse valor é redefinido para zero.
Reserved1
Reservado. Os drivers de cliente não devem ler ou gravar esse valor.
Observações
Cada estrutura NET_PACKET representa um único quadro de rede e contém metadados básicos aplicáveis a todos os pacotes, como o layout de enquadramento. Um NET_PACKET contém pelo menos um NET_FRAGMENT que descreve o local na memória do sistema onde residem os dados do pacote.
A estrutura NET_PACKET pode ser um elemento em uma estrutura NET_RING.
Requisitos
Requisito | Valor |
---|---|
versão mínima do KMDF | 1.29 |
versão mínima do UMDF | 2.33 |
cabeçalho | packet.h |