структура NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO (ndis/nbllso.h)

Структура NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO указывает сведения, используемые при разгрузке задач разгрузки больших отправляемых сообщений (LSO) с транспорта TCP/IP на адаптер мини-порта. Структура NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO является частью NET_BUFFER_LIST информации.

Синтаксис

typedef struct _NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO {
  union {
    struct {
      ULONG Unused : 30;
      ULONG Type : 1;
      ULONG Reserved2 : 1;
    } Transmit;
    struct {
      ULONG MSS : 20;
      ULONG TcpHeaderOffset : 10;
      ULONG Type : 1;
      ULONG Reserved2 : 1;
    } LsoV1Transmit;
    struct {
      ULONG TcpPayload : 30;
      ULONG Type : 1;
      ULONG Reserved2 : 1;
    } LsoV1TransmitComplete;
    struct {
      ULONG MSS : 20;
      ULONG TcpHeaderOffset : 10;
      ULONG Type : 1;
      ULONG IPVersion : 1;
    } LsoV2Transmit;
    struct {
      ULONG Reserved : 30;
      ULONG Type : 1;
      ULONG Reserved2 : 1;
    } LsoV2TransmitComplete;
    PVOID Value;
  };
} NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO, *PNDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO;

Члены

Transmit

Структура в NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO, которая указывает передаваемые данные и содержит следующие элементы:

Transmit.Unused

Значение ULONG, указывающее неиспользуемое пространство, зарезервированное для NDIS.

Transmit.Type

Тип разгрузки, который должен запускать драйвер мини-порта. Драйверы протокола задают этому члену значение NDIS_TCP_LARGE_SEND_OFFLOAD_V1_TYPE для указания больших операций разгрузки отправки версии 1 (LSOV1) или для NDIS_TCP_LARGE_SEND_OFFLOAD_V2_TYPE, чтобы указать операции большой разгрузки отправки версии 2 (LSOV2).

Transmit.Reserved2

Зарезервировано для NDIS.

LsoV1Transmit

Структура в NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO, которая указывает сведения о передаче LSO и содержит следующие элементы:

LsoV1Transmit.MSS

Максимальный размер сегмента (MSS) в байтах для каждого пакета после сегментации. Транспорт TCP/IP записывает это значение перед передачей большого пакета TCP драйверу мини-порта для сегментации. Размер полезных данных TCP в каждом передаваемом сегменте не должен превышать это значение.

LsoV1Transmit.TcpHeaderOffset

Смещение (в байтах) заголовка TCP от начала пакета для пакетов TCP. Драйверы miniport могут использовать TcpHeaderOffset для определения расположения заголовка TCP, чтобы им не нужно было анализировать ip-заголовки.

LsoV1Transmit.Type

Тип разгрузки, который должен запускать драйвер мини-порта. Драйверы протокола задают этому члену значение NDIS_TCP_LARGE_SEND_OFFLOAD_V1_TYPE для указания операций LSOV1 или NDIS_TCP_LARGE_SEND_OFFLOAD_V2_TYPE для указания операций LSOV2.

LsoV1Transmit.Reserved2

Зарезервировано для NDIS.

LsoV1TransmitComplete

Структура в NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO, указывающая LSO, передающая полную информацию и содержащая следующие элементы:

LsoV1TransmitComplete.TcpPayload

Общее количество байтов полезных данных TCP в наборе пакетов, которые сетевой интерфейс карта (NIC), созданный путем сегментирования большого пакета. Драйвер мини-порта записывает размер полезных данных TCP перед отправкой пакета LSO.

LsoV1TransmitComplete.Type

Тип разгрузки, выполненный драйвером мини-порта. Драйверы минипорта оставляют это значение таким же, как и при отправке пакета для передачи.

LsoV1TransmitComplete.Reserved2

Зарезервировано для NDIS.

LsoV2Transmit

Структура в NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO, которая указывает LSOV2 передаваемые данные и содержит следующие элементы:

LsoV2Transmit.MSS

MSS в байтах для каждого сегмента TCP. Транспорт TCP/IP записывает это значение перед передачей большого пакета TCP драйверу мини-порта для сегментации.

LsoV2Transmit.TcpHeaderOffset

Смещение (в байтах) заголовка TCP от начала пакета для пакетов TCP. Драйверы miniport могут использовать TcpHeaderOffset для определения расположения заголовка TCP, чтобы им не нужно было анализировать ip-заголовки.

LsoV2Transmit.Type

Тип разгрузки, который должен запускать драйвер мини-порта. Драйверы протокола задают этому члену значение NDIS_TCP_LARGE_SEND_OFFLOAD_V1_TYPE для указания операций LSOV1 или NDIS_TCP_LARGE_SEND_OFFLOAD_V2_TYPE для указания операций LSOV2.

LsoV2Transmit.IPVersion

IP-версия пакета. Для пакетов IPv4 ipVersion имеет значение NDIS_TCP_LARGE_SEND_OFFLOAD_IPv4. Для пакетов IPv6 ipVersion имеет значение NDIS_TCP_LARGE_SEND_OFFLOAD_IPv6.

LsoV2TransmitComplete

Структура в NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO, которая указывает LSOV2 передает полную информацию и содержит следующие элементы:

LsoV2TransmitComplete.Reserved

Как правило, этот элемент зарезервирован для NDIS. Однако после завершения операции отправки драйвер мини-порта должен установить для этого элемента нулевое значение.

LsoV2TransmitComplete.Type

Тип разгрузки, выполненный драйвером мини-порта. Драйвер минипорта оставляет это значение таким же, как и при отправке пакета для передачи драйвером с превышением.

Например, после завершения операции отправки драйвер мини-порта устанавливает для этого элемента NDIS_TCP_LARGE_SEND_OFFLOAD_V2_TYPE.

LsoV2TransmitComplete.Reserved2

Зарезервировано для NDIS.

Value

Версия PVOID сведений О LSO. Используйте этот элемент для доступа к необработанной информации, а не к конкретным полям.

Комментарии

Структура NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO указывает сведения для операций LSOV1 и LSOV2. Структура NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO является частью сведений, включенных в структуру NET_BUFFER_LIST .

Чтобы задать и получить сведения о LSOV1 или LSOV2, используйте индекс TcpLargeSendNetBufferListInfo с макросом NET_BUFFER_LIST_INFO . NET_BUFFER_LIST_INFO возвращает значение ULONG (не указатель на значение ULONG).

Транспорт TCP/IP обновляет элементы MSS и TcpHeaderOffsetструктуры NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO перед отправкой большого пакета в драйвер мини-порта.

Для LSOV1 драйверы мини-порта записывают размер полезных данных TCP в член TcpPayload перед выполнением операции отправки для сегментированного пакета.

Примечание Любая структура NET_BUFFER_LIST , содержащая сведения LSOv1 или LSOv2, также содержит одну структуру NET_BUFFER .
 

Требования

Требование Значение
Минимальная версия клиента Поддерживается в NDIS 6.0 и более поздних версиях.
Верхняя часть ndis/nbllso.h (включая ndis.h)

См. также раздел

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_INFO

Разгрузка сегментации больших пакетов TCP