estructura NDIS_TCP_CONNECTION_OFFLOAD (ntddndis.h)

La estructura de NDIS_TCP_CONNECTION_OFFLOAD proporciona información de descarga de conexión para la configuración actual y para las funcionalidades admitidas.

Sintaxis

typedef struct _NDIS_TCP_CONNECTION_OFFLOAD {
  NDIS_OBJECT_HEADER Header;
  ULONG              Encapsulation;
  ULONG              SupportIPv4 : 2;
  ULONG              SupportIPv6 : 2;
  ULONG              SupportIPv6ExtensionHeaders : 2;
  ULONG              SupportSack : 2;
  ULONG              CongestionAlgorithm : 4;
  ULONG              TcpConnectionOffloadCapacity;
  ULONG              Flags;
} NDIS_TCP_CONNECTION_OFFLOAD, *PNDIS_TCP_CONNECTION_OFFLOAD;

Miembros

Header

Estructura NDIS_OBJECT_HEADER de la estructura NDIS_TCP_CONNECTION_OFFLOAD. Establezca el miembro Type de la estructura que Header especifica para NDIS_OBJECT_TYPE_DEFAULT, el miembro Revision en NDIS_TCP_CONNECTION_OFFLOAD_REVISION_1 y el miembro Size en NDIS_SIZEOF_TCP_CONNECTION_OFFLOAD_REVISION_1.

Encapsulation

Configuración de encapsulación para la descarga de chimenea TCP. Para obtener más información sobre este miembro, vea la siguiente sección Comentarios.

SupportIPv4

Valor de ULONG que establece un destino de descarga para indicar que admite IPv4. La pila de controladores TCP/IP establece este miembro para habilitar IPv4.

SupportIPv6

Valor de ULONG que establece un destino de descarga para indicar que admite IPv6. La pila de controladores TCP/IP establece este miembro para habilitar IPv6. Tenga en cuenta que un destino de descarga puede admitir IPv4 e IPv6.

SupportIPv6ExtensionHeaders

Valor de ULONG que establece un destino de descarga para indicar que admite encabezados de extensión IPv6 (es decir, enrutamiento, fragmentación/reassembly, autenticación, encapsulación, procesamiento de salto a salto y opciones de destino). La pila de controladores TCP/IP establece este miembro para habilitar los encabezados de extensión IPv6.

SupportSack

Valor de ULONG que establece un destino de descarga para indicar que admite confirmaciones selectivas tcp (SACK) para las operaciones de transmisión y recepción. La pila de controladores TCP/IP establece este miembro para habilitar SACK para las operaciones de transmisión y recepción.

Si un destino de descarga establece el miembro SupportSack , el destino debe poder generar y consumir segmentos SACK. Si un destino de descarga no admite la opción SACK, el destino debe ser capaz de omitir la opción SACK y procesar el resto del segmento TCP normalmente.

CongestionAlgorithm

Reservado para uso futuro.

Si es un proveedor de hardware independiente (IHV) y desea implementar algoritmos de control de congestión no predeterminados, por ejemplo, TCP compuesto, póngase en contacto con Microsoft en Evaluación de prioridades de descarga de TCP externo.

TcpConnectionOffloadCapacity

Valor de ULONG que establece un destino de descarga para indicar el número máximo de conexiones TCP descargadas que admite. Este número incluye conexiones IPv4 e IPv6.

Flags

Reservado.

Comentarios

La estructura de NDIS_TCP_CONNECTION_OFFLOAD especifica los servicios actuales o admitidos que proporciona un adaptador de minipuerto para la descarga de chimenea TCP.

La estructura NDIS_TCP_CONNECTION_OFFLOAD se usa en estructura de NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES , estructura de NDIS_BIND_PARAMETERS , OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG OID OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES OID, indicación de estado de NDIS_STATUS_OFFLOAD_RESUME y NDIS_STATUS_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES indicación de estado. (Para obtener información sobre NDIS_STATUS_OFFLOAD_RESUME, consulte la documentación sobre la descarga de chimenea TCP de NDIS 6.0).

Los controladores de minipuerto no reciben las consultas de OID. NDIS usa la información que el controlador de miniporte proporciona en atributos e indicaciones de estado para proporcionar respuestas a las consultas OID y para proporcionar parámetros de enlace.

NDIS proporciona una estructura de NDIS_TCP_CONNECTION_OFFLOAD en respuesta a una consulta de OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG o OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES. En respuesta a una consulta de OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG, la estructura de NDIS_TCP_CONNECTION_OFFLOAD especifica los valores de configuración actuales del destino de descarga. En respuesta a una consulta de OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES, la estructura de NDIS_TCP_CONNECTION_OFFLOAD especifica las funcionalidades de hardware del destino de descarga para descargar conexiones TCP desde el transporte TCP/IP.

El miembro Encapsulation de NDIS_TCP_CONNECTION_OFFLOAD define la configuración de encapsulación de descarga de chimenea TCP para el adaptador de miniport.

Para un OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES solicitud de consulta, NDIS proporciona una sola marca que indica las funcionalidades de encapsulación de hardware, en el miembro Encapsulation .

Para un OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG solicitud de consulta, NDIS proporciona un OR bit a bit de las marcas de encapsulación, que indica la configuración de encapsulación actual.

Las marcas siguientes se definen para el miembro Encapsulation :

Importante Un controlador de miniporte o mux compatible debe establecer el miembro encapsulación en NDIS_ENCAPSULATION_IEEE_802_3, NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED o ambos. De lo contrario, no se reconocerá la funcionalidad de chimenea.
 

Consultas de descarga de TCP Chimney

Cuando un NDIS responde a una consulta de OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES o OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG para un destino de descarga, NDIS proporciona los miembros SupportIp4, SupportIp6, SupportIp6ExtensionHeaders y SupportISack de la estructura de NDIS_TCP_CONNECTION_OFFLOAD. Estos miembros pueden tener uno de los siguientes valores:

Un destino de descarga debe admitir IPv4 o IPv6 (o ambos). Los destinos de descarga pueden admitir opcionalmente encabezados de extensión IPv6.

Un destino de descarga no debe admitir ninguna opción IPv4. El destino de descarga debe reenviar los datagramas IP recibidos que contengan opciones IPv4 a la pila de controladores TCP/IP. El destino de descarga indica estos datagramas IP en la pila de controladores TCP/IP mediante una llamada a . NdisMIndicateReceiveNetBufferLists. La pila de controladores TCP/IP procesa las opciones IPv4 y devuelve los datagramas al destino de descarga. Función MiniportTcpOffloadForward . (Para obtener información sobre miniportTcpOffloadForward, consulte la documentación sobre la descarga de chimenea TCP de NDIS 6.0).

El destino de descarga también debe proporcionar un valor para el miembro TcpConnectionOffloadCapacity de NDIS_TCP_CONNECTION_OFFLOAD. Este valor debe ser el número máximo de conexiones TCP descargadas simultáneamente que el destino de descarga puede admitir.

Tenga en cuenta que un destino de descarga no puede indicar directamente nuevas funcionalidades de descarga. En su lugar, el destino de descarga debe solicitar la pila de controladores TCP/IP para pausar y reanudar las descargas. Cuando el adaptador de miniporte está listo para reanudar la descarga de conexiones TCP, emite una indicación de estado de NDIS_STATUS_OFFLOAD_RESUME para notificar las nuevas funcionalidades de descarga de conexión. Para obtener más información sobre NDIS_STATUS_OFFLOAD_RESUME, consulte la documentación de descarga de la chimenea TCP de NDIS 6.0.

Requisitos

Requisito Value
Cliente mínimo compatible Compatible con NDIS 6.0 y versiones posteriores.
Encabezado ntddndis.h (include Ndis.h)

Consulte también

NDIS_BIND_PARAMETERS

NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES

NDIS_OBJECT_HEADER

NDIS_OFFLOAD

NDIS_STATUS_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES NdisMIndicateReceiveNetBufferLists OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES