estructura NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_V2 (ntddndis.h)

La estructura NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_V2 contiene información de encapsulación de paquetes para la descarga de tareas de LAN extensible virtual (VXLAN). VXLAN es similar a la descarga de tareas NVGRE, pero con un protocolo diferente.

Esta estructura se usa en el miembro EncapsulatedPacketTaskOffloadVxlan de la estructura NDIS_OFFLOAD en NDIS 6.50 y versiones posteriores.

Sintaxis

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;

Miembros

TransmitChecksumOffloadSupported

Configuración de descarga de tareas para la suma de comprobación de transmisión.

ReceiveChecksumOffloadSupported

Configuración de descarga de tareas para la suma de comprobación de recepción.

LsoV2Supported

Configuración de descarga de tareas para la descarga de envío grande versión 2 (LSOv2).

RssSupported

Configuración de descarga de tareas para el escalado lateral de recepción (RSS).

VmqSupported

Configuración de descarga de tareas para la cola de máquinas virtuales (VMQ).

UsoSupported

Configuración de descarga de tareas para la descarga de segmentación UDP (USO).

Reserved

Reservado para uso del sistema.

MaxHeaderSizeSupported

Este miembro debe establecerse en el tamaño máximo del encabezado desde el principio del paquete hasta el principio de la carga tcp o UDP interna (el último byte del encabezado interno TCP o UDP) que la NIC debe admitir para todas estas descargas de tareas. Se espera que el controlador de protocolo no descargue el procesamiento de un paquete cuyos encabezados de encapsulación combinados superen este tamaño.

Sugerencia

256 bytes es un buen valor predeterminado que debe abarcar todos los casos posibles.

EncapsulationProtocolInfo

Unión que contiene el miembro VxlanInfo y el miembro Value .

EncapsulationProtocolInfo.VxlanInfo

Estructura que contiene el miembro VxlanUDPPortNumber y el miembro VxlanUDPPortNumberConfigurable .

EncapsulationProtocolInfo.VxlanInfo.VxlanUDPPortNumber

Número de puerto que se va a usar para el puerto de destino UDP de VXLAN.

EncapsulationProtocolInfo.VxlanInfo.VxlanUDPPortNumberConfigurable

Describe si el número de puerto UDP es configurable.

EncapsulationProtocolInfo.Value

Valor de suma de comprobación udp para este paquete.

_ENCAPSULATION_PROTOCOL_INFO

Reserved1

Reservado para uso del sistema.

Reserved2

Reservado para uso del sistema.

Comentarios

En el anuncio de funcionalidad inicial y en NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG y NDIS_STATUS_TASK_OFFLOAD_HARDWARE_CAPABILITIES indicaciones de estado, los miembros TransmitChecksumOffloadSupported, ReceiveChecksumOffloadSupported, LsoV2Supported, RssSupported, VmqSupported y UsoSupported se pueden establecer en un OR bit a bit de las marcas siguientes:

Término Descripción
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_NOT_SUPPORTED Especifica que el adaptador de miniporte no admite la característica de descarga de tareas correspondiente que especifica el miembro.
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_INNER_IPV4 Especifica que el adaptador de miniporte admite la característica de descarga de tareas correspondiente que el miembro especifica dónde se encuentra el encabezado IP interno de un paquete encapsulado IPv4.
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_OUTER_IPV4 Especifica que el adaptador de minipuerto admite la característica de descarga de tareas correspondiente que el miembro especifica dónde se encuentra el encabezado IP externo de un paquete encapsulado IPv4.
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_INNER_IPV6 Especifica que el adaptador de minipuerto admite la característica de descarga de tareas correspondiente que el miembro especifica dónde está el encabezado IP interno de un paquete encapsulado es IPv6.
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_OUTER_IPV6 Especifica que el adaptador de minipuerto admite la característica de descarga de tareas correspondiente que el miembro especifica dónde se encuentra el encabezado IP externo de un paquete encapsulado es IPv6.

Por ejemplo, si un adaptador de miniporte y un controlador solo admiten un encabezado IPv6 como encabezado IP externo, pero no como encabezado IP interno, establecerá TransmitChecksumOffloadSupported, ReceiveChecksumOffloadSupported, LsoV2Supported, RssSupported, VmqSupported y UsoSupported en el valor del OR bit a bit de NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_INNER_IPV4, NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_OUTER_IPV4 y NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_OUTER_IPV6.

Con respecto a las opciones de IP y las opciones tcp, se ha supuesto lo siguiente para los paquetes encapsulados:

  • Si la NIC especifica la compatibilidad con IpOptions y TcpOptions en la descarga de suma de comprobación normal y el anuncio de LSOv2, debe admitir el procesamiento de opciones para paquetes encapsulados si se admite la descarga de tareas VXLAN mediante virtualización de red mediante la descarga de tareas VXLAN. Esto significa que admitirá tanto las opciones ip internas como externas y las opciones tcp dentro de los paquetes encapsulados. No hay ningún anuncio de funcionalidad independiente para estos específicos solo para la descarga de la tarea VXLAN.

Es posible que un controlador de protocolo descargue paquetes de "modo mixto", lo que significa que los paquetes en los que las versiones de encabezado IP internas y externas son diferentes. Por ejemplo, un paquete podría tener un encabezado IP externo como IPv6 y el encabezado IP interno como IPv4.

Para obtener más información sobre VXLAN, consulte RFC 7348.

Requisitos

Requisito Value
Cliente mínimo compatible NDIS 6.50
Encabezado ntddndis.h (include ndis.h)

Consulte también

NDIS_OFFLOAD