struttura NDIS_TCP_CONNECTION_OFFLOAD (ntddndis.h)

La struttura NDIS_TCP_CONNECTION_OFFLOAD fornisce informazioni sull'offload di connessione per le impostazioni correnti e per le funzionalità supportate.

Sintassi

typedef struct _NDIS_TCP_CONNECTION_OFFLOAD {
  NDIS_OBJECT_HEADER Header;
  ULONG              Encapsulation;
  ULONG              SupportIPv4 : 2;
  ULONG              SupportIPv6 : 2;
  ULONG              SupportIPv6ExtensionHeaders : 2;
  ULONG              SupportSack : 2;
  ULONG              CongestionAlgorithm : 4;
  ULONG              TcpConnectionOffloadCapacity;
  ULONG              Flags;
} NDIS_TCP_CONNECTION_OFFLOAD, *PNDIS_TCP_CONNECTION_OFFLOAD;

Members

Header

Struttura NDIS_OBJECT_HEADER per la struttura NDIS_TCP_CONNECTION_OFFLOAD. Impostare il membro Type della struttura specificata da Header su NDIS_OBJECT_TYPE_DEFAULT, il membro Revisionsu NDIS_TCP_CONNECTION_OFFLOAD_REVISION_1 e il membro Sizesu NDIS_SIZEOF_TCP_CONNECTION_OFFLOAD_REVISION_1.

Encapsulation

Impostazioni di incapsulamento per l'offload del camino TCP. Per altre informazioni su questo membro, vedere la sezione Osservazioni seguente.

SupportIPv4

Valore ULONG impostato da una destinazione di offload per indicare che supporta IPv4. Lo stack di driver TCP/IP imposta questo membro per abilitare IPv4.

SupportIPv6

Valore ULONG impostato da una destinazione di offload per indicare che supporta IPv6. Lo stack di driver TCP/IP imposta questo membro per abilitare IPv6. Si noti che una destinazione di offload può supportare sia IPv4 che IPv6.

SupportIPv6ExtensionHeaders

Valore ULONG impostato da una destinazione di offload per indicare che supporta le intestazioni di estensione IPv6, ovvero routing, frammentazione/riassemblaggio, autenticazione, incapsulamento, elaborazione hop per hop e opzioni di destinazione. Lo stack di driver TCP/IP imposta questo membro per abilitare le intestazioni di estensione IPv6.

SupportSack

Valore ULONG impostato da una destinazione di offload per indicare che supporta i riconoscimenti selettivi TCP (SACK) per le operazioni di trasmissione e ricezione. Lo stack di driver TCP/IP imposta questo membro per abilitare sack per le operazioni di trasmissione e ricezione.

Se una destinazione di offload imposta il membro SupportSack , la destinazione deve essere in grado di generare e utilizzare segmenti SACK. Se una destinazione di offload non supporta l'opzione SACK, la destinazione deve essere in grado di ignorare l'opzione SACK ed elaborare normalmente il resto del segmento TCP.

CongestionAlgorithm

Riservato per utilizzi futuri.

Se si è un fornitore di hardware indipendente (IHV) e si desidera implementare algoritmi di controllo della congestione non predefiniti, ad esempio TCP composto, contattare Microsoft at External TCP Offload Triage.

TcpConnectionOffloadCapacity

Valore ULONG impostato da una destinazione di offload per indicare il numero massimo di connessioni TCP offloaded supportate. Questo numero include sia connessioni IPv4 che IPv6.

Flags

Riservato.

Commenti

La struttura NDIS_TCP_CONNECTION_OFFLOAD specifica i servizi correnti o supportati forniti da un adattatore miniport per l'offload del camino TCP.

La struttura NDIS_TCP_CONNECTION_OFFLOAD viene utilizzata instruttura NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES, struttura NDIS_BIND_PARAMETERS, OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG OID OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES OID, indicazione dello stato NDIS_STATUS_OFFLOAD_RESUME e NDIS_STATUS_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES indicazione dello stato. Per informazioni su NDIS_STATUS_OFFLOAD_RESUME, vedere la documentazione relativa all'offload del camino TCP NDIS 6.0.

I driver miniport non ricevono le query OID. NDIS usa le informazioni fornite dal driver miniport negli attributi e nelle indicazioni sullo stato per fornire risposte alle query OID e per fornire parametri di associazione.

NDIS fornisce una struttura di NDIS_TCP_CONNECTION_OFFLOAD in risposta a una query di OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG o OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES. In risposta a una query OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG, la struttura NDIS_TCP_CONNECTION_OFFLOAD specifica le impostazioni di configurazione correnti della destinazione di offload. In risposta a una query OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES, la struttura NDIS_TCP_CONNECTION_OFFLOAD specifica le funzionalità hardware della destinazione di offload per l'offload delle connessioni TCP dal trasporto TCP/IP.

Il membro Encapsulation di NDIS_TCP_CONNECTION_OFFLOAD definisce le impostazioni di incapsulamento del camino TCP per l'adattatore miniport.

Per un oggetto OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES richiesta di query, NDIS fornisce un singolo flag che indica le funzionalità di incapsulamento hardware, nel membro Encapsulation .

Per un oggetto OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG richiesta di query, NDIS fornisce un OR bit per bit dei flag di incapsulamento, che indica le impostazioni di incapsulamento correnti.

Per il membro Encapsulation vengono definiti i flag seguenti:

Importante Un miniport o un driver mux in grado di supportare il camino deve impostare il membro Incapsulamento su NDIS_ENCAPSULATION_IEEE_802_3, NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED o entrambi. In caso contrario, la funzionalità del camino non verrà riconosciuta.
 

Query offload TCP Chimney

Quando un NDIS risponde a una query di OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES o OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG per una destinazione di offload, NDIS fornisce i membri SupportIp4, SupportIp6, SupportIp6ExtensionHeaders e SupportISack della struttura NDIS_TCP_CONNECTION_OFFLOAD. Questi membri possono avere uno dei valori seguenti:

Una destinazione di offload deve supportare IPv4 o IPv6 (o entrambe). Le destinazioni di offload possono supportare facoltativamente le intestazioni dell'estensione IPv6.

Una destinazione offload non deve supportare alcuna opzione IPv4. La destinazione di offload deve inoltrare eventuali datagrammi IP ricevuti che contengono opzioni IPv4 allo stack di driver TCP/IP. La destinazione di offload indica tali datagrammi IP allo stack di driver TCP/IP chiamando NdisMIndicateReceiveNetBufferLists. Lo stack di driver TCP/IP elabora le opzioni IPv4 e restituisce i datagrammi alla destinazione di offload Funzione MiniportTcpOffloadForward . Per informazioni su MiniportTcpOffloadForward, vedere la documentazione relativa all'offload del camino TCP NDIS 6.0.

La destinazione di offload deve anche fornire un valore per il membro TcpConnectionOffloadCapacity di NDIS_TCP_CONNECTION_OFFLOAD. Questo valore deve essere il numero massimo di connessioni TCP scaricate simultaneamente che la destinazione di offload può supportare.

Si noti che una destinazione di offload non può indicare direttamente nuove funzionalità di offload. Al contrario, la destinazione di offload deve richiedere allo stack di driver TCP/IP di sospendere e quindi riprendere gli offload. Quando l'adattatore miniport è pronto per riprendere l'offload delle connessioni TCP, genera un'indicazione di stato NDIS_STATUS_OFFLOAD_RESUME per segnalare le nuove funzionalità di offload della connessione. Per altre informazioni su NDIS_STATUS_OFFLOAD_RESUME, vedere la documentazione relativa all'offload del camino TCP 6.0 NDIS 6.0.

Requisiti

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

Vedi anche

NDIS_BIND_PARAMETERS

NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES

NDIS_OBJECT_HEADER

NDIS_OFFLOAD

NDIS_STATUS_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES NdisMIndicateReceiveNetBufferLists OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES