Freigeben über


NDIS_TCP_CONNECTION_OFFLOAD Struktur (ntddndis.h)

Die NDIS_TCP_CONNECTION_OFFLOAD-Struktur stellt Verbindungsoffloadinformationen für aktuelle Einstellungen und für unterstützte Funktionen bereit.

Syntax

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;

Angehörige

Header

Die NDIS_OBJECT_HEADER Struktur für die NDIS_TCP_CONNECTION_OFFLOAD Struktur. Legen Sie das element Type der Struktur fest, das Header- angibt, NDIS_OBJECT_TYPE_DEFAULT, das element Revision auf NDIS_TCP_CONNECTION_OFFLOAD_REVISION_1und das Size Member auf NDIS_SIZEOF_TCP_CONNECTION_OFFLOAD_REVISION_1.

Encapsulation

Kapselungseinstellungen für tcp-Schornstein-Offload. Weitere Informationen zu diesem Mitglied finden Sie im folgenden Abschnitt "Hinweise".

SupportIPv4

Ein ULONG-Wert, den ein Offload-Ziel festlegt, um anzugeben, dass es IPv4 unterstützt. Der TCP/IP-Treiberstapel legt dieses Element so fest, dass IPv4 aktiviert wird.

SupportIPv6

Ein ULONG-Wert, den ein Offloadziel festlegt, um anzugeben, dass er IPv6 unterstützt. Der TCP/IP-Treiberstapel legt dieses Element so fest, dass IPv6 aktiviert wird. Beachten Sie, dass ein Offloadziel sowohl IPv4 als auch IPv6 unterstützen kann.

SupportIPv6ExtensionHeaders

Ein ULONG-Wert, den ein Offloadziel festlegt, um anzugeben, dass er IPv6-Erweiterungsheader unterstützt (d. h. Routing, Fragmentierung/Neuassembly, Authentifizierung, Kapselung, Hop-by-Hop-Verarbeitung und Zieloptionen). Der TCP/IP-Treiberstapel legt dieses Element so fest, dass IPv6-Erweiterungsheader aktiviert werden.

SupportSack

Ein ULONG-Wert, der von einem Offloadziel festgelegt wird, um anzugeben, dass es selektive TCP-Bestätigungen (SACKs) für Übertragungs- und Empfangsvorgänge unterstützt. Der TCP/IP-Treiberstapel legt dieses Element so fest, dass SACKs sowohl für Übertragungs- als auch Empfangsvorgänge aktiviert werden.

Wenn ein Offloadziel den SupportSack Member festlegt, muss das Ziel in der Lage sein, SACK-Segmente zu generieren und zu verbrauchen. Wenn ein Offload-Ziel die SACK-Option nicht unterstützt, muss das Ziel die SACK-Option ignorieren und den Rest des TCP-Segments normal verarbeiten können.

CongestionAlgorithm

Reserviert für die zukünftige Verwendung.

Wenn Sie ein unabhängiger Hardwareanbieter (IHV) sind und nicht standardmäßige Überlastungssteuerungsalgorithmen implementieren möchten, z. B. Compound TCP, wenden Sie sich an Microsoft bei Externen TCP Offload Triage.

TcpConnectionOffloadCapacity

Ein ULONG-Wert, den ein Offloadziel festlegt, um die maximale Anzahl von deaktivierten TCP-Verbindungen anzugeben, die es unterstützt. Diese Zahl enthält sowohl IPv4- als auch IPv6-Verbindungen.

Flags

Reserviert.

Bemerkungen

Die NDIS_TCP_CONNECTION_OFFLOAD Struktur gibt die aktuellen oder unterstützten Dienste an, die ein Miniportadapter für tcp-Schornstein-Offload bereitstellt.

Die NDIS_TCP_CONNECTION_OFFLOAD Struktur wird in der NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES Struktur, NDIS_BIND_PARAMETERS Struktur, OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG OID, OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES OID, NDIS_STATUS_OFFLOAD_RESUME Statusanzeige und NDIS_STATUS_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES Statusanzeige. (Informationen zu NDIS_STATUS_OFFLOAD_RESUME finden Sie in NDIS 6.0 TCP-Schornstein-Offloaddokumentation.)

Miniporttreiber erhalten die OID-Abfragen nicht. NDIS verwendet die Informationen, die der Miniporttreiber in Attributen und Statusanzeigen bereitstellt, um Antworten auf OID-Abfragen bereitzustellen und Bindungsparameter bereitzustellen.

NDIS stellt eine NDIS_TCP_CONNECTION_OFFLOAD Struktur als Reaktion auf eine Abfrage von OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG oder OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES bereit. Als Reaktion auf eine OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG-Abfrage gibt die NDIS_TCP_CONNECTION_OFFLOAD-Struktur die aktuellen Konfigurationseinstellungen des Offloadziels an. Als Reaktion auf eine OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES Abfrage gibt die NDIS_TCP_CONNECTION_OFFLOAD-Struktur die Hardwarefunktionen des Offloadziels für das Entladen von TCP-Verbindungen aus dem TCP/IP-Transport an.

Die Kapselung Mitglied von NDIS_TCP_CONNECTION_OFFLOAD definiert die TCP-Kapselungseinstellungen für den Miniportadapter.

Für ein OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES Abfrageanforderung stellt NDIS ein einzelnes Flag bereit, das die Hardwarekapselungsfunktionen im Kapselungselement angibt.

Für ein OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG Abfrageanforderung stellt NDIS ein bitweises OR der Kapselungskennzeichnungen bereit, die die aktuellen Kapselungseinstellungen angibt.

Die folgenden Flags werden für das Kapselungselement-Member definiert:

Wichtig Ein Miniport- oder Muxtreiber, der schornsteinfähig ist, muss die Kapselung Mitglied auf NDIS_ENCAPSULATION_IEEE_802_3, NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED oder beides festlegen. Andernfalls wird die Schornsteinfunktion nicht erkannt.
 

TCP Chimney Offload-Abfragen

Wenn ein NDIS auf eine Abfrage von OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES oder OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG für ein Offload-Ziel bietet NDIS die SupportIp4, SupportIp6, SupportIp6ExtensionHeadersund SupportISack Member der NDIS_TCP_CONNECTION_OFFLOAD Struktur. Diese Member können einen der folgenden Werte aufweisen:

Ein Offloadziel muss entweder IPv4 oder IPv6 (oder beides) unterstützen. Offloadziele können optional IPv6-Erweiterungsheader unterstützen.

Ein Offloadziel sollte keine IPv4-Optionen unterstützen. Das Offloadziel muss alle empfangenen IP-Datagramme weiterleiten, die IPv4-Optionen an den TCP/IP-Treiberstapel enthalten. Das Offload-Ziel gibt solche IP-Datagramme an den TCP/IP-Treiberstapel durch Aufrufen NdisMIndicateReceiveNetBufferLists. Der TCP/IP-Treiberstapel verarbeitet die IPv4-Optionen und gibt die Datagramme an das Offloadziel zurück. MiniportTcpOffloadForward Funktion. (Informationen zu MiniportTcpOffloadForwardfinden Sie in NDIS 6.0 TCP Chimney Offload-Dokumentation.)

Das Offloadziel muss auch einen Wert für das TcpConnectionOffloadCapacity Mitglied von NDIS_TCP_CONNECTION_OFFLOAD bereitstellen. Dieser Wert sollte die maximale Anzahl gleichzeitig ausgeladener TCP-Verbindungen sein, die vom Offloadziel unterstützt werden können.

Beachten Sie, dass ein Offload-Ziel nicht direkt auf neue Offload-Funktionen hinweisen kann. Stattdessen muss das Offloadziel den TCP/IP-Treiberstapel anfordern, um anzuhalten und dann offloads fortzusetzen. Wenn der Miniportadapter bereit ist, das Entladen von TCP-Verbindungen fortzusetzen, gibt er eine NDIS_STATUS_OFFLOAD_RESUME Statusanzeige aus, um die neuen Verbindungsabladefunktionen zu melden. Weitere Informationen zu NDIS_STATUS_OFFLOAD_RESUME finden Sie in NDIS 6.0 TCP-Schornstein-Offloaddokumentation.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Unterstützt in NDIS 6.0 und höher.
Header- ntddndis.h (include Ndis.h)

Siehe auch

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