次の方法で共有


TCP_OFFLOAD_STATS 構造体 (ndischimney.h)

[TCP のチムニー オフロード機能は非推奨であり、使用しないでください。]

TCP_OFFLOAD_STATS構造体には、オフロード ターゲットが OID_TCP4_OFFLOAD_STATSまたはOID_TCP6_OFFLOAD_STATS のクエリに応答して提供する統計 が含まれています

構文

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;

メンバー

InSegments

オフロードされた TCP 接続で受信したセグメントの合計数 。エラー ( InErrors ) で受信されたものも含まれます。 この数には、現在確立されている接続で受信したセグメントが含まれます。 RFC 1156 の tcpInSegs を参照してください。

OutSegments

オフロードされた TCP 接続で送信されたセグメントの合計数。現在の接続上のセグメントを含みますが、再送信されたオクテットのみを含むセグメントは除きます。 RFC 1156 の tcpOutSegs を参照してください。

CurrentlyEstablished

現在の状態が ESTABLISHED または CLOSE-WAIT である TCP 接続の数。 参照先
RFC 1156 の tcpCurrEstab

ResetEstablished

オフロードされた TCP 接続が、ESTABLISHED 状態または CLOSE-WAIT 状態から CLOSED 状態に直接遷移した回数。

RetransmittedSegments

オフロードされた TCP 接続で再送信されたセグメントの合計数。つまり、以前に送信された 1 つ以上のオクテットを含む送信された TCP セグメントの数。 RFC 1156 の tcpRetransSegs を参照してください。

InErrors

オフロード ターゲットがパケットを配信することを妨げる 1 つ以上の TCP 固有エラーを含むオフロードされた TCP 接続で受信したパケットの数。 RFC 1156 の ifInErrors を参照してください。

OutResets

TCP ヘッダーに設定された RST ビットを使用してオフロードされた TCP 接続で送信されるセグメントの数。

注釈

TCP_OFFLOAD_STATS構造体の統計は、オフロードされた TCP 接続にのみ関連します。 オフロード ターゲットには、オフロードされていない接続の TCP セグメントの数を含めることはできません。 TCP_OFFLOAD_STATS構造の統計情報は、1 つのネットワーク インターフェイスに関連します。

オフロード ターゲットに複数のネットワーク インターフェイスがある場合は、ネットワーク インターフェイスごとに個別の TCP 統計カウンターのセットを保持する必要があります。 オフロード ターゲットがネットワーク インターフェイスで IPv4 接続と IPv6 接続の両方をサポートする場合は、そのインターフェイスに対して、TCP/IPv4 トラフィック用の TCP 統計カウンターの個別のセットと、TCP/IPv6 トラフィック用の個別の TCP 統計カウンターのセットを維持する必要があります。

オフロード ターゲットの TCP チムニー機能が有効になっている場合 ( NDIS_TASK_OFFLOAD参照)、少なくとも 1 つのオフロード パス状態オブジェクトがオフロード ターゲットにオフロードされている場合、オフロード ターゲットは、次の 2 つの方法のいずれかで破損した TCP ヘッダー (有効な IP ヘッダー) を持つ受信パケットを処理できます。

  • オフロード ターゲットは、 を呼び出すことによって、オフロード以外のインターフェイスを介してパケットを示すことができます。 NdisMIndicateReceiveNetBufferLists 関数。 この場合、オフロード ターゲットは InErrors カウンターをインクリメントしないでください。 これが推奨される方法です。
  • または、オフロード ターゲットは、破損したパケットを削除し、 InErrors カウンターをインクリメントできます。
オフロード ターゲットの TCP チムニー機能が有効になっていない場合、または少なくとも 1 つのオフロード パス状態オブジェクトがない場合、オフロード ターゲットは破損したパケットを示す必要があり、 InErrors カウンターをインクリメントしてはなりません。

ホスト スタックは、オフロード ターゲットによって返される統計情報と、オフロードされていない TCP 接続に対してホスト スタックが保持する統計情報を統合します。

ホスト スタックは、OID_TCP4_OFFLOAD_STATSまたはOID_TCP6_OFFLOAD_STATSを設定するときに、TCP_OFFLOAD_STATS構造体を提供します。 ただし、この場合、オフロード ターゲットは、TCP_OFFLOAD_STATS構造体の値を調べる必要はありません。 代わりに、OID_TCP4_OFFLOAD_STATSが設定されている場合、オフロード ターゲットは、IPv4 データグラムを伝達するオフロードされた TCP 接続の TCP 統計カウンターをゼロにリセットする必要があります。 OID_TCP6_OFFLOAD_STATSが設定されている場合、オフロード ターゲットは、IPv6 データグラムを伝達するオフロードされた TCP 接続の TCP 統計カウンターをゼロにリセットする必要があります。

TCP_OFFLOAD_STATS構造体の値を提供するすべてのカウンターは、最大カウントを超えてインクリメントされるとラップ (ゼロから再開) します。

要件

要件
Header ndischimney.h (Ndischimney.h を含む)

こちらもご覧ください

OID_TCP4_OFFLOAD_STATS

OID_TCP6_OFFLOAD_STATS