estrutura NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_V2 (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). A VXLAN é semelhante ao descarregamento de tarefa NVGRE, mas com um protocolo diferente.

Essa estrutura é usada no membro EncapsulatedPacketTaskOffloadVxlan 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 transmitir soma de verificação.

ReceiveChecksumOffloadSupported

Configurações de descarregamento de tarefa para a soma de verificação de recebimento.

LsoV2Supported

Configurações de descarregamento de tarefa 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 tarefa 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 da carga interna de TCP ou UDP (o último byte do cabeçalho interno TCP ou UDP) ao qual a NIC deve dar suporte para todos esses descarregamentos de tarefa. Espera-se que o driver de protocolo não descarregue o processamento de um pacote cujos cabeçalhos de encapsulamento combinados excedam esse tamanho.

Dica

256 bytes é um bom valor padrão que deve abranger todos os casos possíveis.

EncapsulationProtocolInfo

Uma união que contém o membro 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 esse pacote.

_ENCAPSULATION_PROTOCOL_INFO

Reserved1

Reservado para uso do sistema.

Reserved2

Reservado para uso do sistema.

Comentários

No anúncio de funcionalidade inicial e em NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG e NDIS_STATUS_TASK_OFFLOAD_HARDWARE_CAPABILITIES status indicações, os membros TransmitChecksumOffloadSupported, ReceiveChecksumOffloadSupported, LsoV2Supported, RssSupported, VmqSupported e UsoSupported podem ser definidos como um OR bit a bit dos seguintes sinalizadores:

Termo Descrição
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_NOT_SUPPORTED Especifica que o adaptador de miniporta 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 como o 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 a opções de IP e opções de TCP, a seguinte suposição foi feita para pacotes encapsulados:

  • Se a NIC especificar suporte a IpOptions e TcpOptions 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 houver suporte para a Virtualização de Rede usando o descarregamento de tarefa VXLAN. 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 esses dados específicos apenas para o descarregamento de tarefas VXLAN.

É possível que um driver de protocolo descarregue 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 o 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
Cliente mínimo com suporte NDIS 6.50
Cabeçalho ntddndis.h (inclua ndis.h)

Confira também

NDIS_OFFLOAD