estrutura NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO (ndis.h)

A estrutura NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO contém informações adicionais fora de banda para pacotes encapsulados. Para obter mais informações, consulte Virtualização de rede usando o descarregamento de tarefa NVGRE (Encapsulamento de Roteamento Genérico) (NVGRE-TO).

Sintaxe

typedef struct _NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO {
  union {
    struct {
      ULONG IsEncapsulatedPacket : 1;
      ULONG EncapsulatedPacketOffsetsValid : 1;
      ULONG InnerFrameOffset : 8;
      ULONG TransportIpHeaderRelativeOffset : 6;
      ULONG TcpHeaderRelativeOffset : 10;
      ULONG IsInnerIPv6 : 1;
      ULONG TcpOptionsPresent : 1;
      ULONG Reserved : 4;
    } EncapsulatedPacketOffsets;
    PVOID Value;
  };
} NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO, *PNDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO;

Membros

EncapsulatedPacketOffsets

EncapsulatedPacketOffsets.IsEncapsulatedPacket

Se esse membro for TRUE, esse NBL representará um pacote que contém um quadro Ethernet interno com um cabeçalho IP de transporte. É FALSE para pacotes normais. Quando IsEncapsulatedPacket for TRUE, os campos de deslocamento de cabeçalho existentes NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO. LsoV2Transmit. TcpHeaderOffset e NDIS_TCP_IP_CHECKSUM_NET_BUFFER_LIST_INFO. Transmitir. TcpHeaderOffset, não terá valores corretos e não deve ser usado pela NIC ou pelo driver. Em vez disso, o driver de miniporto deve usar os deslocamentos especificados nos outros membros dessa estrutura.

EncapsulatedPacketOffsets.EncapsulatedPacketOffsetsValid

Se esse membro for TRUE, os membros InnerFrameOffset, TransportIpHeaderRelativeOffset e TcpHeaderRelativeOffset terão valores válidos.

EncapsulatedPacketOffsets.InnerFrameOffset

Deslocamento do início do pacote para o primeiro byte do quadro Ethernet interno.

EncapsulatedPacketOffsets.TransportIpHeaderRelativeOffset

Deslocamento para o primeiro byte do cabeçalho IP interno em relação ao InnerFrameOffset.

EncapsulatedPacketOffsets.TcpHeaderRelativeOffset

Deslocamento para o primeiro byte do cabeçalho interno (transporte) em relação ao TransportIpHeaderRelativeOffset. Esse valor é sempre definido como o deslocamento correto, mesmo que o quadro interno não seja um pacote TCP.

EncapsulatedPacketOffsets.IsInnerIPv6

Definido pelo driver de protocolo para indicar que o cabeçalho IP interno no pacote encapsulado contém endereços IPv6.

EncapsulatedPacketOffsets.TcpOptionsPresent

Definido pelo driver de protocolo quando o cabeçalho TCP interno contém opções TCP. Isso permite que um driver de miniporte otimize o caso quando não há opções para assumir o comprimento do cabeçalho TCP para acessar a carga.

EncapsulatedPacketOffsets.Reserved

Reservado para uso futuro.

Value

Reservado para uso futuro.

Comentários

Os membros do NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO serão significativos se e somente se TcpIpChecksumNetBufferListInfo ou TcpLargeSendNetBufferListInfo for especificado na estrutura NDIS_NET_BUFFER_LIST_INFO .

Se o membro IsEncapsulatedPacket for TRUE e as informações de OOB (Out-of-Band) TcpIpChecksumNetBufferListInfo forem válidas, isso indicará que o suporte do NVGRE é necessário e a NIC deverá calcular a soma de verificação para o cabeçalho IP do túnel (externo), o cabeçalho IP de transporte (interno) e o cabeçalho TCP ou UDP se um deles estiver presente. Um pacote NVGRE só será descarregado se o pacote estiver em conformidade com os recursos anunciados pelo miniport. Por exemplo, um pacote que contém um cabeçalho UDP não será descarregado se o miniporto não anunciar o suporte de descarregamento de soma de verificação Tx UDP em seus recursos base. Para obter mais informações, consulte Descarregando tarefas de soma de verificação.

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte no NDIS 6.30 e posterior.
Cabeçalho ndis.h

Confira também

NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD

NDIS_NET_BUFFER_LIST_INFO

Virtualização de rede usando descarregamento de tarefa NVGRE (Encapsulamento de Roteamento Genérico)

Tarefas de soma de verificação de descarregamento