структура 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 ). Это число включает сегменты, полученные в текущих установленных подключениях. См. раздел tcpInSegs в RFC 1156.

OutSegments

Общее количество сегментов, отправленных в разгруженных TCP-подключениях, включая сегменты для текущих подключений, но за исключением сегментов, содержащих только повторно переданные октеты. См. раздел tcpOutSegs в RFC 1156.

CurrentlyEstablished

Количество TCP-подключений, для которых текущее состояние равно "УСТАНОВЛЕНО" или "CLOSE-WAIT". См.
tcpCurrEstab в RFC 1156.

ResetEstablished

Количество раз, когда разгрузившиеся TCP-подключения напрямую переходили в состояние CLOSED из состояния "УСТАНОВЛЕНО" или "CLOSE-WAIT".

RetransmittedSegments

Общее число сегментов, повторно переданных при разгрузке TCP-подключений, то есть количество переданных сегментов TCP, содержащих один или несколько ранее переданных октетов. См. раздел tcpRetransSegs в RFC 1156.

InErrors

Количество пакетов, полученных в разгруженных TCP-подключениях, которые содержали одну или несколько ошибок, относящихся к TCP, которые не позволяли целевому объекту разгрузки доставлять пакеты. См. раздел ifInErrors в RFC 1156.

OutResets

Число сегментов, передаваемых при разгрузке TCP-подключений с битом RST, заданным в заголовке TCP.

Комментарии

Статистика в структуре TCP_OFFLOAD_STATS относится только к разгруженным TCP-подключениям. Целевой объект разгрузки не должен включать счетчики для сегментов TCP для подключений, которые не были разгружены. Статистика в структуре TCP_OFFLOAD_STATS относится к одному сетевому интерфейсу.

Если целевой объект разгрузки имеет несколько сетевых интерфейсов, он должен поддерживать отдельный набор счетчиков статистики TCP для каждого сетевого интерфейса. Если целевой объект разгрузки поддерживает подключения IPv4 и IPv6 в сетевом интерфейсе, он должен поддерживать для этого интерфейса отдельный набор счетчиков статистики TCP для трафика TCP/IPv4 и отдельный набор счетчиков статистики TCP для трафика TCP/IPv6.

Если включены возможности дымохода 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, целевой объект разгрузки должен сброситься до нуля своих счетчиков статистики TCP для разгруженных TCP-подключений, которые передают датаграммы IPv4. Если задано OID_TCP6_OFFLOAD_STATS, целевой объект разгрузки должен сброситься до нуля для счетчиков статистики TCP для разгруженных TCP-подключений, которые передают датаграммы IPv6.

Все счетчики, которые предоставляют значения для TCP_OFFLOAD_STATS структуру переноса (перезапуска с нуля) при превышении максимального числа.

Требования

Требование Значение
Заголовок ndischimney.h (включая Ndischimney.h)

См. также раздел

OID_TCP4_OFFLOAD_STATS

OID_TCP6_OFFLOAD_STATS