Partilhar via


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)

Consulte também

NDIS_OFFLOAD