NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO structure (ndis.h)

La structure NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO contient des informations hors bande supplémentaires pour les paquets encapsulés. Pour plus d’informations, consultez Network Virtualization using Generic Routing Encapsulation (NVGRE) Task Offload (NVGRE-TO).

Syntaxe

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;

Membres

EncapsulatedPacketOffsets

EncapsulatedPacketOffsets.IsEncapsulatedPacket

Si ce membre a la valeur TRUE, ce NBL représente un paquet contenant une trame Ethernet interne avec un en-tête IP de transport. La valeur est FALSE pour les paquets normaux. Lorsque IsEncapsulatedPacket a la valeur TRUE, les champs de décalage d’en-tête existants NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO. LsoV2Transmit. TcpHeaderOffset et NDIS_TCP_IP_CHECKSUM_NET_BUFFER_LIST_INFO. Transmettre. TcpHeaderOffset, n’a pas de valeurs correctes et ne doit pas être utilisé par la carte réseau ou le pilote. Au lieu de cela, le pilote miniport doit utiliser les décalages spécifiés dans les autres membres de cette structure.

EncapsulatedPacketOffsets.EncapsulatedPacketOffsetsValid

Si ce membre a la valeur TRUE, les membres InnerFrameOffset, TransportIpHeaderRelativeOffset et TcpHeaderRelativeOffset ont des valeurs valides.

EncapsulatedPacketOffsets.InnerFrameOffset

Décalage entre le début du paquet et le premier octet du frame Ethernet interne.

EncapsulatedPacketOffsets.TransportIpHeaderRelativeOffset

Décalage vers le premier octet de l’en-tête IP interne par rapport à InnerFrameOffset.

EncapsulatedPacketOffsets.TcpHeaderRelativeOffset

Décalage vers le premier octet de l’en-tête interne (transport) par rapport à TransportIpHeaderRelativeOffset. Cette valeur est toujours définie sur le décalage correct, même si le frame interne n’est pas un paquet TCP.

EncapsulatedPacketOffsets.IsInnerIPv6

Défini par le pilote de protocole pour indiquer que l’en-tête IP interne dans le paquet encapsulé contient des adresses IPv6.

EncapsulatedPacketOffsets.TcpOptionsPresent

Défini par le pilote de protocole lorsque l’en-tête TCP interne contient des options TCP. Cela permet à un pilote miniport d’optimiser le cas lorsqu’il n’existe aucune option permettant de supposer la longueur de l’en-tête TCP pour accéder à la charge utile.

EncapsulatedPacketOffsets.Reserved

Réservé à un usage ultérieur.

Value

Réservé à un usage ultérieur.

Remarques

Les membres de NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO sont significatifs si et seulement si TcpIpChecksumNetBufferListInfo ou TcpLargeSendNetBufferListInfo est spécifié dans la structure NDIS_NET_BUFFER_LIST_INFO .

Si le membre IsEncapsulatedPacket a la valeur TRUE et que les informations OOB (TcpIpChecksumNetBufferListInfo ) sont valides, cela indique que la prise en charge de NVGRE est requise et que la carte réseau doit calculer la somme de contrôle pour l’en-tête IP du tunnel (externe), l’en-tête IP de transport (interne) et l’en-tête TCP ou UDP si l’un d’entre eux est présent. Un paquet NVGRE est déchargé uniquement si le paquet est conforme aux fonctionnalités publiées par miniport. Par exemple, un paquet contenant un en-tête UDP ne sera pas déchargé si le miniport n’a pas publié la prise en charge du déchargement de la somme de contrôle UDP Tx dans ses fonctionnalités de base. Pour plus d’informations, consultez Déchargement des tâches de somme de contrôle.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge dans NDIS 6.30 et versions ultérieures.
En-tête ndis.h

Voir aussi

NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD

NDIS_NET_BUFFER_LIST_INFO

Network Virtualization using Generic Routing Encapsulation (NVGRE) Task Offload

Déchargement des tâches de somme de contrôle