estrutura NET_PACKET (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 do primeiro NET_FRAGMENT estrutura no conteúdo desse pacote.
FragmentCount
O número de estruturas de 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, especificará um deslocamento somente leitura para cada campo de protocolo. Por exemplo, se o descarregamento de soma de verificação TCP estiver habilitado, esse membro especificará 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, Layer3Type e Layer4Type . Quando não há descarregamentos 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 nesse 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 bit 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.
Comentários
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 em que os dados do pacote residem.
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 |