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
Virtualização de rede usando descarregamento de tarefa NVGRE (Encapsulamento de Roteamento Genérico)
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de