共用方式為


IP_OFFLOAD_STATS結構(ndischimney.h)

[TCP 煙囪卸除功能已被取代,不應使用。]

IP_OFFLOAD_STATS結構包含卸除目標提供以回應 OID_IP4_OFFLOAD_STATSOID_IP6_OFFLOAD_STATS查詢的統計數據。

語法

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;

成員

InReceives

從卸除 TCP 連線的介面接收的輸入 IP 數據報總數,包括收到錯誤的 IP 數據報。 請參閱 RFC 2011 中的 「ipInReceives」。

InOctets

輸入IP數據報中已從卸除 TCP 連線的介面接收的八位(位元元組)總數。 必須在這裡計算 InReceives 中計算之數據報的八位。 InOctets 必須包含IP標頭和承載中的位元元組數目。

InDelivers

成功傳遞至卸除 TCP 連線的輸入 IP 數據報數目。 請參閱 RFC 2011 中的“ipInDelivers”。

OutRequests

卸除目標在卸除 TCP 連線上傳輸的要求中,提供給其 IP 層的 IP 數據報數目。 請參閱 RFC 2011 中的 「ipOutRequests」。。

OutOctets

IP 數據報中的八位(位元元組)總數,即卸除目標在卸除 TCP 連線上傳送的要求中提供給其 IP 層。 必須在這裡計算 OutRequests 中計算的數據報的八位。 OutOctets 必須包含IP標頭和承載中的位元元組數目。

InHeaderErrors

在卸除的 TCP 連線上收到的輸入 IP 數據報數目,因為 IP 標頭中有錯誤而捨棄。 這類錯誤包括不正確的總和檢查碼、版本號碼不符、其他格式錯誤、超過存留時間,以及如果卸除目標支援這類選項,則處理 IPv6 選項時發現的錯誤。 (卸除目標不會處理 IPv4 選項。此計數不包含從無效目的地位址產生的錯誤。 請參閱 RFC 2011 中的 「ipInHdrErrors」。。

InTruncatedPackets

因為數據報框架未攜帶足夠的數據,所以捨棄的輸入IP數據報數目。 InTruncatedPackets 只有在框架包含有效標頭但比必要時間短時,才應該遞增。 如果框架太短而無法包含有效的標頭,則應該計算為 InHeaderErrors

InDiscards

在卸除的 TCP 連線上收到的輸入 IP 數據報數目,這些連線不包含任何內容,以防止其進一步處理,但因為運行時間原因而捨棄,例如缺少可用的記憶體或其他資源。 請參閱 RFC 2011 中的 「ipInDiscards」。

OutDiscards

卸除目標提供給其IP層的輸出IP數據報數目,因為IP層沒有遇到任何問題,但因為運行時間原因而捨棄,例如記憶體不足或其他資源。 請參閱 RFC 2011 中的 「ipOutDiscards」。

OutNoRoutes

輸出 IP 數據報數目,因為找不到任何路由(例如卸載路徑狀態物件)將目標送出至其 IP 層的卸除目標,以將其傳輸至目的地。 請參閱 RFC 2011 中的 「ipOutNoRoutes」。。

言論

IP_OFFLOAD_STATS 結構中的統計數據僅與卸除目標在卸除 TCP 連線上處理的 IP 數據報有關。 卸除目標不得包含非卸除連線上IP數據報的計數。 與單一網路介面相關的統計數據。

如果卸除目標有多個網路介面,則必須針對每個網路介面維護個別的IP卸除統計數據。 如果卸除目標同時支援網路介面的 IPv4 和 IPv6 連線,則必須維護一組 IPv4 卸除統計數據計數器,以及該網路介面的另一組 IPv6 卸除統計數據計數器。

如果已啟用卸除目標的 TCP 煙囪功能(請參閱 NDIS_TASK_OFFLOAD),而且如果至少有一個鄰近狀態物件卸除至卸除目標,卸除目標可以處理已接收的封包,其中一種方式有損毀的 IP 標頭:

  • 卸除目標可以透過非卸除介面來指示封包,方法是呼叫 NdisMIndicateReceiveNetBufferLists 函式。 在此情況下,卸除目標不得遞增 InHeaderErrors 計數器。 這是建議的方法。
  • 或者,卸除目標可以卸除損毀的封包 NDIS_TASK_OFFLOAD 並遞增 InHeaderErrors 計數器。
主機堆疊會整合卸除目標所傳回的統計數據,以及主機堆疊針對未卸除 TCP 連線所維護的統計數據。

請注意,當設定OID_IP4_OFFLOAD_STATS或OID_IP6_OFFLOAD_STATS時,主機堆疊會提供IP_OFFLOAD_STATS結構。 不過,在任一情況下,卸除目標不需要檢查IP_OFFLOAD_STATS結構中的值。 相反地,設定OID_IP4_OFFLOAD_STATS時,卸除目標應該重設其所有IPv4統計數據計數器,以便卸除 TCP 連線。 設定OID_IP6_OFFLOAD_STATS時,卸除目標應該重設其所有 IPv6 統計數據計數器,以進行卸除 TCP 連線。

當遞增超過其最大計數時,所有提供IP_OFFLOAD_STATS結構換行值(從零重新啟動)的計數器。

要求

要求 價值
標頭 ndischimney.h (包括 Ndischimney.h)

另請參閱

NDIS_TASK_OFFLOAD

NdisMIndicateReceiveNetBufferLists

OID_IP4_OFFLOAD_STATS

OID_IP6_OFFLOAD_STATS