NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_V2 estrutura (ntddndis.h)
A estrutura NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_V2 contém informações de encapsulamento de pacotes para descarregamento de tarefa VXLAN (Virtual Extensible LAN). VXLAN é semelhante a de descarregamento de tarefa NVGRE, mas com um protocolo diferente.
Essa estrutura é usada no EncapsulatedPacketTaskOffloadVxlan membro da estrutura NDIS_OFFLOAD no NDIS 6.50 e posterior.
Sintaxe
typedef struct _NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_V2 {
ULONG TransmitChecksumOffloadSupported : 4;
ULONG ReceiveChecksumOffloadSupported : 4;
ULONG LsoV2Supported : 4;
ULONG RssSupported : 4;
ULONG VmqSupported : 4;
ULONG UsoSupported : 4;
#if ...
ULONG Reserved : 8;
#else
ULONG Reserved : 12;
#endif
ULONG MaxHeaderSizeSupported;
union {
struct {
USHORT VxlanUDPPortNumber;
USHORT VxlanUDPPortNumberConfigurable : 1;
} VxlanInfo;
ULONG Value;
} EncapsulationProtocolInfo;
_ENCAPSULATION_PROTOCOL_INFO _ENCAPSULATION_PROTOCOL_INFO;
ULONG Reserved1;
ULONG Reserved2;
} NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_V2, *PNDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_V2;
Membros
TransmitChecksumOffloadSupported
Configurações de descarregamento de tarefa para a soma de verificação de transmissão.
ReceiveChecksumOffloadSupported
Configurações de descarregamento de tarefa para a soma de verificação de recebimento.
LsoV2Supported
Configurações de descarregamento de tarefas para O descarregamento de envio grande versão 2 (LSOv2).
RssSupported
Configurações de descarregamento de tarefa para RSS (dimensionamento lateral de recebimento).
VmqSupported
Configurações de descarregamento de tarefas para VMQ (fila de máquinas virtuais).
UsoSupported
Configurações de descarregamento de tarefa para USO (descarregamento de segmentação UDP).
Reserved
Reservado para uso do sistema.
MaxHeaderSizeSupported
Esse membro deve ser definido como o tamanho máximo do cabeçalho desde o início do pacote até o início do conteúdo TCP interno ou UDP (o último byte de cabeçalho interno TCP ou UDP) que a NIC deve dar suporte para todos esses descarregamentos de tarefa. Espera-se que o driver de protocolo não descarrega o processamento de um pacote cujos cabeçalhos de encapsulamento combinados excedam esse tamanho.
Ponta
256 bytes é um bom valor padrão que deve abranger todos os casos possíveis.
EncapsulationProtocolInfo
Uma união que contém o membro do VxlanInfo e o membro Value.
EncapsulationProtocolInfo.VxlanInfo
Um struct que contém o membro VxlanUDPPortNumber e o membro VxlanUDPPortNumberConfigurable.
EncapsulationProtocolInfo.VxlanInfo.VxlanUDPPortNumber
O número da porta a ser usado para a porta de destino UDP da VXLAN.
EncapsulationProtocolInfo.VxlanInfo.VxlanUDPPortNumberConfigurable
Descreve se o número da porta UDP é configurável.
EncapsulationProtocolInfo.Value
O valor da soma de verificação UDP para este pacote.
_ENCAPSULATION_PROTOCOL_INFO
Reserved1
Reservado para uso do sistema.
Reserved2
Reservado para uso do sistema.
Observações
No anúncio de funcionalidade inicial e em NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG e NDIS_STATUS_TASK_OFFLOAD_HARDWARE_CAPABILITIES indicações de status, o TransmitChecksumOffloadSupported, ReceiveChecksumOffloadSupported, LsoV2Supported, RssSupported, VmqSupported e usoSupported membros podem ser definidos como um OR bit a bit dos seguintes sinalizadores:
Prazo | Descrição |
---|---|
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_NOT_SUPPORTED | Especifica que o adaptador de miniporto não dá suporte ao recurso de descarregamento de tarefa correspondente especificado pelo membro. |
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_INNER_IPV4 | Especifica que o adaptador de miniporto dá suporte ao recurso de descarregamento de tarefa correspondente que o membro especifica onde o cabeçalho IP interno de um pacote encapsulado é IPv4. |
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_OUTER_IPV4 | Especifica que o adaptador de miniporto dá suporte ao recurso de descarregamento de tarefa correspondente que o membro especifica onde o cabeçalho IP externo de um pacote encapsulado é IPv4. |
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_INNER_IPV6 | Especifica que o adaptador de miniporto dá suporte ao recurso de descarregamento de tarefa correspondente que o membro especifica onde o cabeçalho IP interno de um pacote encapsulado é IPv6. |
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_OUTER_IPV6 | Especifica que o adaptador de miniporto dá suporte ao recurso de descarregamento de tarefa correspondente que o membro especifica onde o cabeçalho IP externo de um pacote encapsulado é IPv6. |
Por exemplo, se um adaptador de miniporto e driver oferecerem suporte apenas a um cabeçalho IPv6 como cabeçalho IP externo, mas não como cabeçalho IP interno, ele definirá TransmitChecksumOffloadSupported, ReceiveChecksumOffloadSupported, LsoV2Supported, RssSupported, VmqSupported e usoSupported ao valor do OR bit a bit de NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_INNER_IPV4, NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_OUTER_IPV4 e NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_OUTER_IPV6.
Em relação às opções de IP e opções de TCP, a seguinte suposição foi feita para pacotes encapsulados:
- Se a NIC especificar ipOptions e TcpOptions suporte em descarregamento de soma de verificação normal e anúncio LSOv2, ele deverá dar suporte ao processamento de opção para pacotes encapsulados se a Virtualização de Rede usando o descarregamento de tarefa VXLAN tiver suporte. Isso significa que ele dará suporte a opções de IP interno e externo e opções TCP dentro dos pacotes encapsulados. Não há nenhum anúncio de funcionalidade separado para eles específicos apenas para descarregamento de tarefa VXLAN.
É possível que um driver de protocolo descarrege pacotes de "modo misto", o que significa pacotes nos quais as versões de cabeçalho IP interno e externo são diferentes. Por exemplo, um pacote pode ter um cabeçalho IP externo como IPv6 e o cabeçalho IP interno como IPv4.
Para obter mais informações sobre VXLAN, consulte RFC 7348.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | NDIS 6.50 |
cabeçalho | ntddndis.h (inclua ndis.h) |