estructura NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO (ndis/nbllso.h)

La estructura NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO especifica información que se usa para descargar tareas de descarga de envío grandes (LSO) desde el transporte TCP/IP a un adaptador de miniporte. La estructura NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO forma parte de la información NET_BUFFER_LIST .

Sintaxis

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;

Miembros

Transmit

Estructura dentro de NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO que especifica la información de transmisión y que contiene los siguientes miembros:

Transmit.Unused

Valor de ULONG que especifica el espacio sin usar que está reservado para NDIS.

Transmit.Type

Tipo de descarga que debe ejecutar el controlador de minipuerto. Los controladores de protocolo establecen este miembro en NDIS_TCP_LARGE_SEND_OFFLOAD_V1_TYPE para especificar operaciones de descarga de envío grandes de la versión 1 (LSOV1) o para NDIS_TCP_LARGE_SEND_OFFLOAD_V2_TYPE especificar operaciones de descarga de envío grandes (LSOV2).

Transmit.Reserved2

Reservado para NDIS.

LsoV1Transmit

Estructura dentro de NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO que especifica la información de transmisión de LSO y que contiene los siguientes miembros:

LsoV1Transmit.MSS

Tamaño máximo del segmento (MSS), en bytes, para cada paquete después de la segmentación. El transporte TCP/IP escribe este valor antes de pasar un paquete TCP grande a un controlador de miniporte para la segmentación. El tamaño de la carga TCP en cada segmento transmitido no debe superar este valor.

LsoV1Transmit.TcpHeaderOffset

Desplazamiento, en bytes, del encabezado TCP desde el principio del paquete para los paquetes TCP. Los controladores de minipuer pueden usar TcpHeaderOffset para determinar la ubicación del encabezado TCP para que no tengan que analizar los encabezados IP.

LsoV1Transmit.Type

Tipo de descarga que debe ejecutar el controlador de minipuerto. Los controladores de protocolo establecen este miembro en NDIS_TCP_LARGE_SEND_OFFLOAD_V1_TYPE para especificar operaciones LSOV1 o para NDIS_TCP_LARGE_SEND_OFFLOAD_V2_TYPE especificar operaciones LSOV2.

LsoV1Transmit.Reserved2

Reservado para NDIS.

LsoV1TransmitComplete

Estructura dentro de NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO que especifica la información completa de transmisión del LSO y que contiene los siguientes miembros:

LsoV1TransmitComplete.TcpPayload

Número total de bytes de carga TCP en un conjunto de paquetes creados por una tarjeta de interfaz de red (NIC) mediante la segmentación de un paquete grande. Un controlador de minipuerto escribe el tamaño de carga TCP antes de completar el envío de un paquete LSO.

LsoV1TransmitComplete.Type

Tipo de descarga que realizó el controlador de minipuerto. Los controladores de minipuerto dejan este valor igual que cuando el controlador de sobrelación envió el paquete para la transmisión.

LsoV1TransmitComplete.Reserved2

Reservado para NDIS.

LsoV2Transmit

Estructura dentro de NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO que especifica la información de transmisión de LSOV2 y que contiene los siguientes miembros:

LsoV2Transmit.MSS

MSS, en bytes, para cada segmento TCP. El transporte TCP/IP escribe este valor antes de pasar un paquete TCP grande a un controlador de miniporte para la segmentación.

LsoV2Transmit.TcpHeaderOffset

Desplazamiento, en bytes, del encabezado TCP desde el principio del paquete para los paquetes TCP. Los controladores de minipuer pueden usar TcpHeaderOffset para determinar la ubicación del encabezado TCP para que no tengan que analizar los encabezados IP.

LsoV2Transmit.Type

Tipo de descarga que debe ejecutar el controlador de minipuerto. Los controladores de protocolo establecen este miembro en NDIS_TCP_LARGE_SEND_OFFLOAD_V1_TYPE para especificar operaciones LSOV1 o para NDIS_TCP_LARGE_SEND_OFFLOAD_V2_TYPE especificar operaciones LSOV2.

LsoV2Transmit.IPVersion

Versión IP del paquete. En el caso de los paquetes IPv4, IPVersion se establece en NDIS_TCP_LARGE_SEND_OFFLOAD_IPv4. En el caso de los paquetes IPv6, IPVersion se establece en NDIS_TCP_LARGE_SEND_OFFLOAD_IPv6.

LsoV2TransmitComplete

Estructura dentro de NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO que especifica que LSOV2 transmite información completa y que contiene los siguientes miembros:

LsoV2TransmitComplete.Reserved

En general, este miembro está reservado para NDIS. Sin embargo, cuando se completa una operación de envío, el controlador de minipuerto debe establecer este miembro en cero.

LsoV2TransmitComplete.Type

Tipo de descarga que realizó el controlador de minipuerto. El controlador de minipuerto deja este valor igual que cuando el controlador de sobrelación envió el paquete para la transmisión.

Por ejemplo, cuando se completa una operación de envío, el controlador de minipuerto establece este miembro en NDIS_TCP_LARGE_SEND_OFFLOAD_V2_TYPE.

LsoV2TransmitComplete.Reserved2

Reservado para NDIS.

Value

Una versión PVOID de la información de LSO. Use este miembro para acceder a la información sin procesar en lugar de a los campos específicos.

Comentarios

La estructura NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO especifica información para las operaciones LSOV1 y LSOV2. La estructura NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO forma parte de la información que se incluye en una estructura de NET_BUFFER_LIST .

Para establecer y obtener la información LSOV1 o LSOV2, use el índice TcpLargeSendNetBufferListInfo con la macro NET_BUFFER_LIST_INFO . NET_BUFFER_LIST_INFO devuelve un valor ULONG (no un puntero a un valor de ULONG).

El transporte TCP/IP actualiza los miembros MSS y TcpHeaderOffset de la estructura de NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO antes de enviar un paquete grande a un controlador de minipuerto.

Para LSOV1, los controladores de minipuerto escriben el tamaño de carga TCP en el miembro TcpPayload antes de completar una operación de envío para un paquete segmentado.

Nota Cualquier estructura NET_BUFFER_LIST que contenga la información LSOv1 o LSOv2 también contiene una única estructura de NET_BUFFER .
 

Requisitos

Requisito Value
Cliente mínimo compatible Se admite en NDIS 6.0 y versiones posteriores.
Encabezado ndis/nbllso.h (include ndis.h)

Consulte también

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_INFO

Descarga de la segmentación de paquetes TCP grandes