TCP_OFFLOAD_STATS 结构 (ndischimney.h)

[TCP 烟囱卸载功能已弃用,不应使用。]

TCP_OFFLOAD_STATS 结构包含卸载目标为响应 OID_TCP4_OFFLOAD_STATSOID_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

当前状态为“已建立”或“CLOSE-WAIT”的 TCP 连接数。 请参阅
RFC 1156 中的 tcpCurrEstab

ResetEstablished

卸载的 TCP 连接从“已建立”状态或 CLOSE-WAIT 状态直接转换为 CLOSED 状态的次数。

RetransmittedSegments

在卸载的 TCP 连接上重新传输的段总数,即包含一个或多个以前传输的八进制数的已传输 TCP 段数。 请参阅 RFC 1156 中的 tcpRetransSegs

InErrors

在卸载的 TCP 连接上收到的数据包数,这些连接包含一个或多个特定于 TCP 的错误,这些错误阻止了卸载目标传递数据包。 请参阅 RFC 1156 中的 ifInErrors

OutResets

在 TCP 标头中设置了 RST 位的卸载 TCP 连接上传输的段数。

注解

TCP_OFFLOAD_STATS 结构中的统计信息仅与卸载的 TCP 连接相关。 卸载目标不得包括尚未卸载的连接上的 TCP 段计数。 TCP_OFFLOAD_STATS 结构中的统计信息与单个网络接口相关。

如果卸载目标有多个网络接口,则必须为每个网络接口维护一组单独的 TCP 统计信息计数器。 如果卸载目标支持网络接口上的 IPv4 和 IPv6 连接,则必须为该接口为 TCP/IPv4 流量维护一组单独的 TCP 统计信息计数器,并为 TCP/IPv6 流量维护一组单独的 TCP 统计信息计数器。

如果启用了卸载目标的 TCP 烟囱功能 (看到 NDIS_TASK_OFFLOAD) 并且至少有一个卸载路径状态对象已卸载到卸载目标,则卸载目标可以通过以下两种方式之一处理接收的数据包,该数据包具有损坏的 TCP 标头 (但有效的 IP 标头) :

  • 卸载目标可以通过调用 来指示数据包通过非卸载接口 NdisMIndicateReceiveNetBufferLists 函数。 在这种情况下,卸载目标不得递增 InErrors 计数器。 这是建议的做法。
  • 或者,卸载目标可以删除损坏的数据包并递增 InErrors 计数器。
如果未启用卸载目标的 TCP 烟囱功能,或者没有至少一个卸载路径状态对象,则卸载目标必须指示已损坏的数据包,并且不得递增 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