structure NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO (ndis/nbllso.h)

La structure NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO spécifie les informations utilisées dans le déchargement des tâches de déchargement d’envoi volumineux (LSO) à partir du transport TCP/IP vers un adaptateur miniport. La structure NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO fait partie des informations de NET_BUFFER_LIST .

Syntaxe

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;

Membres

Transmit

Structure dans NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO qui spécifie les informations de transmission et qui contient les membres suivants :

Transmit.Unused

Valeur ULONG qui spécifie l’espace inutilisé réservé à NDIS.

Transmit.Type

Type de déchargement que le pilote miniport doit exécuter. Les pilotes de protocole définissent ce membre sur NDIS_TCP_LARGE_SEND_OFFLOAD_V1_TYPE pour spécifier les opérations de déchargement d’envoi volumineux version 1 (LSOV1) ou pour NDIS_TCP_LARGE_SEND_OFFLOAD_V2_TYPE pour spécifier des opérations de déchargement d’envoi volumineux version 2 (LSOV2).

Transmit.Reserved2

Réservé à NDIS.

LsoV1Transmit

Structure dans NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO qui spécifie les informations de transmission de LSO et qui contient les membres suivants :

LsoV1Transmit.MSS

Taille maximale de segment (MSS), en octets, pour chaque paquet après la segmentation. Le transport TCP/IP écrit cette valeur avant de passer un paquet TCP volumineux à un pilote miniport pour la segmentation. La taille de la charge utile TCP dans chaque segment transmis ne doit pas dépasser cette valeur.

LsoV1Transmit.TcpHeaderOffset

Décalage, en octets, de l’en-tête TCP du début du paquet pour les paquets TCP. Les pilotes Miniport peuvent utiliser TcpHeaderOffset pour déterminer l’emplacement de l’en-tête TCP afin qu’ils n’aient pas à analyser les en-têtes IP.

LsoV1Transmit.Type

Type de déchargement que le pilote miniport doit exécuter. Les pilotes de protocole définissent ce membre sur NDIS_TCP_LARGE_SEND_OFFLOAD_V1_TYPE pour spécifier les opérations LSOV1 ou pour NDIS_TCP_LARGE_SEND_OFFLOAD_V2_TYPE pour spécifier les opérations LSOV2.

LsoV1Transmit.Reserved2

Réservé à NDIS.

LsoV1TransmitComplete

Structure dans NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO qui spécifie les informations complètes de transmission de LSO et qui contient les membres suivants :

LsoV1TransmitComplete.TcpPayload

Nombre total d’octets de charge utile TCP dans un ensemble de paquets qu’une interface réseau carte créée en segmentant un paquet volumineux. Un pilote miniport écrit la taille de la charge utile TCP avant de terminer l’envoi d’un paquet LSO.

LsoV1TransmitComplete.Type

Type de déchargement effectué par le pilote miniport. Les pilotes miniports conservent cette valeur comme elle l’était lorsque le pilote en sur-position a envoyé le paquet pour transmission.

LsoV1TransmitComplete.Reserved2

Réservé à NDIS.

LsoV2Transmit

Structure dans NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO qui spécifie les informations de transmission LSOV2 et qui contient les membres suivants :

LsoV2Transmit.MSS

MSS, en octets, pour chaque segment TCP. Le transport TCP/IP écrit cette valeur avant de passer un paquet TCP volumineux à un pilote miniport pour la segmentation.

LsoV2Transmit.TcpHeaderOffset

Décalage, en octets, de l’en-tête TCP du début du paquet pour les paquets TCP. Les pilotes Miniport peuvent utiliser TcpHeaderOffset pour déterminer l’emplacement de l’en-tête TCP afin qu’ils n’aient pas à analyser les en-têtes IP.

LsoV2Transmit.Type

Type de déchargement que le pilote miniport doit exécuter. Les pilotes de protocole définissent ce membre sur NDIS_TCP_LARGE_SEND_OFFLOAD_V1_TYPE pour spécifier les opérations LSOV1 ou pour NDIS_TCP_LARGE_SEND_OFFLOAD_V2_TYPE pour spécifier les opérations LSOV2.

LsoV2Transmit.IPVersion

Version IP du paquet. Pour les paquets IPv4, IPVersion est défini sur NDIS_TCP_LARGE_SEND_OFFLOAD_IPv4. Pour les paquets IPv6, IPVersion est défini sur NDIS_TCP_LARGE_SEND_OFFLOAD_IPv6.

LsoV2TransmitComplete

Structure dans NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO qui spécifie LSOV2 transmettre des informations complètes et qui contient les membres suivants :

LsoV2TransmitComplete.Reserved

En général, ce membre est réservé à NDIS. Toutefois, lorsqu’une opération d’envoi est terminée, le pilote miniport doit définir ce membre sur zéro.

LsoV2TransmitComplete.Type

Type de déchargement effectué par le pilote miniport. Le pilote miniport laisse cette valeur comme elle l’était lorsque le pilote en sur-position a envoyé le paquet pour transmission.

Par exemple, lorsqu’une opération d’envoi est terminée, le pilote miniport définit ce membre sur NDIS_TCP_LARGE_SEND_OFFLOAD_V2_TYPE.

LsoV2TransmitComplete.Reserved2

Réservé à NDIS.

Value

Version PVOID des informations LSO. Utilisez ce membre pour accéder aux informations brutes au lieu des champs spécifiques.

Remarques

La structure NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO spécifie des informations pour les opérations LSOV1 et LSOV2. La structure NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO fait partie des informations incluses dans une structure de NET_BUFFER_LIST .

Pour définir et obtenir les informations LSOV1 ou LSOV2, utilisez l’index TcpLargeSendNetBufferListInfo avec la macro NET_BUFFER_LIST_INFO . NET_BUFFER_LIST_INFO retourne une valeur ULONG (et non un pointeur vers une valeur ULONG).

Le transport TCP/IP met à jour les membres MSS et TcpHeaderOffset de la structure NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO avant d’envoyer un paquet volumineux à un pilote miniport.

Pour LSOV1, les pilotes miniport écrivent la taille de charge utile TCP dans le membre TcpPayload avant d’effectuer une opération d’envoi pour un paquet segmenté.

Note Toute structure NET_BUFFER_LIST qui contient les informations LSOv1 ou LSOv2 contient également une structure NET_BUFFER unique.
 

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge dans NDIS 6.0 et versions ultérieures.
En-tête ndis/nbllso.h (include ndis.h)

Voir aussi

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_INFO

Déchargement de la segmentation des paquets TCP volumineux