Condividi tramite


struttura NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_V2 (ntddndis.h)

La struttura NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_V2 contiene informazioni sull'incapsulamento dei pacchetti per l'offload delle attività VXLAN (Virtual Extensible LAN). VXLAN è simile a 'offload delle attività NVGRE, ma con un protocollo diverso.

Questa struttura viene usata nel EncapsulatedPacketTaskOffloadVxlan membro della struttura NDIS_OFFLOAD in NDIS 6.50 e versioni successive.

Sintassi

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;

Membri

TransmitChecksumOffloadSupported

Impostazioni di offload delle attività per il checksum di trasmissione.

ReceiveChecksumOffloadSupported

Impostazioni di offload delle attività per il checksum di ricezione.

LsoV2Supported

Impostazioni di offload delle attività per l'offload di invio di grandi dimensioni versione 2 (LSOv2).

RssSupported

Impostazioni di offload delle attività per il ridimensionamento lato ricezione (RSS).

VmqSupported

Impostazioni di offload delle attività per la coda di macchine virtuali (VMQ).

UsoSupported

Impostazioni di offload delle attività per l'offload di segmentazione UDP (USO).

Reserved

Riservato per l'uso del sistema.

MaxHeaderSizeSupported

Questo membro deve essere impostato sulle dimensioni massime dell'intestazione dall'inizio del pacchetto all'inizio del payload TCP o UDP interno (l'ultimo byte dell'intestazione interna TCP o UDP) che la scheda di interfaccia di rete deve supportare per tutti questi offload di attività. Si prevede che il driver di protocollo non eselabori l'elaborazione di un pacchetto le cui intestazioni di incapsulamento combinate superano questa dimensione.

Mancia

256 byte è un buon valore predefinito che deve coprire tutti i casi possibili.

EncapsulationProtocolInfo

Unione contenente il membro VxlanInfo e il membro Value.

EncapsulationProtocolInfo.VxlanInfo

Struct che contiene il membro VxlanUDPPortNumber e il membro VxlanUDPPortNumberConfigurable.

EncapsulationProtocolInfo.VxlanInfo.VxlanUDPPortNumber

Numero di porta da usare per la porta di destinazione UDP VXLAN.

EncapsulationProtocolInfo.VxlanInfo.VxlanUDPPortNumberConfigurable

Descrive se il numero di porta UDP è configurabile.

EncapsulationProtocolInfo.Value

Valore del checksum UDP per questo pacchetto.

_ENCAPSULATION_PROTOCOL_INFO

Reserved1

Riservato per l'uso del sistema.

Reserved2

Riservato per l'uso del sistema.

Osservazioni

Nell'annuncio iniziale delle funzionalità e in NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG e NDIS_STATUS_TASK_OFFLOAD_HARDWARE_CAPABILITIES indicazioni sullo stato, i TransmitChecksumOffloadSupported, ReceiveChecksumOffloadSupported, LsoV2Supported, RssSupported, VmqSupportede Membri UsoSupported possono essere impostati su un OR bit per bit dei flag seguenti:

Termine Descrizione
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_NOT_SUPPORTED Specifica che l'adattatore miniport non supporta la funzionalità di offload dell'attività corrispondente specificata dal membro.
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_INNER_IPV4 Specifica che l'adattatore miniport supporta la funzionalità di offload dell'attività corrispondente specificata dal membro in cui l'intestazione IP interna di un pacchetto incapsulato è IPv4.
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_OUTER_IPV4 Specifica che l'adattatore miniport supporta la funzionalità di offload dell'attività corrispondente specificata dal membro in cui l'intestazione IP esterna di un pacchetto incapsulato è IPv4.
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_INNER_IPV6 Specifica che l'adattatore miniport supporta la funzionalità di offload dell'attività corrispondente specificata dal membro in cui l'intestazione IP interna di un pacchetto incapsulato è IPv6.
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_OUTER_IPV6 Specifica che l'adattatore miniport supporta la funzionalità di offload dell'attività corrispondente specificata dal membro in cui l'intestazione IP esterna di un pacchetto incapsulato è IPv6.

Ad esempio, se un adattatore miniport e un driver supportano solo un'intestazione IPv6 come intestazione IP esterna, ma non come intestazione IP interna, imposta TransmitChecksumOffloadSupported, ReceiveChecksumOffloadSupported, LsoV2Supported, RssSupported, VmqSupportede UsoSupported sul valore dell'OR bit per bit del NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_INNER_IPV4, NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_OUTER_IPV4 e NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_OUTER_IPV6.

Per quanto riguarda le opzioni IP e le opzioni TCP, è stato fatto il presupposto seguente per i pacchetti incapsulati:

  • Se la scheda di interfaccia di rete specifica IpOptions e TcpOptions supporto nell'offload checksum normale e nell'annuncio LSOv2, deve supportare l'elaborazione delle opzioni per i pacchetti incapsulati se è supportata l'offload dell'attività VXLAN tramite Virtualizzazione di rete. Ciò significa che supporterà le opzioni IP interne ed esterne e le opzioni TCP all'interno dei pacchetti incapsulati. Non esiste alcun annuncio di funzionalità separato per questi specifici per l'offload delle attività VXLAN.

È possibile che un driver di protocollo offload di pacchetti "modalità mista", ovvero pacchetti in cui le versioni dell'intestazione IP interna ed esterna siano diverse. Ad esempio, un pacchetto potrebbe avere un'intestazione IP esterna come IPv6 e l'intestazione IP interna come IPv4.

Per altre informazioni su VXLAN, vedere RFC 7348.

Fabbisogno

Requisito Valore
client minimo supportato NDIS 6.50
intestazione ntddndis.h (include ndis.h)

Vedere anche

NDIS_OFFLOAD