Lire en anglais

Partager via


structure NDIS_TCP_CONNECTION_OFFLOAD (ntddndis.h)

La structure NDIS_TCP_CONNECTION_OFFLOAD fournit des informations de déchargement de connexion pour les paramètres actuels et pour les fonctionnalités prises en charge.

Syntaxe

typedef struct _NDIS_TCP_CONNECTION_OFFLOAD {
  NDIS_OBJECT_HEADER Header;
  ULONG              Encapsulation;
  ULONG              SupportIPv4 : 2;
  ULONG              SupportIPv6 : 2;
  ULONG              SupportIPv6ExtensionHeaders : 2;
  ULONG              SupportSack : 2;
  ULONG              CongestionAlgorithm : 4;
  ULONG              TcpConnectionOffloadCapacity;
  ULONG              Flags;
} NDIS_TCP_CONNECTION_OFFLOAD, *PNDIS_TCP_CONNECTION_OFFLOAD;

Membres

Header

Structure NDIS_OBJECT_HEADER pour la structure NDIS_TCP_CONNECTION_OFFLOAD. Définissez le membre type de la structure spécifiée par -en-tête sur NDIS_OBJECT_TYPE_DEFAULT, le membre Révision sur NDIS_TCP_CONNECTION_OFFLOAD_REVISION_1et le membre Size sur NDIS_SIZEOF_TCP_CONNECTION_OFFLOAD_REVISION_1.

Encapsulation

Paramètres d’encapsulation pour le déchargement de cheminée TCP. Pour plus d’informations sur ce membre, consultez la section Remarques suivante.

SupportIPv4

Valeur ULONG définie par une cible de déchargement pour indiquer qu’elle prend en charge IPv4. La pile de pilotes TCP/IP définit ce membre pour activer IPv4.

SupportIPv6

Valeur ULONG définie par une cible de déchargement pour indiquer qu’elle prend en charge IPv6. La pile de pilotes TCP/IP définit ce membre pour activer IPv6. Notez qu’une cible de déchargement peut prendre en charge IPv4 et IPv6.

SupportIPv6ExtensionHeaders

Valeur ULONG définie par une cible de déchargement pour indiquer qu’elle prend en charge les en-têtes d’extension IPv6 (autrement dit, routage, fragmentation/réassembly, authentification, encapsulation, traitement de tronçon par tronçon et options de destination). La pile de pilotes TCP/IP définit ce membre pour activer les en-têtes d’extension IPv6.

SupportSack

Valeur ULONG définie par une cible de déchargement pour indiquer qu’elle prend en charge les accusés de réception sélectifs TCP (SACK) pour les opérations de transmission et de réception. La pile de pilotes TCP/IP définit ce membre pour activer les clés SACK pour les opérations de transmission et de réception.

Si une cible de déchargement définit le membre SupportSack, la cible doit pouvoir générer et consommer des segments SACK. Si une cible de déchargement ne prend pas en charge l’option SACK, la cible doit être en mesure d’ignorer l’option SACK et de traiter normalement le reste du segment TCP.

CongestionAlgorithm

Réservé pour une utilisation ultérieure.

Si vous êtes un fournisseur de matériel indépendant (IHV) et que vous souhaitez implémenter des algorithmes de contrôle de congestion non définis, par exemple Composé TCP, contactez Microsoft à Triage de déchargement TCP externe.

TcpConnectionOffloadCapacity

Valeur ULONG définie par une cible de déchargement pour indiquer le nombre maximal de connexions TCP déchargées qu’elle prend en charge. Ce nombre inclut les connexions IPv4 et IPv6.

Flags

Réservé.

Remarques

La structure NDIS_TCP_CONNECTION_OFFLOAD spécifie les services actuels ou pris en charge qu’un adaptateur miniport fournit pour le déchargement de cheminée TCP.

La structure NDIS_TCP_CONNECTION_OFFLOAD est utilisée dans le structure NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES, structure NDIS_BIND_PARAMETERS, OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG OID, OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES OID, indication d’état NDIS_STATUS_OFFLOAD_RESUME et NDIS_STATUS_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES'indication d’état. (Pour plus d’informations sur NDIS_STATUS_OFFLOAD_RESUME, consultez documentation sur le déchargement de cheminée TCP NDIS 6.0.)

Les pilotes miniport ne reçoivent pas les requêtes OID. NDIS utilise les informations fournies par le pilote miniport dans les attributs et les indications d’état pour fournir des réponses aux requêtes OID et fournir des paramètres de liaison.

NDIS fournit une structure NDIS_TCP_CONNECTION_OFFLOAD en réponse à une requête de OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG ou de OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES. En réponse à une requête OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG, la structure NDIS_TCP_CONNECTION_OFFLOAD spécifie les paramètres de configuration actuels de la cible de déchargement. En réponse à une requête OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES, la structure NDIS_TCP_CONNECTION_OFFLOAD spécifie les fonctionnalités matérielles de la cible de déchargement pour décharger les connexions TCP à partir du transport TCP/IP.

L’encapsulation membre de NDIS_TCP_CONNECTION_OFFLOAD définit les paramètres d’encapsulation de la cheminée TCP pour l’adaptateur miniport.

Pour un OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES requête, NDIS fournit un indicateur unique qui indique les fonctionnalités d’encapsulation matérielle, dans le membre encapsulation.

Pour un OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG requête, NDIS fournit une or au niveau du bit des indicateurs d’encapsulation, ce qui indique les paramètres d’encapsulation actuels.

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

Important Un miniporteur ou pilote mux capable de cheminée doit définir le membre encapsulation sur NDIS_ENCAPSULATION_IEEE_802_3, NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED ou les deux. Sinon, la capacité de cheminée ne sera pas reconnue.
 

requêtes de déchargement de cheminée TCP

Lorsqu’un NDIS répond à une requête de OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES ou OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG pour une cible de déchargement, NDIS fournit les SupportIp4, SupportIp6, SupportIp6ExtensionHeaderset SupportISack de la structure NDIS_TCP_CONNECTION_OFFLOAD. Ces membres peuvent avoir l’une des valeurs suivantes :

Une cible de déchargement doit prendre en charge IPv4 ou IPv6 (ou les deux). Les cibles de déchargement peuvent éventuellement prendre en charge les en-têtes d’extension IPv6.

Une cible de déchargement ne doit pas prendre en charge les options IPv4. La cible de déchargement doit transférer tous les datagrammes IP reçus qui contiennent des options IPv4 vers la pile de pilotes TCP/IP. La cible de déchargement indique ces datagrammes IP sur la pile de pilotes TCP/IP en appelant NdisMIndicateReceiveNetBufferLists. La pile de pilotes TCP/IP traite les options IPv4 et retourne les datagrammes à la cible de déchargement fonction MiniportTcpOffloadForward. (Pour plus d’informations sur MiniportTcpOffloadForward, consultez documentation sur le déchargement de cheminée TCP NDIS 6.0.)

La cible de déchargement doit également fournir une valeur pour le membre TcpConnectionOffloadCapacity de NDIS_TCP_CONNECTION_OFFLOAD. Cette valeur doit être le nombre maximal de connexions TCP déchargées simultanément que la cible de déchargement peut prendre en charge.

Notez qu’une cible de déchargement ne peut pas indiquer directement de nouvelles fonctionnalités de déchargement. Au lieu de cela, la cible de déchargement doit demander à la pile du pilote TCP/IP de suspendre, puis reprendre les déchargements. Lorsque l’adaptateur miniport est prêt à reprendre le déchargement des connexions TCP, il émet une indication d’état NDIS_STATUS_OFFLOAD_RESUME pour signaler les nouvelles fonctionnalités de déchargement de connexion. Pour plus d’informations sur NDIS_STATUS_OFFLOAD_RESUME, consultez documentation sur le déchargement de cheminée TCP NDIS 6.0.

Exigences

Exigence Valeur
client minimum pris en charge Prise en charge dans NDIS 6.0 et versions ultérieures.
d’en-tête ntddndis.h (include Ndis.h)

Voir aussi

NDIS_BIND_PARAMETERS

NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES

NDIS_OBJECT_HEADER

NDIS_OFFLOAD

NDIS_STATUS_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES NdisMIndicateReceiveNetBufferLists OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES