Condividi tramite


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)

Vedere anche

NDIS_OBJECT_HEADER

OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES

OID_TCP_OFFLOAD_PARAMETERS