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
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