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.
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
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de