Freigeben über


IP_OFFLOAD_STATS Struktur (ndischimney.h)

[Das TCP-Chimney-Auslagerungsfeature ist veraltet und sollte nicht verwendet werden.]

Die IP_OFFLOAD_STATS-Struktur enthält Statistiken, die ein Auslagerungsziel als Reaktion auf eine Abfrage von OID_IP4_OFFLOAD_STATS oder OID_IP6_OFFLOAD_STATS bereitstellt.

Syntax

typedef struct _IP_OFFLOAD_STATS {
  ULONG64 InReceives;
  ULONG64 InOctets;
  ULONG64 InDelivers;
  ULONG64 OutRequests;
  ULONG64 OutOctets;
  ULONG   InHeaderErrors;
  ULONG   InTruncatedPackets;
  ULONG   InDiscards;
  ULONG   OutDiscards;
  ULONG   OutNoRoutes;
} IP_OFFLOAD_STATS, *PIP_OFFLOAD_STATS;

Member

InReceives

Die Gesamtanzahl der Eingabe-IP-Datagramme, die von der Schnittstelle bei entladenen TCP-Verbindungen empfangen wurden, einschließlich der ip-Datagramme, die als Fehler empfangen wurden. Siehe "ipInReceives" in RFC 2011.

InOctets

Die Gesamtzahl der Oktette (Bytes) in Eingabe-IP-Datagrammen, die von der Schnittstelle bei entladenen TCP-Verbindungen empfangen wurden. Oktette aus in InReceives gezählten Datagrammen müssen hier gezählt werden. InOctets muss die Anzahl von Bytes im IP-Header und die Nutzlast enthalten.

InDelivers

Die Anzahl der Eingabe-IP-Datagramme, die erfolgreich an entladene TCP-Verbindungen übermittelt wurden. Siehe "ipInDelivers" in RFC 2011.

OutRequests

Die Anzahl der IP-Datagramme, die das Auslagerungsziel seiner IP-Schicht in Anforderungen für die Übertragung bei entladenen TCP-Verbindungen bereitgestellt hat. Siehe "ipOutRequests" in RFC 2011.

OutOctets

Die Gesamtzahl der Oktette (Bytes) in IP-Datagrammen, die das Auslagerungsziel an seine IP-Ebene in Anforderungen für die Übertragung bei entladenen TCP-Verbindungen bereitgestellt hat. Oktette aus Datagrammen, die in OutRequests gezählt werden, müssen hier gezählt werden. OutOctets müssen die Anzahl der Bytes im IP-Header und die Nutzlast enthalten.

InHeaderErrors

Die Anzahl der Eingabe-IP-Datagramme, die bei entladenen TCP-Verbindungen empfangen wurden, die aufgrund von Fehlern in ihren IP-Headern verworfen wurden. Zu solchen Fehlern gehören fehlerhafte Prüfsummen, Versionsnummernabweichungen, andere Formatfehler, Überschreitung der Laufzeit und Fehler, die bei der Verarbeitung von IPv6-Optionen erkannt wurden, wenn das Auslagerungsziel solche Optionen unterstützt. (Ein Auslagerungsziel verarbeitet keine IPv4-Optionen.) Diese Anzahl schließt keine Fehler ein, die sich aus ungültigen Zieladressen ergeben. Siehe "ipInHdrErrors" in RFC 2011.

InTruncatedPackets

Die Anzahl der Eingabe-IP-Datagramme, die verworfen wurden, weil der Datagrammrahmen nicht genügend Daten enthält. InTruncatedPackets sollten nur erhöht werden, wenn der Frame einen gültigen Header enthielt, andernfalls aber kürzer als erforderlich war. Frames, die zu kurz sind, um einen gültigen Header zu enthalten, sollten als InHeaderErrors gezählt werden.

InDiscards

Die Anzahl der Eingabe-IP-Datagramme, die bei entladenen TCP-Verbindungen empfangen wurden, die nichts enthielten, um die weitere Verarbeitung zu verhindern, aber aus Laufzeitgründen verworfen wurden, z. B. mangels verfügbarem Arbeitsspeicher oder anderen Ressourcen. Weitere Informationen finden Sie unter "ipInDiscards" in RFC 2011.

OutDiscards

Die Anzahl der Ausgabe-IP-Datagramme, die das Auslagerungsziel für seine IP-Schicht bereitgestellt hat, für die kein Problem aufgetreten ist, um die Übertragung zu verhindern, die aber aus Laufzeitgründen verworfen wurden, z. B. mangels Arbeitsspeicher oder anderen Ressourcen. Siehe "ipOutDiscards" in RFC 2011.

OutNoRoutes

Die Anzahl der Ausgabe-IP-Datagramme, die das Auslagerungsziel an seine IP-Ebene bereitgestellt hat, die verworfen wurden, weil keine Route (z. B. ein entladenes Pfadstatusobjekt) gefunden werden konnte, um sie an ihr Ziel zu übertragen. Siehe "ipOutNoRoutes" in RFC 2011.

Hinweise

Die Statistiken in der IP_OFFLOAD_STATS-Struktur beziehen sich nur auf IP-Datagramme, die das Auslagerungsziel bei entladenen TCP-Verbindungen verarbeitet hat. Das Auslagerungsziel darf keine Anzahl von IP-Datagrammen für nicht entladene Verbindungen enthalten. Die Statistiken beziehen sich auf eine einzelne Netzwerkschnittstelle.

Wenn ein Auslagerungsziel über mehrere Netzwerkschnittstellen verfügt, muss es separate IP-Auslagerungsstatistiken für jede Netzwerkschnittstelle verwalten. Wenn das Auslagerungsziel sowohl IPv4- als auch IPv6-Verbindungen für eine Netzwerkschnittstelle unterstützt, muss es einen Satz von IPv4-Auslagerungsstatistikindikatoren und einen weiteren Satz von IPv6-Auslagerungsstatistikzählern für diese Netzwerkschnittstelle verwalten.

Wenn die TCP-Schornsteinfunktionen eines Auslagerungsziels aktiviert sind (siehe NDIS_TASK_OFFLOAD) und wenn mindestens ein benachbartes Zustandsobjekt in das Auslagerungsziel entladen wurde, kann das Auslagerungsziel ein empfangenes Paket mit einem beschädigten IP-Header auf eine von zwei Arten verarbeiten:

  • Das Auslagerungsziel kann das Paket über die Schnittstelle ohne Auslagerung angeben, indem die NdisMIndicateReceiveNetBufferLists-Funktion . In diesem Fall darf das Auslagerungsziel den InHeaderErrors-Indikator nicht erhöhen. Dies ist die empfohlene Vorgehensweise.
  • Alternativ kann das Auslagerungsziel das beschädigte Paket NDIS_TASK_OFFLOAD und den InHeaderErrors-Zähler inkrementieren.
Der Hoststapel integriert die von einem Auslagerungsziel zurückgegebenen Statistiken in die Statistiken, die der Hoststapel für nicht entladene TCP-Verbindungen verwaltet.

Beachten Sie, dass der Hoststapel beim Festlegen von OID_IP4_OFFLOAD_STATS oder OID_IP6_OFFLOAD_STATS eine IP_OFFLOAD_STATS-Struktur bereitstellt. In beiden Fällen muss das Auslagerungsziel die Werte in der IP_OFFLOAD_STATS Struktur jedoch nicht untersuchen. Wenn OID_IP4_OFFLOAD_STATS festgelegt ist, sollte das Auslagerungsziel stattdessen alle IPv4-Statistikindikatoren für entladene TCP-Verbindungen zurücksetzen. Wenn OID_IP6_OFFLOAD_STATS festgelegt ist, sollte das Auslagerungsziel alle IPv6-Statistikindikatoren für entladene TCP-Verbindungen zurücksetzen.

Alle Leistungsindikatoren, die die Werte für die IP_OFFLOAD_STATS Strukturumbruch (Neustart von null) bereitstellen, wenn sie über ihre maximale Anzahl hinaus inkrementiert werden.

Anforderungen

Anforderung Wert
Header ndischimney.h (include Ndischimney.h)

Weitere Informationen

NDIS_TASK_OFFLOAD

NdisMIndicateReceiveNetBufferLists

OID_IP4_OFFLOAD_STATS

OID_IP6_OFFLOAD_STATS