structure NDIS_TCP_LARGE_SEND_OFFLOAD_V1 (ntddndis.h)

La structure NDIS_TCP_LARGE_SEND_OFFLOAD_V1 fournit des informations de déchargement d’envoi volumineux version 1 (LSOV1) dans la structure NDIS_OFFLOAD .

Syntaxe

typedef struct _NDIS_TCP_LARGE_SEND_OFFLOAD_V1 {
  struct {
    ULONG Encapsulation;
    ULONG MaxOffLoadSize;
    ULONG MinSegmentCount;
    ULONG TcpOptions : 2;
    ULONG IpOptions : 2;
  } IPv4;
} NDIS_TCP_LARGE_SEND_OFFLOAD_V1, *PNDIS_TCP_LARGE_SEND_OFFLOAD_V1;

Membres

IPv4

Structure dans NDIS_TCP_LARGE_SEND_OFFLOAD_V1 qui contient les membres suivants :

IPv4.Encapsulation

Paramètres d’encapsulation pour IPv4. Pour plus d’informations sur ce membre, consultez la section Remarques suivante.

IPv4.MaxOffLoadSize

Nombre maximal d’octets de données utilisateur que le transport peut transmettre au pilote miniport dans un seul paquet. Le transport ne transmet pas de paquet au pilote miniport qui contient plus d’octets de données utilisateur que maxOffLoadSize spécifié. Si un tel paquet doit être transmis, le transport lui-même segmente le paquet en paquets plus petits.

IPv4.MinSegmentCount

Nombre minimal de segments qu’un paquet TCP volumineux doit être divisible avant que le transport puisse le décharger sur le matériel à des fins de segmentation. Le transport ne déchargera pas un paquet volumineux vers le pilote miniport pour la segmentation, sauf si le pilote miniport peut créer au moins autant de segments que minSegmentCount spécifie à partir du paquet. Si un paquet TCP volumineux ne répond pas à l’exigence de segment minimal, le transport TCP/IP segmente lui-même le paquet en paquets plus petits.

IPv4.TcpOptions

Valeur ULONG définie par un pilote miniport pour indiquer que le pilote miniport peut segmenter un paquet TCP volumineux dont l’en-tête TCP contient des options TCP ou pour indiquer que cette fonctionnalité est activée ou désactivée. Le transport TCP/IP définit cette valeur pour activer ou désactiver cette fonctionnalité.

IPv4.IpOptions

Valeur ULONG définie par un pilote miniport pour indiquer qu’un adaptateur miniport peut segmenter un paquet TCP volumineux dont l’en-tête IP contient des options IP ou pour indiquer que cette fonctionnalité est activée ou désactivée.

Remarques

La structure NDIS_TCP_LARGE_SEND_OFFLOAD_V1 est utilisée dans le membre LsoV1 de la structure NDIS_OFFLOAD . NDIS_TCP_LARGE_SEND_OFFLOAD_V1 spécifie les services actuels ou pris en charge qu’un adaptateur miniport fournit pour segmenter les paquets TCP volumineux en paquets plus petits. NDIS fournit également un déchargement d’envoi volumineux version 2 (LSOV2), qui est une version améliorée de LSO. Pour plus d’informations sur LSOV2, consultez NDIS_TCP_LARGE_SEND_OFFLOAD_V2.

NDIS_OFFLOAD est utilisé dans structure NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES , structure NDIS_BIND_PARAMETERS , NDIS_FILTER_ATTACH_PARAMETERS structure, OID_TCP_OFFLOAD_CURRENT_CONFIG OID, et le NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG status indication.

Par OID_TCP_OFFLOAD_CURRENT_CONFIG, la structure NDIS_OFFLOAD spécifie les fonctionnalités de déchargement de tâche prises en charge par un adaptateur miniport. Si les fonctionnalités de déchargement actuelles changent, un pilote miniport signale les nouvelles fonctionnalités dans un NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG status indication.

Le membre Encapsulation de NDIS_TCP_LARGE_SEND_OFFLOAD_V1 définit les fonctionnalités ou paramètres d’encapsulation LSOV1 pour l’adaptateur miniport.

En réponse à un OID_TCP_OFFLOAD_CURRENT_CONFIG requête, NDIS fournit un OR au niveau du bit des indicateurs d’encapsulation, qui indiquent les paramètres d’encapsulation pris en charge, dans le membre Encapsulation . Les pilotes miniport doivent fournir une encapsulation Ethernet (NDIS_ENCAPSULATION_IEEE_802_3). Les autres types d’encapsulation sont facultatifs.

Pour un NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG status indication, le pilote miniport fournit un OR au niveau du bit des indicateurs d’encapsulation, qui indiquent les fonctionnalités actuelles, dans le membre Encapsulation.

Les indicateurs suivants sont définis pour le membre Encapsulation :

NDIS_ENCAPSULATION_NONE ou NDIS_ENCAPSULATION_NOT_SUPPORTED
Spécifie qu’aucun déchargement d’encapsulation n’est pris en charge.

NDIS_ENCAPSULATION_NULL
Spécifie l’encapsulation NULL.

NDIS_ENCAPSULATION_IEEE_802_3
Spécifie l’encapsulation IEEE 802.3.

NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q
Spécifie l’encapsulation IEEE 802.3p et IEEE 802.3q.

NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q_IN_OOB
Spécifie que les paramètres d’encapsulation IEEE 802.3p et IEEE 802.3q sont spécifiés dans le membre NetBufferListInfo de chaque structure NET_BUFFER_LIST.

NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED
Spécifie l’encapsulation du contrôle de liaison logique (LLC) pour les protocoles routés, comme décrit dans RFC 1483. Cet indicateur est également utilisé pour indiquer l’encapsulation Ethernet LLC/SNAP.

Les valeurs des membres TcpOptions et IpOptions de NDIS_TCP_LARGE_SEND_OFFLOAD_V1 spécifient la prise en charge de l’adaptateur miniport dans le OID_TCP_OFFLOAD_CURRENT_CONFIG OID ou le NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG status indication. Ces membres peuvent avoir l’une des valeurs suivantes :

NDIS_OFFLOAD_NOT_SUPPORTED
L’adaptateur miniport ne prend pas en charge la fonctionnalité spécifiée par le membre.

NDIS_OFFLOAD_SUPPORTED
L’adaptateur miniport prend en charge la fonctionnalité spécifiée par le membre

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge dans NDIS 6.0 et versions ultérieures.
En-tête ntddndis.h (inclure Ndis.h)

Voir aussi

NDIS_BIND_PARAMETERS

NDIS_FILTER_ATTACH_PARAMETERS

NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES

NDIS_OFFLOAD

NDIS_OID_REQUEST

NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG NDIS_TCP_LARGE_SEND_OFFLOAD_V2

NET_BUFFER_LIST

OID_TCP_OFFLOAD_CURRENT_CONFIG