次の方法で共有


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 つのオフロード パス状態オブジェクトがオフロード ターゲットにオフロードされている場合、オフロード ターゲットは、破損した TCP ヘッダー (有効な IP ヘッダー) を持つ受信パケットを次の 2 つの方法のいずれかで処理できます。

  • オフロード ターゲットは、非オフロード インターフェイスを介してパケットを示すことができます。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構造体の値を指定するすべてのカウンターは、最大カウントを超えてインクリメントされるとラップ (ゼロから再開) します。

必要条件

要件 価値
ヘッダー ndischimney.h (Ndischimney.h を含む)

関連項目

OID_TCP4_OFFLOAD_STATS

OID_TCP6_OFFLOAD_STATS