estructura de NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO (ndis.h)

La estructura NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO contiene información adicional fuera de banda para paquetes encapsulados. Para obtener más información, consulte Virtualización de red mediante la descarga de tareas de encapsulación de enrutamiento genérico (NVGRE) (NVGRE-TO).

Sintaxis

typedef struct _NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO {
  union {
    struct {
      ULONG IsEncapsulatedPacket : 1;
      ULONG EncapsulatedPacketOffsetsValid : 1;
      ULONG InnerFrameOffset : 8;
      ULONG TransportIpHeaderRelativeOffset : 6;
      ULONG TcpHeaderRelativeOffset : 10;
      ULONG IsInnerIPv6 : 1;
      ULONG TcpOptionsPresent : 1;
      ULONG Reserved : 4;
    } EncapsulatedPacketOffsets;
    PVOID Value;
  };
} NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO, *PNDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO;

Miembros

EncapsulatedPacketOffsets

EncapsulatedPacketOffsets.IsEncapsulatedPacket

Si este miembro es TRUE, este NBL representa un paquete que contiene un marco Ethernet interno con un encabezado IP de transporte. Es FALSE para los paquetes normales. Cuando IsEncapsulatedPacket es TRUE, los campos de desplazamiento de encabezado existentes , NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO. LsoV2Transmit. TcpHeaderOffset y NDIS_TCP_IP_CHECKSUM_NET_BUFFER_LIST_INFO. Transmitir. TcpHeaderOffset, no tendrá valores correctos y no debe ser utilizado por la NIC o el controlador. En su lugar, el controlador de minipuerto debe usar los desplazamientos especificados en los demás miembros de esta estructura.

EncapsulatedPacketOffsets.EncapsulatedPacketOffsetsValid

Si este miembro es TRUE, los miembros InnerFrameOffset, TransportIpHeaderRelativeOffset y TcpHeaderRelativeOffset tienen valores válidos.

EncapsulatedPacketOffsets.InnerFrameOffset

Desplazamiento desde el principio del paquete hasta el primer byte del marco Ethernet interno.

EncapsulatedPacketOffsets.TransportIpHeaderRelativeOffset

Desplazamiento al primer byte del encabezado IP interno en relación con InnerFrameOffset.

EncapsulatedPacketOffsets.TcpHeaderRelativeOffset

Desplazamiento al primer byte del encabezado interno (transporte) relativo al Objeto TransportIpHeaderRelativeOffset. Este valor siempre se establece en el desplazamiento correcto, incluso si el marco interno no es un paquete TCP.

EncapsulatedPacketOffsets.IsInnerIPv6

Establezca por el controlador de protocolo para indicar que el encabezado IP interno del paquete encapsulado contiene direcciones IPv6.

EncapsulatedPacketOffsets.TcpOptionsPresent

Se establece mediante el controlador de protocolo cuando el encabezado TCP interno contiene opciones de TCP. Esto permite que un controlador de miniporte optimice el caso cuando no haya ninguna opción para asumir la longitud del encabezado TCP para acceder a la carga.

EncapsulatedPacketOffsets.Reserved

Reservado para un uso futuro.

Value

Reservado para un uso futuro.

Comentarios

Los miembros de NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO son significativos si y solo si TcpIpChecksumNetBufferListInfo o TcpLargeSendNetBufferListInfo se especifican en la estructura NDIS_NET_BUFFER_LIST_INFO .

Si el miembro IsEncapsulatedPacket es TRUE y la información tcpIpChecksumNetBufferListInfo fuera de banda (OOB), esto indica que se requiere compatibilidad con NVGRE y que la NIC debe calcular la suma de comprobación para el encabezado IP del túnel (externo), el encabezado IP de transporte (interno) y el encabezado TCP o UDP si uno de ellos está presente. Un paquete NVGRE solo se descargará si el paquete se ajusta a las funcionalidades anunciadas por miniporte. Por ejemplo, un paquete que contiene un encabezado UDP no se descargará si el miniporte no anunció la compatibilidad con la descarga de suma de comprobación de UDP Tx en sus funcionalidades base. Para obtener más información, consulte Descarga de tareas de suma de comprobación.

Requisitos

Requisito Value
Cliente mínimo compatible Compatible con NDIS 6.30 y versiones posteriores.
Encabezado ndis.h

Consulte también

NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD

NDIS_NET_BUFFER_LIST_INFO

Virtualización de red mediante la descarga de tareas de encapsulación de enrutamiento genérico (NVGRE)

Descarga de tareas de suma de comprobación