structure IP_OFFLOAD_STATS (ndischimney.h)
[La fonctionnalité de déchargement de la cheminée TCP est déconseillée et ne doit pas être utilisée.]
La structure de IP_OFFLOAD_STATS contient des statistiques qu’une cible de déchargement fournit en réponse à une requête de OID_IP4_OFFLOAD_STATS ou de OID_IP6_OFFLOAD_STATS.
Syntaxe
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;
Membres
InReceives
Nombre total de datagrammes IP d’entrée qui ont été reçus de l’interface sur les connexions TCP déchargées, y compris les datagrammes IP reçus par erreur. Consultez « ipInReceives » dans RFC 2011.
InOctets
Nombre total d’octets (octets) dans les datagrammes IP d’entrée qui ont été reçus de l’interface sur les connexions TCP déchargées. Les octets des datagrammes comptés dans InReceives doivent être comptés ici. Les inOctets doivent inclure le nombre d’octets dans l’en-tête IP et la charge utile.
InDelivers
Nombre de datagrammes IP d’entrée qui ont été correctement remis aux connexions TCP déchargées. Consultez « ipInDelivers » dans RFC 2011.
OutRequests
Nombre de datagrammes IP fournis par la cible de déchargement à sa couche IP dans les demandes de transmission sur les connexions TCP déchargées. Consultez « ipOutRequests » dans RFC 2011.
OutOctets
Nombre total d’octets (octets) dans les datagrammes IP que la cible de déchargement a fourni à sa couche IP dans les demandes de transmission sur les connexions TCP déchargées. Les octets des datagrammes comptés dans OutRequests doivent être comptés ici. Les outOctets doivent inclure le nombre d’octets dans l’en-tête IP et la charge utile.
InHeaderErrors
Nombre de datagrammes IP d’entrée reçus sur les connexions TCP déchargées qui ont été ignorées en raison d’erreurs dans leurs en-têtes IP. Ces erreurs incluent des sommes de contrôle incorrectes, une incompatibilité de numéro de version, d’autres erreurs de format, un dépassement du délai de vie et des erreurs découvertes dans le traitement des options IPv6 si la cible de déchargement prend en charge ces options. (Une cible de déchargement ne traite pas les options IPv4.) Ce nombre n’inclut pas les erreurs résultant d’adresses de destination non valides. Consultez « ipInHdrErrors » dans RFC 2011.
InTruncatedPackets
Nombre de datagrammes IP d’entrée ignorés, car la trame de datagramme ne transportait pas suffisamment de données. InTruncatedPackets ne doit être incrémenté que si le cadre contenait un en-tête valide, mais était par ailleurs plus court que nécessaire. Les images qui sont trop courtes pour contenir un en-tête valide doivent être comptabilisées comme InHeaderErrors .
InDiscards
Nombre de datagrammes IP d’entrée reçus sur des connexions TCP déchargées qui ne contenaient rien pour empêcher leur traitement ultérieur, mais qui ont été ignorés pour des raisons d’exécution, telles qu’un manque de mémoire disponible ou d’autres ressources. Consultez « ipInDiscards » dans RFC 2011.
OutDiscards
Nombre de datagrammes IP de sortie que la cible de déchargement a fournis à sa couche IP pour lesquels aucun problème n’a été rencontré pour empêcher leur transmission, mais qui ont été ignorés pour des raisons d’exécution, telles qu’un manque de mémoire ou d’autres ressources. Consultez « ipOutDiscards » dans RFC 2011.
OutNoRoutes
Nombre de datagrammes IP de sortie que la cible de déchargement a fournis à sa couche IP et qui ont été ignorés, car aucun itinéraire (tel qu’un objet d’état de chemin d’accès déchargé) n’a pu être trouvé pour les transmettre à leur destination. Consultez « ipOutNoRoutes » dans RFC 2011.
Remarques
Les statistiques de la structure IP_OFFLOAD_STATS concernent uniquement les datagrammes IP que la cible de déchargement a traités sur les connexions TCP déchargées. La cible de déchargement ne doit pas inclure le nombre de datagrammes IP sur les connexions non déchargées. Les statistiques concernent une interface réseau unique.
Si une cible de déchargement a plusieurs interfaces réseau, elle doit gérer des statistiques de déchargement IP distinctes pour chaque interface réseau. Si la cible de déchargement prend en charge les connexions IPv4 et IPv6 pour une interface réseau, elle doit gérer un ensemble de compteurs de statistiques de déchargement IPv4 et un autre ensemble de compteurs de statistiques de déchargement IPv6 pour cette interface réseau.
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 voisin 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 IP endommagé 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 InHeaderErrors. Il s’agit de l’approche recommandée.
- La cible de déchargement peut également supprimer le paquet endommagé NDIS_TASK_OFFLOAD et incrémenter le compteur InHeaderErrors.
Notez que la pile hôte fournit une structure IP_OFFLOAD_STATS lors de la définition de OID_IP4_OFFLOAD_STATS ou de OID_IP6_OFFLOAD_STATS. Dans les deux cas, toutefois, la cible de déchargement n’a pas besoin d’examiner les valeurs dans la structure IP_OFFLOAD_STATS. Au lieu de cela, lorsque OID_IP4_OFFLOAD_STATS est défini, la cible de déchargement doit réinitialiser tous ses compteurs de statistiques IPv4 pour les connexions TCP déchargées. Lorsque OID_IP6_OFFLOAD_STATS est défini, la cible de déchargement doit réinitialiser tous ses compteurs de statistiques IPv6 pour les connexions TCP déchargées.
Tous les compteurs qui fournissent les valeurs de la structure IP_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) |