структура 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 перед выполнением операции отправки для сегментированного пакета.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается в NDIS 6.0 и более поздних версиях. |
Верхняя часть | ndis/nbllso.h (включая ndis.h) |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по