estrutura IP_OFFLOAD_STATS (ndischimney.h)

[O recurso de descarregamento de chaminé TCP foi preterido e não deve ser usado.]

A estrutura IP_OFFLOAD_STATS contém estatísticas que um destino de descarregamento fornece em resposta a uma consulta de OID_IP4_OFFLOAD_STATS ou OID_IP6_OFFLOAD_STATS.

Sintaxe

typedef struct _IP_OFFLOAD_STATS {
  ULONG64 InReceives;
  ULONG64 InOctets;
  ULONG64 InDelivers;
  ULONG64 OutRequests;
  ULONG64 OutOctets;
  ULONG   InHeaderErrors;
  ULONG   InTruncatedPackets;
  ULONG   InDiscards;
  ULONG   OutDiscards;
  ULONG   OutNoRoutes;
} IP_OFFLOAD_STATS, *PIP_OFFLOAD_STATS;

Membros

InReceives

O número total de datagramas de IP de entrada que foram recebidos da interface em conexões TCP descarregadas, incluindo datagramas de IP recebidos por erro. Consulte "ipInReceives" no RFC 2011.

InOctets

O número total de octetos (bytes) em datagramas de IP de entrada que foram recebidos da interface em conexões TCP descarregadas. Octetos de datagramas contados em InReceives devem ser contados aqui. InOctets deve incluir o número de bytes no cabeçalho IP e na carga.

InDelivers

O número de datagramas de IP de entrada que foram entregues com êxito a conexões TCP descarregadas. Consulte "ipInDelivers" no RFC 2011.

OutRequests

O número de datagramas de IP que o destino de descarregamento forneceu à camada de IP em solicitações de transmissão em conexões TCP descarregadas. Consulte "ipOutRequests" no RFC 2011.

OutOctets

O número total de octetos (bytes) em datagramas de IP que o destino de descarregamento forneceu à camada de IP em solicitações de transmissão em conexões TCP descarregadas. Octetos de datagramas contados em OutRequests devem ser contados aqui. OutOctets deve incluir o número de bytes no cabeçalho IP e na carga.

InHeaderErrors

O número de datagramas de IP de entrada recebidos em conexões TCP descarregadas que foram descartadas devido a erros em seus cabeçalhos IP. Esses erros incluem somas de verificação incorretas, incompatibilidade de número de versão, outros erros de formato, tempo de vida excedido e erros descobertos no processamento de opções IPv6 se o destino de descarregamento der suporte a essas opções. (Um destino de descarregamento não processa opções IPv4.) Essa contagem não inclui erros resultantes de endereços de destino inválidos. Consulte "ipInHdrErrors" no RFC 2011.

InTruncatedPackets

O número de datagramas de IP de entrada descartados porque o quadro de datagrama não carregava dados suficientes. InTruncatedPackets só deverá ser incrementado se o quadro contiver um cabeçalho válido, mas fosse menor do que o necessário. Quadros muito curtos para conter um cabeçalho válido devem ser contados como InHeaderErrors .

InDiscards

O número de datagramas de IP de entrada recebidos em conexões TCP descarregadas que não continham nada para impedir o processamento adicional, mas que foram descartados por motivos de tempo de execução, como falta de memória disponível ou outros recursos. Consulte "ipInDiscards" no RFC 2011.

OutDiscards

O número de datagramas de IP de saída que o destino de descarregamento forneceu à camada de IP para o qual nenhum problema foi encontrado para impedir a transmissão, mas que foram descartados por motivos de tempo de execução, como falta de memória ou outros recursos. Consulte "ipOutDiscards" no RFC 2011.

OutNoRoutes

O número de datagramas de IP de saída que o destino de descarregamento forneceu para sua camada de IP que foram descartados porque nenhuma rota (como um objeto de estado de caminho descarregado) pôde ser encontrada para transmiti-los para seu destino. Consulte "ipOutNoRoutes" no RFC 2011.

Comentários

As estatísticas na estrutura IP_OFFLOAD_STATS pertencem apenas aos datagramas de IP que o destino de descarregamento processou em conexões TCP descarregadas. O destino de descarregamento não deve incluir contagens para datagramas de IP em conexões não descarregadas. As estatísticas pertencem a um único adaptador de rede.

Se um destino de descarregamento tiver vários adaptadores de rede, ele deverá manter estatísticas de descarregamento de IP separadas para cada adaptador de rede. Se o destino de descarregamento der suporte a conexões IPv4 e IPv6 para um adaptador de rede, ele deverá manter um conjunto de contadores de estatísticas de descarregamento IPv4 e outro conjunto de contadores de estatísticas de descarregamento IPv6 para esse adaptador de rede.

Se os recursos de chaminé TCP de um destino de descarregamento estiverem habilitados (consulte NDIS_TASK_OFFLOAD) e se pelo menos um objeto de estado vizinho tiver sido descarregado para o destino de descarregamento, o destino de descarregamento poderá processar um pacote recebido que tenha um cabeçalho IP corrompido de uma das duas maneiras:

  • O destino de descarregamento pode indicar o pacote por meio da interface de não descarregamento chamando o Função NdisMIndicateReceiveNetBufferLists . Nesse caso, o destino de descarregamento não deve incrementar o contador InHeaderErrors. Essa é a abordagem recomendada.
  • Como alternativa, o destino de descarregamento pode remover o pacote corrompido NDIS_TASK_OFFLOAD e incrementar o contador InHeaderErrors.
A pilha de host integra as estatísticas retornadas por um destino de descarregamento com as estatísticas que a pilha de host mantém para conexões TCP não descarregadas.

Observe que a pilha de host fornece uma estrutura de IP_OFFLOAD_STATS ao definir OID_IP4_OFFLOAD_STATS ou OID_IP6_OFFLOAD_STATS. Em ambos os casos, no entanto, o destino de descarregamento não precisa examinar os valores na estrutura IP_OFFLOAD_STATS. Em vez disso, quando OID_IP4_OFFLOAD_STATS é definido, o destino de descarregamento deve redefinir todos os contadores de estatísticas IPv4 para conexões TCP descarregadas. Quando OID_IP6_OFFLOAD_STATS é definido, o destino de descarregamento deve redefinir todos os contadores de estatísticas IPv6 para conexões TCP descarregadas.

Todos os contadores que fornecem os valores para o encapsulamento da estrutura IP_OFFLOAD_STATS (reiniciar de zero) quando incrementados além de suas contagens máximas.

Requisitos

Requisito Valor
Cabeçalho ndischimney.h (inclua Ndischimney.h)

Confira também

NDIS_TASK_OFFLOAD

NdisMIndicateReceiveNetBufferLists

OID_IP4_OFFLOAD_STATS

OID_IP6_OFFLOAD_STATS