структура 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-подключений.
Обратите внимание, что при установке 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) |