Compartilhar via


estrutura NDIS_TCP_CONNECTION_OFFLOAD (ntddndis.h)

A estrutura NDIS_TCP_CONNECTION_OFFLOAD fornece informações de descarregamento de conexão para as configurações atuais e para recursos com suporte.

Sintaxe

typedef struct _NDIS_TCP_CONNECTION_OFFLOAD {
  NDIS_OBJECT_HEADER Header;
  ULONG              Encapsulation;
  ULONG              SupportIPv4 : 2;
  ULONG              SupportIPv6 : 2;
  ULONG              SupportIPv6ExtensionHeaders : 2;
  ULONG              SupportSack : 2;
  ULONG              CongestionAlgorithm : 4;
  ULONG              TcpConnectionOffloadCapacity;
  ULONG              Flags;
} NDIS_TCP_CONNECTION_OFFLOAD, *PNDIS_TCP_CONNECTION_OFFLOAD;

Membros

Header

A estrutura NDIS_OBJECT_HEADER para a estrutura NDIS_TCP_CONNECTION_OFFLOAD. Defina o membro Type da estrutura especificada por Header como NDIS_OBJECT_TYPE_DEFAULT, o membro Revision como NDIS_TCP_CONNECTION_OFFLOAD_REVISION_1 e o membro Size para NDIS_SIZEOF_TCP_CONNECTION_OFFLOAD_REVISION_1.

Encapsulation

Configurações de encapsulamento para descarregamento de chaminé TCP. Para obter mais informações sobre esse membro, consulte a seção Comentários a seguir.

SupportIPv4

Um valor ULONG que um destino de descarregamento define para indicar que ele dá suporte a IPv4. A pilha de driver TCP/IP define esse membro para habilitar o IPv4.

SupportIPv6

Um valor ULONG que um destino de descarregamento define para indicar que ele dá suporte a IPv6. A pilha de driver TCP/IP define esse membro para habilitar o IPv6. Observe que um destino de descarregamento pode dar suporte a IPv4 e IPv6.

SupportIPv6ExtensionHeaders

Um valor ULONG que um destino de descarregamento define para indicar que ele dá suporte a cabeçalhos de extensão IPv6 (ou seja, roteamento, fragmentação/remontagem, autenticação, encapsulamento, processamento de salto por salto e opções de destino). A pilha de driver TCP/IP define esse membro para habilitar cabeçalhos de extensão IPv6.

SupportSack

Um valor ULONG que um destino de descarregamento define para indicar que ele dá suporte a SACKs (confirmações seletivas de TCP) para operações de transmissão e recebimento. A pilha de driver TCP/IP define esse membro para habilitar SACKs para operações de transmissão e recebimento.

Se um destino de descarregamento definir o membro SupportSack , o destino deverá ser capaz de gerar e consumir segmentos SACK. Se um destino de descarregamento não der suporte à opção SACK, o destino deverá ser capaz de ignorar a opção SACK e processar o restante do segmento TCP normalmente.

CongestionAlgorithm

Reservado para uso futuro.

Se você for um IHV (fornecedor independente de hardware) e quiser implementar algoritmos de controle de congestionamento não padrão, por exemplo, TCP Composto, entre em contato com a Microsoft em Triagem de Descarregamento TCP Externo.

TcpConnectionOffloadCapacity

Um valor ULONG que um destino de descarregamento define para indicar o número máximo de conexões TCP descarregadas com suporte. Esse número inclui conexões IPv4 e IPv6.

Flags

Reservado.

Comentários

A estrutura NDIS_TCP_CONNECTION_OFFLOAD especifica os serviços atuais ou com suporte que um adaptador de miniporta fornece para descarregamento de chaminé TCP.

A estrutura NDIS_TCP_CONNECTION_OFFLOAD é usada no estrutura NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES , estrutura NDIS_BIND_PARAMETERS , OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG OID OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES OID, indicação NDIS_STATUS_OFFLOAD_RESUME status e NDIS_STATUS_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES indicação status. (Para obter informações sobre NDIS_STATUS_OFFLOAD_RESUME, consulte Documentação de descarregamento de chaminé TCP NDIS 6.0.)

Os drivers de miniporto não recebem as consultas OID. O NDIS usa as informações que o driver de miniporto fornece em atributos e status indicações para fornecer respostas a consultas OID e fornecer parâmetros de associação.

O NDIS fornece uma estrutura NDIS_TCP_CONNECTION_OFFLOAD em resposta a uma consulta de OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG ou OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES. Em resposta a uma consulta OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG, a estrutura NDIS_TCP_CONNECTION_OFFLOAD especifica as definições de configuração atuais do destino de descarregamento. Em resposta a uma consulta OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES, a estrutura NDIS_TCP_CONNECTION_OFFLOAD especifica os recursos de hardware do destino de descarregamento para descarregar conexões TCP do transporte TCP/IP.

O membro encapsulamento do NDIS_TCP_CONNECTION_OFFLOAD define as configurações de encapsulamento de descarregamento de chaminé TCP para o adaptador de miniporta.

Para um OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES solicitação de consulta, o NDIS fornece um único sinalizador que indica os recursos de encapsulamento de hardware, no membro Encapsulamento .

Para um OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG solicitação de consulta, o NDIS fornece um OR bit a bit dos sinalizadores de encapsulamento, o que indica as configurações de encapsulamento atuais.

Os seguintes sinalizadores são definidos para o membro encapsulamento :

Importante Um driver miniport ou mux capaz de chaminé deve definir o membro encapsulamento como NDIS_ENCAPSULATION_IEEE_802_3, NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED ou ambos. Caso contrário, a capacidade da chaminé não será reconhecida.
 

Consultas de descarregamento de chaminé TCP

Quando um NDIS responde a uma consulta de OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES ou OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG para um destino de descarregamento, o NDIS fornece os membros SupportIp4, SupportIp6, SupportIp6ExtensionHeaders e SupportISack da estrutura NDIS_TCP_CONNECTION_OFFLOAD. Esses membros podem ter um dos seguintes valores:

Um destino de descarregamento deve dar suporte a IPv4 ou IPv6 (ou ambos). Os destinos de descarregamento podem, opcionalmente, dar suporte a cabeçalhos de extensão IPv6.

Um destino de descarregamento não deve dar suporte a nenhuma opção IPv4. O destino de descarregamento deve encaminhar todos os datagramas de IP recebidos que contenham opções IPv4 para a pilha de driver TCP/IP. O destino de descarregamento indica esses datagramas de IP para a pilha de driver TCP/IP chamando NdisMIndicateReceiveNetBufferLists. A pilha de driver TCP/IP processa as opções IPv4 e retorna os datagramas para o destino de descarregamento Função MiniportTcpOffloadForward . (Para obter informações sobre MiniportTcpOffloadForward, consulte Documentação de descarregamento de chaminé TCP NDIS 6.0.)

O destino de descarregamento também deve fornecer um valor para o membro TcpConnectionOffloadCapacity de NDIS_TCP_CONNECTION_OFFLOAD. Esse valor deve ser o número máximo de conexões TCP descarregadas simultaneamente às quais o destino de descarregamento pode dar suporte.

Observe que um destino de descarregamento não pode indicar diretamente novos recursos de descarregamento. Em vez disso, o destino de descarregamento deve solicitar que a pilha de driver TCP/IP pause e retome os descarregamentos. Quando o adaptador de miniporta está pronto para retomar o descarregamento de conexões TCP, ele emite uma indicação NDIS_STATUS_OFFLOAD_RESUME status para relatar os novos recursos de descarregamento de conexão. Para obter mais informações sobre NDIS_STATUS_OFFLOAD_RESUME, consulte Documentação de descarregamento de chaminé TCP NDIS 6.0.

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte no NDIS 6.0 e posterior.
Cabeçalho ntddndis.h (inclua Ndis.h)

Confira também

NDIS_BIND_PARAMETERS

NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES

NDIS_OBJECT_HEADER

NDIS_OFFLOAD

NDIS_STATUS_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES NdisMIndicateReceiveNetBufferLists OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES