Share via


TCP_OFFLOAD_STATS structure (ndischimney.h)

[La fonctionnalité de déchargement de cheminée TCP est déconseillée et ne doit pas être utilisée.]

La structure TCP_OFFLOAD_STATS contient les statistiques qu’une cible de déchargement fournit en réponse à une requête de OID_TCP4_OFFLOAD_STATS ou de OID_TCP6_OFFLOAD_STATS.

Syntaxe

typedef struct _TCP_OFFLOAD_STATS {
  ULONG64 InSegments;
  ULONG64 OutSegments;
  ULONG   CurrentlyEstablished;
  ULONG   ResetEstablished;
  ULONG   RetransmittedSegments;
  ULONG   InErrors;
  ULONG   OutResets;
} TCP_OFFLOAD_STATS, *PTCP_OFFLOAD_STATS;

Membres

InSegments

Nombre total de segments reçus sur les connexions TCP déchargées, y compris ceux reçus dans l’erreur ( InErrors ). Ce nombre inclut les segments reçus sur les connexions actuellement établies. Consultez tcpInSegs dans RFC 1156.

OutSegments

Nombre total de segments envoyés sur les connexions TCP déchargées, y compris ceux sur les connexions actuelles, mais à l’exclusion de ceux qui contiennent uniquement des octets retransmis. Consultez tcpOutSegs dans RFC 1156.

CurrentlyEstablished

Nombre de connexions TCP pour lesquelles l’état actuel est ÉTABLI ou CLOSE-WAIT. Consultez
tcpCurrEstab dans RFC 1156.

ResetEstablished

Nombre de fois où les connexions TCP déchargées ont effectué une transition directe vers l’état CLOSED à partir de l’état ESTABLISHED ou CLOSE-WAIT.

RetransmittedSegments

Nombre total de segments retransmis sur des connexions TCP déchargées, c’est-à-dire le nombre de segments TCP transmis qui contiennent un ou plusieurs octets précédemment transmis. Consultez tcpRetransSegs dans RFC 1156.

InErrors

Nombre de paquets reçus sur les connexions TCP déchargées qui contenaient une ou plusieurs erreurs spécifiques à TCP qui empêchaient la cible de déchargement de remettre les paquets. Consultez ifInErrors dans RFC 1156.

OutResets

Nombre de segments transmis sur les connexions TCP déchargées avec le bit RST défini dans l’en-tête TCP.

Remarques

Les statistiques dans la structure TCP_OFFLOAD_STATS concernent uniquement les connexions TCP déchargées. La cible de déchargement ne doit pas inclure le nombre de segments TCP sur les connexions qui n’ont pas été déchargées. Les statistiques de la structure TCP_OFFLOAD_STATS concernent une seule interface réseau.

Si une cible de déchargement a plusieurs interfaces réseau, elle doit conserver un ensemble distinct de compteurs de statistiques TCP pour chaque interface réseau. Si la cible de déchargement prend en charge les connexions IPv4 et IPv6 sur une interface réseau, elle doit, pour cette interface, gérer un ensemble distinct de compteurs de statistiques TCP pour le trafic TCP/IPv4 et un ensemble distinct de compteurs de statistiques TCP pour le trafic TCP/IPv6.

Si les fonctionnalités de cheminée TCP d’une cible de déchargement sont activées (voir NDIS_TASK_OFFLOAD) et si au moins un objet d’état de chemin déchargé a été déchargé vers la cible de déchargement, la cible de déchargement peut traiter un paquet reçu qui a un en-tête TCP endommagé (mais un en-tête IP valide) de l’une des deux manières suivantes :

  • La cible de déchargement peut indiquer le paquet via l’interface de non-déchargement en appelant le Fonction NdisMIndicateReceiveNetBufferLists . Dans ce cas, la cible de déchargement ne doit pas incrémenter le compteur InErrors . Il s’agit de l’approche recommandée.
  • La cible de déchargement peut également supprimer le paquet endommagé et incrémenter le compteur InErrors .
Si les fonctionnalités de cheminée TCP de la cible de déchargement ne sont pas activées ou s’il n’existe pas au moins un objet d’état de chemin déchargé, la cible de déchargement doit indiquer le paquet endommagé et ne doit pas incrémenter le compteur InErrors .

La pile hôte intègre les statistiques retournées par une cible de déchargement avec les statistiques que la pile d’hôtes gère pour les connexions TCP non déchargées.

Notez que la pile hôte fournit une structure TCP_OFFLOAD_STATS lors de la définition de OID_TCP4_OFFLOAD_STATS ou de OID_TCP6_OFFLOAD_STATS. Dans ce cas, toutefois, la cible de déchargement n’a pas besoin d’examiner les valeurs dans la structure TCP_OFFLOAD_STATS. Au lieu de cela, lorsque OID_TCP4_OFFLOAD_STATS est défini, la cible de déchargement doit réinitialiser à zéro ses compteurs de statistiques TCP pour les connexions TCP déchargées qui transmettent des datagrammes IPv4. Lorsque OID_TCP6_OFFLOAD_STATS est défini, la cible de déchargement doit réinitialiser à zéro ses compteurs de statistiques TCP pour les connexions TCP déchargées qui transmettent des datagrammes IPv6.

Tous les compteurs qui fournissent les valeurs de la structure TCP_OFFLOAD_STATS encapsuler (redémarrer à partir de zéro) lorsqu’ils sont incrémentés au-delà de leur nombre maximal.

Configuration requise

Condition requise Valeur
En-tête ndischimney.h (inclure Ndischimney.h)

Voir aussi

OID_TCP4_OFFLOAD_STATS

OID_TCP6_OFFLOAD_STATS