структура NDIS_TCP_LARGE_SEND_OFFLOAD_V2 (ntddndis.h)
Структура NDIS_TCP_LARGE_SEND_OFFLOAD_V2 предоставляет большие сведения о разгрузке отправки версии 2 (LSOV2) в структуре NDIS_OFFLOAD.
Синтаксис
typedef struct _NDIS_TCP_LARGE_SEND_OFFLOAD_V2 {
struct {
ULONG Encapsulation;
ULONG MaxOffLoadSize;
ULONG MinSegmentCount;
} IPv4;
struct {
ULONG Encapsulation;
ULONG MaxOffLoadSize;
ULONG MinSegmentCount;
ULONG IpExtensionHeadersSupported : 2;
ULONG TcpOptionsSupported : 2;
} IPv6;
} NDIS_TCP_LARGE_SEND_OFFLOAD_V2, *PNDIS_TCP_LARGE_SEND_OFFLOAD_V2;
Члены
IPv4
Структура в NDIS_TCP_LARGE_SEND_OFFLOAD_V2, указывающая сведения IPv4 и содержащая следующие элементы:
IPv4.Encapsulation
Параметры инкапсуляции для IPv4. Дополнительные сведения об этом члене см. в следующем разделе "Примечания".
IPv4.MaxOffLoadSize
Максимальное количество байтов пользовательских данных, которые транспорт может передавать драйверу мини-порта в одном пакете. Транспорт не передает пакет мини-драйверу, который содержит больше байтов пользовательских данных, чем указано MaxOffLoadSize. Если такой пакет должен быть передан, сам транспорт сегментирует пакет в меньшие пакеты.
IPv4.MinSegmentCount
Минимальное количество сегментов, которые должен быть разделен большим tcp-пакетом, прежде чем транспорт может выгрузить его на оборудование для сегментации. Транспорт не выгрузит большой пакет в драйвер мини-порта для сегментации, если драйвер минипорта не может создавать по крайней мере столько сегментов, сколько MinSegmentCount указывает из пакета. Если большой TCP-пакет не соответствует требованию минимального сегмента, транспорт TCP/IP сам сегментирует пакет на меньшие пакеты.
IPv6
Структура в NDIS_TCP_LARGE_SEND_OFFLOAD_V2, указывающая сведения IPv6 и содержащая следующие элементы:
IPv6.Encapsulation
Параметры инкапсуляции для IPv6. Дополнительные сведения об этом члене см. в следующем разделе "Примечания".
IPv6.MaxOffLoadSize
Максимальное количество байтов пользовательских данных, которые транспорт может передавать драйверу мини-порта в одном пакете. Транспорт не передает пакет мини-драйверу, который содержит больше байтов пользовательских данных, чем указано MaxOffLoadSize. Если такой пакет должен быть передан, сам транспорт сегментирует пакет в меньшие пакеты.
IPv6.MinSegmentCount
Минимальное количество сегментов, которые должен быть разделен большим tcp-пакетом, прежде чем транспорт может выгрузить его в сетевой адаптер для сегментации. Транспорт не выгрузит большой пакет в драйвер мини-порта для сегментации, если драйвер минипорта не может создавать по крайней мере столько сегментов, сколько MinSegmentCount указывает из пакета. Если большой TCP-пакет не соответствует требованию минимального сегмента, транспорт TCP/IP сам сегментирует пакет на меньшие пакеты.
IPv6.IpExtensionHeadersSupported
Значение ULONG, указывающее, что минипорт-адаптер может сегментировать большой TCP-пакет, IP-заголовок которого содержит заголовки расширения IPv6.
IPv6.TcpOptionsSupported
Значение ULONG, указывающее, что драйвер минипорта может сегментировать большой TCP-пакет, заголовок TCP которого содержит параметры TCP или указывает, что эта возможность включена или отключена.
Замечания
Структура NDIS_TCP_LARGE_SEND_OFFLOAD_V2 используется в элементе NDIS_OFFLOAD LsoV2. Структура NDIS_TCP_LARGE_SEND_OFFLOAD_V2 указывает текущие или поддерживаемые службы, которые предоставляет минипорт-адаптер для сегментирования больших TCP-пакетов в меньшие пакеты. NDIS также предоставляет большую разгрузку отправки версии 1 (LSOV1), которая является более ранней версией LSOV2. Дополнительные сведения о LSOV1 см. в разделе NDIS_TCP_LARGE_SEND_OFFLOAD_V1.
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_V2 определяют параметры инкапсуляции LSOV2 для мини-адаптера.
В ответ на OID_TCP_OFFLOAD_CURRENT_CONFIG запросе NDIS предоставляет побитовую ИЛИ флаги инкапсуляции, которые указывают поддерживаемые параметры инкапсуляции в каждом из инкапсуляции членов. Драйверы минипорта должны предоставлять инкапсуляцию Ethernet (NDIS_ENCAPSULATION_IEEE_802_3). Другие типы инкапсуляции являются необязательными.
Для NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG указание состояния, минипорт-драйвер предоставляет битовую или флаги инкапсуляции, которые указывают на текущие возможности в каждом из элементов инкапсуляции.
Для элементов инкапсуляции определены следующие флаги:
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.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Поддерживается в NDIS 6.0 и более поздних версиях. |
заголовка | ntddndis.h (include Ndis.h) |