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;
Membri
Header
Struttura NDIS_OBJECT_HEADER per la struttura NDIS_OFFLOAD_PARAMETERS. Impostare il membro type della struttura che 'intestazione specifica su NDIS_OBJECT_TYPE_DEFAULT.
Per indicare la versione della struttura NDIS_OFFLOAD_PARAMETERS, impostare il membro revisione su uno dei valori seguenti:
Valore | Significato |
---|---|
NDIS_OFFLOAD_PARAMETERS_REVISION_6 6 |
Supporta il membro UdpRsc per NDIS 6.89. Impostare il membro dimensioni su NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_6. |
NDIS_OFFLOAD_PARAMETERS_REVISION_5 5 |
Supporta la udpSegmentation per IPv4 e IPv6 per NDIS 6.83. Impostare il membro dimensioni su NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_5. |
NDIS_OFFLOAD_PARAMETERS_REVISION_4 4 |
Supporta l'EncapsulationProtocolParameters e i relativi VxlanParameters per NDIS 6.50. Impostare il membro dimensioni su NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_4. |
NDIS_OFFLOAD_PARAMETERS_REVISION_3 3 |
Supporta l'RscIPv4, RscIPv6, EncapsulatedPacketTaskOffloade i membri EncapsulationTypes per NDIS 6.30. Impostare il membro Dimensioni su NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_3. |
NDIS_OFFLOAD_PARAMETERS_REVISION_2 2 |
Supporta IPsecV2, IPsecV2IPv4, Reserved1e Membri Reserved2 per NDIS 6.1. Impostare il membro Dimensioni su NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_2. |
NDIS_OFFLOAD_PARAMETERS_REVISION_1 1 |
Versione originale per NDIS 6.0. Impostare il membro Dimensioni su NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_1. |
IPv4Checksum
Impostazione del checksum IPv4 dell'adattatore miniport. Per altre informazioni, vedere la sezione Osservazioni seguente.
TCPIPv4Checksum
Impostazione del checksum IPv4 dell'adattatore miniport per i pacchetti TCP. Per altre informazioni, vedere la sezione Osservazioni seguente.
UDPIPv4Checksum
Impostazione del checksum IPv4 dell'adattatore miniport per i pacchetti UDP. Per altre informazioni, vedere la sezione Osservazioni seguente.
TCPIPv6Checksum
Impostazione del checksum IPv6 dell'adattatore miniport per i pacchetti TCP. Per altre informazioni, vedere la sezione Osservazioni seguente.
UDPIPv6Checksum
Impostazione del checksum IPv6 dell'adattatore miniport per i pacchetti UDP. Per altre informazioni, vedere la sezione Osservazioni seguente.
LsoV1
Impostazione di offload di invio 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à di offload IPsec AH ed ESP sono abilitate per la trasmissione e la ricezione. |
LsoV2IPv4
L'impostazione IPv4 large send offload 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 il valore seguente:
Valore | Significato |
---|---|
NDIS_OFFLOAD_PARAMETERS_SKIP_REGISTRY_UPDATE 0x00000001 |
Consente di disabilitare l'offload (URO) del segmento di ricezione UDP solo in fase di esecuzione. Le modifiche apportate con questo flag non vengono salvate nel Registro di sistema. |
IPsecV2
L'impostazione di offload IPsec (Internet Protocol Security) versione 2 di una scheda miniport che supporta IPv6 e IPv4. Questo membro specifica l'impostazione per il supporto di IPv6 e 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 dell'intestazione di autenticazione (AH) deve essere abilitata per la trasmissione e la ricezione. |
NDIS_OFFLOAD_PARAMETERS_IPSECV2_ESP_ENABLED | La funzionalità IPsec offload versione 2 Incapsulating 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 dell'intestazione di autenticazione (AH) deve essere abilitata per la trasmissione e la ricezione. |
NDIS_OFFLOAD_PARAMETERS_IPSECV2_ESP_ENABLED | La funzionalità IPsec offload versione 2 Incapsulating 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 indicato di seguito:
Nota: per ricevere offload sideload, ad esempio VMQ e RSS, sono presenti altri OID impostati inviati dal driver di protocollo 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 gli 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 la EncapsulatedPacketTaskOffload è impostata 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 elementi:
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 annunciato VxlanUDPPortNumerConfigurable come TRUE, un driver di protocollo può impostare EncapsulationProtocolParameters.VxlanParameters.VxlanUDPPortNumber a un valore diverso da 0. Il driver miniport deve usare questo numero di porta per la corrispondenza e la generazione di fotogrammi VXLAN dopo l'esito positivo dell'OID e anche annunciare il valore aggiornato nelle relative funzionalità. Se il driver di protocollo passa un valore di 0, il driver miniport continua a usare il numero di porta inizializzato dalla parola chiave standardizzata.
EncapsulationProtocolParameters.VxlanParameters
Struttura che contiene il 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) della scheda 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) della scheda 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 URO (UDP Receive Segment Coalescing Offload) 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. |
Osservazioni
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 ricevere e disabilitare la trasmissione.
NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED
La funzionalità specificata dal membro è abilitata per la trasmissione e la ricezione.
Fabbisogno
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) |