NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_V2 struttura (ntddndis.h)

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

Questa struttura viene usata nel membro EncapsulatedPacketTaskOffloadVxlan 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;

Members

TransmitChecksumOffloadSupported

Impostazioni di offload dell'attività per il checksum di trasmissione.

ReceiveChecksumOffloadSupported

Impostazioni di offload dell'attività per il checksum di ricezione.

LsoV2Supported

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

RssSupported

Impostazioni di offload dell'attività per il ridimensionamento laterale (RSS).

VmqSupported

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

UsoSupported

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

Reserved

Riservato per l'utilizzo nel sistema.

MaxHeaderSizeSupported

Questo membro deve essere impostato sulla dimensione massima 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 attività. Il driver del protocollo deve non scaricare l'elaborazione di un pacchetto le cui intestazioni di incapsulamento combinato superano questa dimensione.

Suggerimento

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

EncapsulationProtocolInfo

Unione che contiene 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'utilizzo nel sistema.

Reserved2

Riservato per l'utilizzo nel sistema.

Commenti

Nell'annuncio di funzionalità iniziale e inNDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG e NDIS_STATUS_TASK_OFFLOAD_HARDWARE_CAPABILITIES indicazioni sullo stato, i membri TransmitChecksumOffloadSupported, ReceiveChecksumOffloadSupported, LsoV2Supported, RssSupported, VmqSupported e 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, verrà impostato TransmitChecksumOffloadSupported, ReceiveChecksumOffloadSupported, LsoV2Supported, VmqSupported e UsoSupported al valore dell'OR bit per bit di 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 Il supporto ipOptions e TcpOptions nel normale offload checksum e annuncio LSOv2, deve supportare l'elaborazione delle opzioni per i pacchetti incapsulati se è supportata l'offload dell'attività Network Virtualization con VXLAN. Ciò significa che supporterà sia le opzioni IP interne che esterne e LE opzioni TCP all'interno dei pacchetti incapsulati. Non esiste alcuna pubblicità di funzionalità separata per queste attività specifiche solo per l'offload dell'attività VXLAN.

È possibile che un driver del protocollo offload di pacchetti "modalità mista" significa pacchetti in cui le versioni interne ed esterne dell'intestazione IP sono 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.

Requisiti

Requisito Valore
Client minimo supportato NDIS 6.50
Intestazione ntddndis.h (include ndis.h)

Vedi anche

NDIS_OFFLOAD