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) |