Partager via


structure TCP_OFFLOAD_STATS (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 des statistiques indiquant 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 en 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 contenant uniquement les octets retransmis. Consultez tcpOutSegs dans RFC 1156.

CurrentlyEstablished

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

ResetEstablished

Le 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 de l’état CLOSE-WAIT.

RetransmittedSegments

Nombre total de segments retransmis sur les connexions TCP déchargées, autrement dit 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 lors de 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 de 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 se rapportent à 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 ayant 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 NdisMIndicateReceiveNetBufferLists fonction. Dans ce cas, la cible de déchargement ne doit pas incrémenter le compteur InErrors. Il s’agit de l’approche recommandée.
  • Vous pouvez é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 hôte 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 de la structure TCP_OFFLOAD_STATS. Au lieu de cela, lorsque OID_TCP4_OFFLOAD_STATS est définie, la cible de déchargement doit être réinitialisée à zéro de ses compteurs de statistiques TCP pour les connexions TCP déchargées qui transmettent des datagrammes IPv4. Lorsque OID_TCP6_OFFLOAD_STATS est définie, la cible de déchargement doit être réinitialisée à zéro pour les compteurs de statistiques TCP déchargés qui transmettent des datagrammes IPv6.

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

Exigences

Exigence Valeur
d’en-tête ndischimney.h (include Ndischimney.h)

Voir aussi

OID_TCP4_OFFLOAD_STATS

OID_TCP6_OFFLOAD_STATS