структура NDIS_TCP_LARGE_SEND_OFFLOAD_V1 (ntddndis.h)
Структура NDIS_TCP_LARGE_SEND_OFFLOAD_V1 предоставляет большие сведения о разгрузке отправки версии 1 (LSOV1) в структуре NDIS_OFFLOAD .
Синтаксис
typedef struct _NDIS_TCP_LARGE_SEND_OFFLOAD_V1 {
struct {
ULONG Encapsulation;
ULONG MaxOffLoadSize;
ULONG MinSegmentCount;
ULONG TcpOptions : 2;
ULONG IpOptions : 2;
} IPv4;
} NDIS_TCP_LARGE_SEND_OFFLOAD_V1, *PNDIS_TCP_LARGE_SEND_OFFLOAD_V1;
Члены
IPv4
Структура в NDIS_TCP_LARGE_SEND_OFFLOAD_V1, содержащая следующие элементы:
IPv4.Encapsulation
Параметры инкапсуляции для IPv4. Дополнительные сведения об этом члене см. в следующем разделе Примечания.
IPv4.MaxOffLoadSize
Максимальное количество байт данных пользователя, которые транспорт может передать драйверу мини-порта в одном пакете. Транспорт не передает пакет драйверу мини-порта, который содержит больше байтов пользовательских данных, чем указано в MaxOffLoadSize . Если такой пакет должен быть передан, транспорт сам сегментирует пакет на пакеты меньшего размера.
IPv4.MinSegmentCount
Минимальное количество сегментов, на которое должен быть разделен большой TCP-пакет, прежде чем транспорт сможет перегрузить его на оборудование для сегментации. Транспорт не разгружает большой пакет драйверу мини-порта для сегментации, если драйвер мини-порта не может создать по крайней мере столько сегментов, сколько minSegmentCount указывает из пакета. Если большой tcp-пакет не соответствует требованию к минимальному сегменту, транспорт TCP/IP сам сегментирует пакет на пакеты меньшего размера.
IPv4.TcpOptions
Значение ULONG, устанавливаемое драйвером мини-порта, чтобы указать, что драйвер минипорта может сегментировать большой TCP-пакет, tcp-заголовок которого содержит параметры TCP, или указывает, что эта возможность включена или отключена. Транспорт TCP/IP задает это значение, чтобы включить или отключить эту возможность.
IPv4.IpOptions
Значение ULONG, устанавливаемое драйвером мини-порта, чтобы указать, что адаптер минипорта может сегментировать большой TCP-пакет, IP-заголовок которого содержит параметры IP- адреса, или указывает, что эта возможность включена или отключена.
Комментарии
Структура NDIS_TCP_LARGE_SEND_OFFLOAD_V1 используется в элементе LsoV1структуры NDIS_OFFLOAD . NDIS_TCP_LARGE_SEND_OFFLOAD_V1 указывает текущие или поддерживаемые службы, предоставляемые адаптером минипорта для сегментирования больших пакетов TCP на пакеты меньшего размера. NDIS также предоставляет большую разгрузку отправки версии 2 (LSOV2), которая является улучшенной версией LSO. Дополнительные сведения о LSOV2 см. в разделе NDIS_TCP_LARGE_SEND_OFFLOAD_V2.
NDIS_OFFLOAD используется в NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES структура , NDIS_BIND_PARAMETERS структура NDIS_FILTER_ATTACH_PARAMETERS структура, OID_TCP_OFFLOAD_CURRENT_CONFIG OID и NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG указание состояния.
Для OID_TCP_OFFLOAD_CURRENT_CONFIG структура NDIS_OFFLOAD определяет возможности разгрузки задач, поддерживаемые адаптером мини-порта. Если текущие возможности разгрузки изменяются, драйвер мини-порта сообщает о новых возможностях в NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG указание состояния.
Элемент инкапсуляцииNDIS_TCP_LARGE_SEND_OFFLOAD_V1 определяет возможности или параметры инкапсуляции LSOV1 для адаптера мини-порта.
В ответ на OID_TCP_OFFLOAD_CURRENT_CONFIG запросе NDIS предоставляет побитовое ИЛИ флагов инкапсуляции, которые указывают поддерживаемые параметры инкапсуляции в элементе инкапсуляции . Драйверы miniport должны обеспечивать инкапсуляцию Ethernet (NDIS_ENCAPSULATION_IEEE_802_3). Другие типы инкапсуляции являются необязательными.
Для NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG указания состояния драйвер мини-порта предоставляет побитовое ИЛИ флагов инкапсуляции, которые указывают на текущие возможности, в элементе инкапсуляции .
Для элемента инкапсуляции определены следующие флаги:
NDIS_ENCAPSULATION_NONE или NDIS_ENCAPSULATION_NOT_SUPPORTED
Указывает, что разгрузка инкапсуляции не поддерживается.
NDIS_ENCAPSULATION_NULL
Указывает инкапсуляцию NULL.
NDIS_ENCAPSULATION_IEEE_802_3
Указывает инкапсуляцию IEEE 802.3.
NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q
Указывает инкапсуляцию IEEE 802.3p и IEEE 802.3q.
NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q_IN_OOB
Указывает, что параметры инкапсуляции IEEE 802.3p и IEEE 802.3q указаны в элементе NetBufferListInfo каждой NET_BUFFER_LIST структуры.
NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED
Указывает инкапсуляцию управления логическими ссылками (LLC) для маршрутизируемых протоколов, как описано в RFC 1483. Этот флаг также используется для указания инкапсуляции Ethernet LLC/SNAP.
Значения в элементах TcpOptions и IpOptions NDIS_TCP_LARGE_SEND_OFFLOAD_V1 указать поддержку адаптера miniport в OID_TCP_OFFLOAD_CURRENT_CONFIG OID или NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG указание состояния. Эти элементы могут иметь одно из следующих значений:
NDIS_OFFLOAD_NOT_SUPPORTED
Адаптер мини-порта не поддерживает функцию, указанную элементом.
NDIS_OFFLOAD_SUPPORTED
Адаптер мини-порта поддерживает функцию, указанную элементом
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается в NDIS 6.0 и более поздних версиях. |
Верхняя часть | ntddndis.h (включая Ndis.h) |