struttura NDIS_OFFLOAD_PARAMETERS (ntddndis.h)
La struttura NDIS_OFFLOAD_PARAMETERS specifica le impostazioni di configurazione dell'offload dell'attività corrente in risposta a una richiesta di set OID di OID_TCP_OFFLOAD_PARAMETERS.
Sintassi
typedef struct _NDIS_OFFLOAD_PARAMETERS {
NDIS_OBJECT_HEADER Header;
UCHAR IPv4Checksum;
UCHAR TCPIPv4Checksum;
UCHAR UDPIPv4Checksum;
UCHAR TCPIPv6Checksum;
UCHAR UDPIPv6Checksum;
UCHAR LsoV1;
UCHAR IPsecV1;
UCHAR LsoV2IPv4;
UCHAR LsoV2IPv6;
UCHAR TcpConnectionIPv4;
UCHAR TcpConnectionIPv6;
ULONG Flags;
UCHAR IPsecV2;
UCHAR IPsecV2IPv4;
struct {
UCHAR RscIPv4;
UCHAR RscIPv6;
};
struct {
UCHAR EncapsulatedPacketTaskOffload;
UCHAR EncapsulationTypes;
};
union {
struct {
USHORT VxlanUDPPortNumber;
} VxlanParameters;
ULONG Value;
} EncapsulationProtocolParameters;
_ENCAPSULATION_PROTOCOL_PARAMETERS _ENCAPSULATION_PROTOCOL_PARAMETERS;
struct {
UCHAR IPv4;
UCHAR IPv6;
} UdpSegmentation;
struct {
UCHAR Enabled;
} UdpRsc;
} NDIS_OFFLOAD_PARAMETERS, *PNDIS_OFFLOAD_PARAMETERS;
Members
Header
Struttura NDIS_OBJECT_HEADER per la struttura NDIS_OFFLOAD_PARAMETERS . Impostare il membro Type della struttura specificata da Header su NDIS_OBJECT_TYPE_DEFAULT.
Per indicare la versione della struttura NDIS_OFFLOAD_PARAMETERS , impostare il membro Revision su uno dei valori seguenti:
Valore | Significato |
---|---|
NDIS_OFFLOAD_PARAMETERS_REVISION_6 6 |
Supporta il membro UdpRsc per NDIS 6.89. Impostare il membro Size su NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_6. |
NDIS_OFFLOAD_PARAMETERS_REVISION_5 5 |
Supporta UdpSegmentation per IPv4 e IPv6 per NDIS 6.83. Impostare il membro Size su NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_5. |
NDIS_OFFLOAD_PARAMETERS_REVISION_4 4 |
Supporta EncapsulationProtocolParameters e i relativi VxlanParameter annidati per NDIS 6.50. Impostare il membro Size su NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_4. |
NDIS_OFFLOAD_PARAMETERS_REVISION_3 3 |
Supporta i membri RscIPv4, RscIPv6, EncapsulatedPacketTaskOffload e EncapsulationTypes per NDIS 6.30. Impostare il membro Size su NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_3. |
NDIS_OFFLOAD_PARAMETERS_REVISION_2 2 |
Supporta i membri IPsecV2, IPsecV2IPv4, Reserved1 e Reserved2 per NDIS 6.1. Impostare il membro Size su NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_2. |
NDIS_OFFLOAD_PARAMETERS_REVISION_1 1 |
Versione originale per NDIS 6.0. Impostare il membro Size su NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_1. |
IPv4Checksum
Impostazione del checksum IPv4 dell'adattatore miniport. Per ulteriori informazioni, vedere la sezione Osservazioni successiva.
TCPIPv4Checksum
Impostazione del checksum IPv4 dell'adattatore miniport per i pacchetti TCP. Per ulteriori informazioni, vedere la sezione Osservazioni successiva.
UDPIPv4Checksum
Impostazione del checksum IPv4 dell'adattatore miniport per i pacchetti UDP. Per ulteriori informazioni, vedere la sezione Osservazioni successiva.
TCPIPv6Checksum
Impostazione del checksum IPv6 dell'adattatore miniport per i pacchetti TCP. Per ulteriori informazioni, vedere la sezione Osservazioni successiva.
UDPIPv6Checksum
Impostazione del checksum IPv6 dell'adattatore miniport per i pacchetti UDP. Per ulteriori informazioni, vedere la sezione Osservazioni successiva.
LsoV1
Impostazione offload di trasmissione di grandi dimensioni versione 1 (LSOV1) dell'adattatore miniport. Questa impostazione deve essere uno dei valori seguenti:
Valore | Significato |
---|---|
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE | Il driver miniport non deve modificare l'impostazione corrente. |
NDIS_OFFLOAD_PARAMETERS_LSOV1_DISABLED | LSOV1 è disabilitato. |
NDIS_OFFLOAD_PARAMETERS_LSOV1_ENABLED | LSOV1 è abilitato. |
IPsecV1
Impostazione di offload IPsec (Internet Protocol Security) dell'adattatore miniport. Questa impostazione deve essere uno dei valori seguenti:
Valore | Significato |
---|---|
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE | Il driver miniport non deve modificare l'impostazione corrente. |
NDIS_OFFLOAD_PARAMETERS_IPSECV1_DISABLED | L'offload IPsec è disabilitato. |
NDIS_OFFLOAD_PARAMETERS_IPSECV1_AH_ENABLED | La funzionalità IPsec offload Authentication Header (AH) deve essere abilitata per la trasmissione e la ricezione. |
NDIS_OFFLOAD_PARAMETERS_IPSECV1_ESP_ENABLED | La funzionalità IPsec offload Encapsulating Security Payload (ESP) deve essere abilitata per la trasmissione e la ricezione. |
NDIS_OFFLOAD_PARAMETERS_IPSECV1_AH_AND_ESP_ENABLED | Le funzionalità IPsec offload AH ed ESP sono abilitate per la trasmissione e la ricezione. |
LsoV2IPv4
L'impostazione IPv4 per l'offload di invio di grandi dimensioni versione 2 (LSOV2) dell'adattatore miniport. Questa impostazione deve essere uno dei valori seguenti:
Valore | Significato |
---|---|
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE | Il driver miniport non deve modificare l'impostazione corrente. |
NDIS_OFFLOAD_PARAMETERS_LSOV2_DISABLED | LSOV2 per IPv4 è disabilitato. |
NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED | LSOV2 per IPv4 è abilitato. |
LsoV2IPv6
Impostazione IPv6 LSOV2 dell'adattatore miniport. Queste impostazioni vengono specificate come uno dei valori seguenti:
Valore | Significato |
---|---|
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE | Il driver miniport non deve modificare l'impostazione corrente. |
NDIS_OFFLOAD_PARAMETERS_LSOV2_DISABLED | LSOV2 per IPv6 è disabilitato. |
NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED | LSOV2 per IPv6 è abilitato. |
TcpConnectionIPv4
Impostazione di offload della connessione IPv4 dell'adattatore miniport. Queste impostazioni vengono specificate come uno dei valori seguenti:
Valore | Significato |
---|---|
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE | Il driver miniport non deve modificare l'impostazione corrente. |
TcpConnectionIPv6
Impostazione di offload della connessione IPv6 dell'adattatore miniport. Queste impostazioni vengono specificate come uno dei valori seguenti:
Valore | Significato |
---|---|
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE | Il driver miniport non deve modificare l'impostazione corrente. |
Flags
Set di flag che possono essere combinati con un'operazione OR bit per bit. Impostare questo membro su zero o sul valore seguente:
Valore | Significato |
---|---|
NDIS_OFFLOAD_PARAMETERS_SKIP_REGISTRY_UPDATE 0x00000001 |
Consente l'offload URO (Coalescing Segment) del segmento di ricezione UDP deve essere disabilitato solo in fase di esecuzione. Le modifiche apportate con questo flag non vengono salvate nel Registro di sistema. |
IPsecV2
Impostazione di offload IPsec (Internet Protocol Security) versione 2 di una scheda miniport che supporta IPv6 e IPv4. Questo membro specifica l'impostazione sia per il supporto IPv6 che per IPv4. Questa impostazione deve essere uno dei valori seguenti:
Valore | Significato |
---|---|
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE | Il driver miniport non deve modificare l'impostazione corrente. |
NDIS_OFFLOAD_PARAMETERS_IPSECV2_DISABLED | L'offload IPsec versione 2 è disabilitato. |
NDIS_OFFLOAD_PARAMETERS_IPSECV2_AH_ENABLED | La funzionalità IPsec offload versione 2 Authentication Header (AH) deve essere abilitata per la trasmissione e la ricezione. |
NDIS_OFFLOAD_PARAMETERS_IPSECV2_ESP_ENABLED | La funzionalità IPsec offload versione 2 Encapsulating Security Payload (ESP) deve essere abilitata per la trasmissione e la ricezione. |
NDIS_OFFLOAD_PARAMETERS_IPSECV2_AH_AND_ESP_ENABLED | Le funzionalità di offload IPsec versione 2 AH ed ESP sono abilitate per la trasmissione e la ricezione. |
IPsecV2IPv4
L'impostazione di offload IPsec (Internet Protocol Security) versione 2 di una scheda miniport che supporta IPv4 e non supporta IPv6. Se il driver miniport supporta IPv6, il membro IPsecV2 specifica l'impostazione IPv4 e questo membro non viene usato. Questa impostazione deve essere uno dei valori seguenti:
Valore | Significato |
---|---|
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE | Il driver miniport non deve modificare l'impostazione corrente. |
NDIS_OFFLOAD_PARAMETERS_IPSECV2_DISABLED | L'offload IPsec versione 2 è disabilitato. |
NDIS_OFFLOAD_PARAMETERS_IPSECV2_AH_ENABLED | La funzionalità IPsec offload versione 2 Authentication Header (AH) deve essere abilitata per la trasmissione e la ricezione. |
NDIS_OFFLOAD_PARAMETERS_IPSECV2_ESP_ENABLED | La funzionalità IPsec offload versione 2 Encapsulating Security Payload (ESP) deve essere abilitata per la trasmissione e la ricezione. |
NDIS_OFFLOAD_PARAMETERS_IPSECV2_AH_AND_ESP_ENABLED | Le funzionalità di offload IPsec versione 2 AH ed ESP sono abilitate per la trasmissione e la ricezione. |
RscIPv4
Indica lo stato di unione del segmento di ricezione per IPv4.
Valore | Significato |
---|---|
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE | Lo stato RSC rimane invariato. |
NDIS_OFFLOAD_PARAMETERS_RSC_ENABLED | Lo stato RSC è abilitato. |
NDIS_OFFLOAD_PARAMETERS_RSC_DISABLED | Lo stato RSC è disabilitato. |
RscIPv6
Indica lo stato di unione del segmento di ricezione per IPv6.
Valore | Significato |
---|---|
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE | Lo stato RSC rimane invariato. |
NDIS_OFFLOAD_PARAMETERS_RSC_ENABLED | Lo stato RSC è abilitato. |
NDIS_OFFLOAD_PARAMETERS_RSC_DISABLED | Lo stato RSC è disabilitato. |
EncapsulatedPacketTaskOffload
Un driver di protocollo imposta EncapsulatedPacketTaskOffload come segue:
Nota: per ricevere offload sideload, ad esempio VMQ e RSS, sono disponibili altri URI impostati che il driver di protocollo invia per abilitare e configurare i parametri di offload (ad esempio code, hash e tabella di riferimento indiretto). Il membro EncapsulatedPacketTaskOffload è supplementare a tali ID e indica alla scheda di interfaccia di rete di eseguire anche questi offload per i pacchetti incapsulati.
Valore | Significato |
---|---|
NDIS_OFFLOAD_SET_NO_CHANGE 0 |
Gli stati di offload delle attività NVGRE e VXLAN sono invariati. |
NDIS_OFFLOAD_SET_ON 1 |
Abilita l'offload delle attività NVGRE e VXLAN. |
NDIS_OFFLOAD_SET_OFF 2 |
Disabilita gli offload delle attività NVGRE e VXLAN. |
EncapsulationTypes
Questo campo è valido solo quando EncapsulatedPacketTaskOffload è impostato su NDIS_OFFLOAD_SET_ON. Se il membro EncapsulatedPacketTaskOffload non è impostato su NDIS_OFFLOAD_SET_ON, questo membro è zero. Un driver di protocollo deve impostare EncapsulationTypes sull'OR bit per bit dei flag corrispondenti ai tipi di incapsulamento richiesti. Può selezionare i flag dai seguenti:
Valore | Significato |
---|---|
NDIS_ENCAPSULATION_TYPE_GRE_MAC 0x00000001 |
Specifica l'incapsulamento MAC GRE (NVGRE). |
NDIS_ENCAPSULATION_TYPE_VXLAN 0x00000002 |
Specifica l'incapsulamento VXLAN. |
EncapsulationProtocolParameters
Unione che descrive i parametri di incapsulamento per l'incapsulamento VXLAN.
Se il driver miniport ha annunciato VxlanUDPPortNumerConfigurable come TRUE, un driver di protocollo può impostare EncapsulationProtocolParameters.VxlanParameters.VxlanUDPPortNumber su un valore diverso da 0. Il driver miniport deve usare questo numero di porta per la corrispondenza e la generazione di fotogrammi VXLAN dopo aver completato l'OID e anche annunciare il valore aggiornato nelle sue funzionalità. Se il driver di protocollo passa un valore pari a 0, il driver miniport continua a usare il numero di porta inizializzato dalla parola chiave standardizzata.
EncapsulationProtocolParameters.VxlanParameters
Struttura che contiene VxlanUDPPortNumber.
EncapsulationProtocolParameters.VxlanParameters.VxlanUDPPortNumber
Valore della porta di destinazione VXLAN. Questo valore è impostato sul valore assegnato da IANA di 4789 per impostazione predefinita. Se il driver miniport supporta un numero di porta configurabile come annunciato nella struttura NDIS_OFFLOAD , un driver di protocollo può emettere un OID OID_TCP_OFFLOAD_PARAMETERS per abilitare NDIS_ENCAPSULATION_TYPE_VXLAN con un valore diverso in VxlanUDPPortNumber. Il driver miniport deve usare VxlanUDPPortNumber per determinare i pacchetti incapsulati VXLAN per l'esecuzione di offload di ricezione.
EncapsulationProtocolParameters.Value
Valore della porta se EncapsulationTypes non è impostato su NDIS_ENCAPSULATION_TYPE_VXLAN.
_ENCAPSULATION_PROTOCOL_PARAMETERS
Nome del tipo per EncapsulationProtocolParameters.
UdpSegmentation
Struttura che descrive le impostazioni UDP Segmentation Offload (USO) dell'adattatore miniport.
UdpSegmentation.IPv4
Impostazione IPv4 UDP Segmentation Offload (USO) dell'adattatore miniport. Questa impostazione deve essere uno dei valori seguenti:
Valore | Significato |
---|---|
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE | Il driver miniport non deve modificare l'impostazione corrente. |
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_DISABLED | USO è disabilitato. |
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_ENABLED | USO è abilitato. |
UdpSegmentation.IPv6
Impostazione IPv6 UDP Segmentation Offload (USO) dell'adattatore miniport. Questa impostazione deve essere uno dei valori seguenti:
Valore | Significato |
---|---|
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE | Il driver miniport non deve modificare l'impostazione corrente. |
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_DISABLED | USO è disabilitato. |
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_ENABLED | USO è abilitato. |
UdpRsc
Struttura che descrive le impostazioni UDP Receive Segment Coalescing Offload (URO) dell'adattatore miniport.
UdpRsc.Enabled
Impostazione URO dell'adattatore miniport. Questa impostazione deve essere uno dei valori seguenti:
Valore | Significato |
---|---|
NDIS_OFFLOAD_PARAMETERS_UDP_RSC_NO_CHANGE 0 |
Il driver miniport non deve modificare l'impostazione corrente. |
NDIS_OFFLOAD_PARAMETERS_UDP_RSC_DISABLED 1 |
L'URO è disabilitato. |
NDIS_OFFLOAD_PARAMETERS_UDP_RSC_ENABLED 2 |
L'URO è abilitato. |
Commenti
In risposta a una richiesta di set OID OID_TCP_OFFLOAD_PARAMETERS , un driver miniport usa le impostazioni nella struttura NDIS_OFFLOAD_PARAMETERS per impostare la configurazione corrente dell'adattatore miniport.
NDIS mantiene le impostazioni richieste nel Registro di sistema nelle parole chiave standardizzate di offload. Quando NDIS riavvia l'adattatore miniport, il driver miniport legge le parole chiave standardizzate di offload e le usa per impostare la configurazione di offload predefinita della scheda di interfaccia di rete.
Per accedere alle impostazioni di offload checksum, usare i membri seguenti della struttura NDIS_OFFLOAD_PARAMETERS :
IPv4Checksum
TCPIPv4Checksum
UDPIPv4Checksum
TCPIPv6Checksum
UDPIPv6Checksum
I membri precedenti possono avere uno dei valori seguenti:
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE
Il driver miniport non deve modificare l'impostazione corrente.
NDIS_OFFLOAD_PARAMETERS_TX_RX_DISABLED
La funzionalità specificata dal membro è disabilitata.
NDIS_OFFLOAD_PARAMETERS_TX_ENABLED_RX_DISABLED
La funzionalità specificata dal membro è abilitata per la trasmissione e la disabilita per la ricezione.
NDIS_OFFLOAD_PARAMETERS_RX_ENABLED_TX_DISABLED
La funzionalità specificata dal membro è abilitata per la ricezione e la disattivazione per la trasmissione.
NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED
La funzionalità specificata dal membro è abilitata per la trasmissione e la ricezione.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista, supportato in NDIS 6.0 e versioni successive. |
Server minimo supportato | Windows Server 2008 |
Intestazione | ntddndis.h (include Ndis.h) |