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;
} 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_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 configurabili 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. Attualmente non sono definiti flag.

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à di offload IPsec 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 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 2A H e 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à di offload IPsec 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 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 2A H e ESP sono abilitate per la trasmissione e la ricezione.

RscIPv4

Indica lo stato di coalescing segmento di ricezione per IPv4.

Valore Significato
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE
Lo stato RSC è invariato.
NDIS_OFFLOAD_PARAMETERS_RSC_ENABLED
Lo stato RSC è abilitato.
NDIS_OFFLOAD_PARAMETERS_RSC_DISABLED
Lo stato RSC è disabilitato.

RscIPv6

Indica lo stato di coalescing segmento di ricezione per IPv6.

Valore Significato
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE
Lo stato RSC è 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 gli offload lato ricezione, ad esempio VMQ e RSS, sono disponibili altri OID set inviati dal driver del protocollo per abilitare e configurare i parametri di offload(ad esempio code, hash e tabella indiretta). Il membro EncapsulatedPacketTaskOffload è supplementare a tali OID 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 dell'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 l'offload dell'attività NVGRE e VXLAN.

EncapsulationTypes

Questo campo è efficace solo quando l'oggetto EncapsulatedPacketTaskOffload è impostato su NDIS_OFFLOAD_SET_ON. Se il membro EncapsulatedPacketTaskOffload non è impostato su NDIS_OFFLOAD_SET_ON, questo membro è zero. Un driver del protocollo deve impostare EncapsulationTypes sull'OR bit per bit dei flag corrispondenti ai tipi di incapsulamento necessari. Può selezionare i flag dai seguenti elementi:

Valore Significato
NDIS_ENCAPSULATION_TYPE_GRE_MAC
0x00000001
Specifica l'incapsulamento DI GRE MAC (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 non 0. Il driver minport deve usare questo numero di porta per la corrispondenza e la generazione di frame VXLAN dopo aver completato l'OID e pubblicizzare anche il valore aggiornato nelle relative funzionalità. Se il driver del 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 contenente VxlanUDPPortNumber.

EncapsulationProtocolParameters.VxlanParameters.VxlanUDPPortNumber

Valore della porta di destinazione VXLAN. Questo valore è impostato sul valore assegnato da IANA pari a 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_TCP_OFFLOAD_PARAMETERS OID 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 eseguire 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
0
Il driver miniport non deve modificare l'impostazione corrente.
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_DISABLED
1
USO è disabilitato.
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_ENABLED
2
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
0
Il driver miniport non deve modificare l'impostazione corrente.
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_DISABLED
1
USO è disabilitato.
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_ENABLED
2
USO è 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)

Vedi anche

NDIS_OBJECT_HEADER

OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES

OID_TCP_OFFLOAD_PARAMETERS