Partilhar via


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