Поделиться через


структура 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 предоставляет побитовую ИЛИ флаги инкапсуляции, указывающие поддерживаемые параметры инкапсуляции в элементе инкапсуляции. Драйверы минипорта должны предоставлять инкапсуляцию 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 указывают поддержку мини-адаптера в OID_TCP_OFFLOAD_CURRENT_CONFIG OID или NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG указание состояния. Эти члены могут иметь одно из следующих значений:

NDIS_OFFLOAD_NOT_SUPPORTED
Минипорт-адаптер не поддерживает функцию, указанную элементом.

NDIS_OFFLOAD_SUPPORTED
Минипорт-адаптер поддерживает функцию, указанную элементом.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Поддерживается в NDIS 6.0 и более поздних версиях.
заголовка ntddndis.h (include Ndis.h)

См. также

NDIS_BIND_PARAMETERS

NDIS_FILTER_ATTACH_PARAMETERS

NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES

NDIS_OFFLOAD

NDIS_OID_REQUEST

NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG NDIS_TCP_LARGE_SEND_OFFLOAD_V2

NET_BUFFER_LIST

OID_TCP_OFFLOAD_CURRENT_CONFIG