Condividi tramite


struttura NDIS_TCP_LARGE_SEND_OFFLOAD_V2 (ntddndis.h)

La struttura NDIS_TCP_LARGE_SEND_OFFLOAD_V2 fornisce informazioni di offload di invio di grandi dimensioni versione 2 (LSOV2) nella struttura NDIS_OFFLOAD.

Sintassi

typedef struct _NDIS_TCP_LARGE_SEND_OFFLOAD_V2 {
  struct {
    ULONG Encapsulation;
    ULONG MaxOffLoadSize;
    ULONG MinSegmentCount;
  } IPv4;
  struct {
    ULONG Encapsulation;
    ULONG MaxOffLoadSize;
    ULONG MinSegmentCount;
    ULONG IpExtensionHeadersSupported : 2;
    ULONG TcpOptionsSupported : 2;
  } IPv6;
} NDIS_TCP_LARGE_SEND_OFFLOAD_V2, *PNDIS_TCP_LARGE_SEND_OFFLOAD_V2;

Membri

IPv4

Struttura all'interno di NDIS_TCP_LARGE_SEND_OFFLOAD_V2 che specifica le informazioni IPv4 e che contiene i membri seguenti:

IPv4.Encapsulation

Impostazioni di incapsulamento per IPv4. Per altre informazioni su questo membro, vedere la sezione Osservazioni seguente.

IPv4.MaxOffLoadSize

Byte massimi di dati utente che il trasporto può passare al driver miniport in un singolo pacchetto. Il trasporto non passerà un pacchetto al driver miniport che contiene più byte di dati utente rispetto a MaxOffLoadSize specificato. Se tale pacchetto deve essere trasmesso, il trasporto stesso segmenta il pacchetto in pacchetti più piccoli.

IPv4.MinSegmentCount

Numero minimo di segmenti per cui un pacchetto TCP di grandi dimensioni deve essere divisibile prima che il trasporto possa scaricarlo nell'hardware per la segmentazione. Il trasporto non scaricherà un pacchetto di grandi dimensioni per il driver miniport per la segmentazione, a meno che il driver miniport non possa creare almeno un numero di segmenti pari a MinSegmentCount specificato dal pacchetto. Se un pacchetto TCP di grandi dimensioni non soddisfa il requisito di segmento minimo, il trasporto TCP/IP stesso segmenta il pacchetto in pacchetti più piccoli.

IPv6

Struttura all'interno di NDIS_TCP_LARGE_SEND_OFFLOAD_V2 che specifica le informazioni IPv6 e che contiene i membri seguenti:

IPv6.Encapsulation

Impostazioni di incapsulamento per IPv6. Per altre informazioni su questo membro, vedere la sezione Osservazioni seguente.

IPv6.MaxOffLoadSize

Byte massimi di dati utente che il trasporto può passare al driver miniport in un singolo pacchetto. Il trasporto non passerà un pacchetto al driver miniport che contiene più byte di dati utente rispetto a MaxOffLoadSize specificato. Se tale pacchetto deve essere trasmesso, il trasporto stesso segmenta il pacchetto in pacchetti più piccoli.

IPv6.MinSegmentCount

Numero minimo di segmenti per cui un pacchetto TCP di grandi dimensioni deve essere divisibile prima che il trasporto possa eseguirne l'offload in una scheda di interfaccia di rete per la segmentazione. Il trasporto non scaricherà un pacchetto di grandi dimensioni per il driver miniport per la segmentazione, a meno che il driver miniport non possa creare almeno un numero di segmenti pari a MinSegmentCount specificato dal pacchetto. Se un pacchetto TCP di grandi dimensioni non soddisfa il requisito di segmento minimo, il trasporto TCP/IP stesso segmenta il pacchetto in pacchetti più piccoli.

IPv6.IpExtensionHeadersSupported

Valore ULONG impostato da un driver miniport per indicare che l'adattatore miniport può segmentare un pacchetto TCP di grandi dimensioni la cui intestazione IP contiene intestazioni di estensione IPv6.

IPv6.TcpOptionsSupported

Valore ULONG impostato da un driver miniport per indicare che il driver miniport può segmentare un pacchetto TCP di grandi dimensioni la cui intestazione TCP contiene opzioni TCP o per indicare che questa funzionalità è abilitata o disabilitata.

Osservazioni

La struttura NDIS_TCP_LARGE_SEND_OFFLOAD_V2 viene utilizzata nel membro LsoV2 della struttura NDIS_OFFLOAD. La struttura NDIS_TCP_LARGE_SEND_OFFLOAD_V2 specifica i servizi correnti o supportati forniti da un adattatore miniport per segmentare pacchetti TCP di grandi dimensioni in pacchetti più piccoli. NDIS fornisce anche un offload di invio di grandi dimensioni versione 1 (LSOV1), che è una versione precedente di LSOV2. Per altre informazioni su LSOV1, vedere NDIS_TCP_LARGE_SEND_OFFLOAD_V1.

NDIS_OFFLOAD viene usato nel struttura NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES, struttura NDIS_BIND_PARAMETERS, NDIS_FILTER_ATTACH_PARAMETERS struttura, OID_TCP_OFFLOAD_CURRENT_CONFIG OID e NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG indicazione dello stato.

Per OID_TCP_OFFLOAD_CURRENT_CONFIG, la struttura NDIS_OFFLOAD specifica le funzionalità di offload delle attività supportate da un adattatore miniport. Se le funzionalità di offload correnti cambiano, un driver miniport segnala le nuove funzionalità in un NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG indicazione dello stato.

L'incapsulamento membri di NDIS_TCP_LARGE_SEND_OFFLOAD_V2 definiscono le impostazioni di incapsulamento LSOV2 per l'adattatore miniport.

In risposta a un OID_TCP_OFFLOAD_CURRENT_CONFIG richiesta di query, NDIS fornisce un OR bit per bit dei flag di incapsulamento, che indicano le impostazioni di incapsulamento supportate, in ognuno dei membri Incapsulamento. I driver Miniport devono fornire l'incapsulamento Ethernet (NDIS_ENCAPSULATION_IEEE_802_3). Gli altri tipi di incapsulamento sono facoltativi.

Per un oggetto NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG indicazione dello stato, il driver miniport fornisce un OR bit per bit dei flag di incapsulamento, che indicano le funzionalità correnti, in ognuno dei membri incapsulamento.

I flag seguenti sono definiti per i membri incapsulamento:

NDIS_ENCAPSULATION_NOT_SUPPORTED
Specifica che non è supportato alcun offload di incapsulamento.

NDIS_ENCAPSULATION_NULL
Specifica l'incapsulamento NULL.

NDIS_ENCAPSULATION_IEEE_802_3
Specifica l'incapsulamento IEEE 802.3.

NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q
Specifica l'incapsulamento IEEE 802.3p e IEEE 802.3q.

NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q_IN_OOB
Specifica che le impostazioni di incapsulamento IEEE 802.3p e IEEE 802.3q vengono specificate nel membro NetBufferListInfo di ogni struttura NET_BUFFER_LIST.

NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED
Specifica l'incapsulamento del controllo di collegamento logico (LLC) per i protocolli indirizzati, come descritto in RFC 1483. Questo flag viene usato anche per indicare l'incapsulamento Ethernet LLC/SNAP.

Fabbisogno

Requisito Valore
client minimo supportato Supportato in NDIS 6.0 e versioni successive.
intestazione ntddndis.h (include Ndis.h)

Vedere anche

NDIS_BIND_PARAMETERS

NDIS_FILTER_ATTACH_PARAMETERS

NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES

NDIS_OFFLOAD

NDIS_OID_REQUEST

NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG NDIS_TCP_LARGE_SEND_OFFLOAD_V1

NET_BUFFER_LIST

OID_TCP_OFFLOAD_CURRENT_CONFIG