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;

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)

Vedi anche

NDIS_OBJECT_HEADER

OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES

OID_TCP_OFFLOAD_PARAMETERS