структура NDIS_TCP_CONNECTION_OFFLOAD (ntddndis.h)
Структура NDIS_TCP_CONNECTION_OFFLOAD предоставляет сведения о разгрузке подключения для текущих параметров и поддерживаемых возможностей.
Синтаксис
typedef struct _NDIS_TCP_CONNECTION_OFFLOAD {
NDIS_OBJECT_HEADER Header;
ULONG Encapsulation;
ULONG SupportIPv4 : 2;
ULONG SupportIPv6 : 2;
ULONG SupportIPv6ExtensionHeaders : 2;
ULONG SupportSack : 2;
ULONG CongestionAlgorithm : 4;
ULONG TcpConnectionOffloadCapacity;
ULONG Flags;
} NDIS_TCP_CONNECTION_OFFLOAD, *PNDIS_TCP_CONNECTION_OFFLOAD;
Члены
Header
Структура NDIS_OBJECT_HEADER для структуры NDIS_TCP_CONNECTION_OFFLOAD. Задайте для элемента Type структуры, указанной в заголовке, значение NDIS_OBJECT_TYPE_DEFAULT, для элемента Revision — NDIS_TCP_CONNECTION_OFFLOAD_REVISION_1, а для элемента Size— значение NDIS_SIZEOF_TCP_CONNECTION_OFFLOAD_REVISION_1.
Encapsulation
Параметры инкапсуляции для разгрузки дымохода TCP. Дополнительные сведения об этом члене см. в следующем разделе Примечаний.
SupportIPv4
Значение ULONG, которое целевой объект разгрузки задает, чтобы указать, что он поддерживает IPv4. Стек драйвера TCP/IP устанавливает этот член для включения IPv4.
SupportIPv6
Значение ULONG, которое целевой объект разгрузки задает, чтобы указать, что он поддерживает IPv6. Стек драйвера TCP/IP устанавливает этот член для включения IPv6. Обратите внимание, что целевой объект разгрузки может поддерживать как IPv4, так и IPv6.
SupportIPv6ExtensionHeaders
Значение ULONG, которое целевой объект разгрузки задает, чтобы указать, что он поддерживает заголовки расширения IPv6 (то есть маршрутизация, фрагментация/повторная сборка, проверка подлинности, инкапсуляция, обработка прыжков за прыжком и параметры назначения). Стек драйвера TCP/IP задает этот член для включения заголовков расширения IPv6.
SupportSack
Значение ULONG, которое целевой объект разгрузки задает, чтобы указать, что он поддерживает выборочные подтверждения TCP (SACK) для операций передачи и получения. Стек драйвера TCP/IP задает этот элемент для включения SACK для операций передачи и получения.
Если целевой объект разгрузки задает член SupportSack , целевой объект должен иметь возможность создавать и использовать сегменты SACK. Если целевой объект разгрузки не поддерживает параметр SACK, целевой объект должен иметь возможность игнорировать параметр SACK и нормально обрабатывать остальную часть сегмента TCP.
CongestionAlgorithm
Зарезервировано для последующего использования.
Если вы являетесь независимым поставщиком оборудования (IHV) и хотите реализовать алгоритмы управления перегрузкой, например составной TCP, обратитесь в корпорацию Майкрософт по адресу External TCP Offload Triage.
TcpConnectionOffloadCapacity
Значение ULONG, которое целевой объект разгрузки задает для указания максимального числа разгруженных TCP-подключений, которые он поддерживает. Это число включает подключения IPv4 и IPv6.
Flags
Зарезервировано.
Комментарии
Структура NDIS_TCP_CONNECTION_OFFLOAD определяет текущие или поддерживаемые службы, предоставляемые адаптером мини-порта для разгрузки дымохода TCP.
Структура NDIS_TCP_CONNECTION_OFFLOAD используется в NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES структура , NDIS_BIND_PARAMETERS структура OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG OID OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES OID, NDIS_STATUS_OFFLOAD_RESUME указание состояния, и NDIS_STATUS_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES указание состояния. (Сведения о NDIS_STATUS_OFFLOAD_RESUME см. в документации по разгрузке дымохода TCP NDIS 6.0.)
Драйверы мини-портов не получают запросы OID. NDIS использует сведения, предоставляемые драйвером мини-порта в атрибутах и указаниях состояния, для предоставления ответов на запросы OID и для предоставления параметров привязки.
NDIS предоставляет структуру NDIS_TCP_CONNECTION_OFFLOAD в ответ на запрос OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG или OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES. В ответ на запрос OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG структура NDIS_TCP_CONNECTION_OFFLOAD указывает текущие параметры конфигурации целевого объекта разгрузки. В ответ на запрос OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES структура NDIS_TCP_CONNECTION_OFFLOAD определяет аппаратные возможности целевого объекта разгрузки для разгрузки TCP-подключений из транспорта TCP/IP.
Элемент инкапсуляции NDIS_TCP_CONNECTION_OFFLOAD определяет параметры инкапсуляции разгрузки TCP-дымохода для адаптера мини-порта.
Для OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES запроса NDIS предоставляет единый флаг, указывающий возможности аппаратной инкапсуляции в элементе инкапсуляции .
Для OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG запросе NDIS предоставляет побитовое ИЛИ флагов инкапсуляции, указывающее текущие параметры инкапсуляции.
Для элемента инкапсуляции определены следующие флаги:
Запросы разгрузки TCP Chimney
Когда NDIS отвечает на запрос OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES или OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG для целевого объекта разгрузки NDIS предоставляет элементы SupportIp4, SupportIp6, SupportIp6ExtensionHeaders и SupportISack структуры NDIS_TCP_CONNECTION_OFFLOAD. Эти члены могут иметь одно из следующих значений:Целевой объект разгрузки должен поддерживать IPv4 или IPv6 (или и то, и другое). При необходимости целевые объекты разгрузки могут поддерживать заголовки расширения IPv6.
Целевой объект разгрузки не должен поддерживать параметры IPv4. Целевой объект разгрузки должен пересылать все полученные ip-датаграммы, содержащие параметры IPv4, в стек драйверов TCP/IP. Целевой объект разгрузки указывает такие датаграммы IP в стек драйвера TCP/IP путем вызова NdisMIndicateReceiveNetBufferLists. Стек драйвера TCP/IP обрабатывает параметры IPv4 и возвращает датаграммы целевому объекту разгрузки.Функция MiniportTcpOffloadForward. (Сведения о MiniportTcpOffloadForward см. в документации по разгрузке дымохода TCP NDIS 6.0.)
Целевой объект разгрузки также должен предоставлять значение для члена TcpConnectionOffloadCapacity NDIS_TCP_CONNECTION_OFFLOAD. Это значение должно быть максимальным количеством одновременно разгруженных TCP-подключений, которое может поддерживать целевой объект разгрузки.
Обратите внимание, что целевой объект разгрузки не может напрямую указывать на новые возможности разгрузки. Вместо этого целевой объект разгрузки должен запросить стек драйверов TCP/IP для приостановки, а затем возобновить разгрузку. Когда адаптер мини-порта готов к возобновлению разгрузки TCP-подключений, он выдает NDIS_STATUS_OFFLOAD_RESUME состояние, чтобы сообщить о новых возможностях разгрузки подключения. Дополнительные сведения о NDIS_STATUS_OFFLOAD_RESUME см. в документации по разгрузке дымохода TCP NDIS 6.0.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается в NDIS 6.0 и более поздних версиях. |
Верхняя часть | ntddndis.h (включая Ndis.h) |