Prise en charge des cartes d’interface réseau
Cette rubrique décrit les types de cartes d’interface réseau (CARTES) qu’un pilote miniport NDIS peut gérer, ainsi que la façon dont les différents types de cartes réseau affectent la façon dont un pilote transfère les données réseau.
Signalement du type moyen d’une carte réseau à NDIS
Pour signaler un type moyen pour une carte réseau, un pilote miniport transmet un pointeur vers une structure NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES dans le paramètre MiniportAttributes de la fonction NdisMSetMiniportAttributes . Un pilote miniport appelle NdisMSetMiniportAttributes à partir de sa fonction MiniportInitializeEx pendant l’initialisation. Les pilotes Miniport doivent définir les attributs MiniportAttributes après avoir défini les attributs d’inscription dans la structure NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES et avant de définir d’autres attributs. La définition des attributs MiniportAttributes est obligatoire. Le pilote définit le membre MediaType de la structure NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES sur le type de média approprié lors de la définition des attributs MiniportAttributes .
Lorsqu’un pilote de protocole NDIS trop élevé appelle NdisOpenAdapterEx pour se lier à un adaptateur miniport spécifié, il fournit une liste des types moyens sur lesquels il peut fonctionner. NDIS utilise les informations du pilote miniport et du pilote de protocole pour configurer une liaison. Cette liaison fournit le chemin d’accès pour le transfert des données réseau vers le haut et le bas de la pile de pilotes.
Cartes réseau physiques
Les étapes effectuées par un pilote miniport pour initialiser un adaptateur miniport et pour envoyer et recevoir des données réseau peuvent dépendre des fonctionnalités d’un appareil physique, comme suit.
Cartes réseau NDIS-WDM
Avec les cartes réseau NDIS-WDM, telles que les cartes réseau basées sur USB, la façon dont le pilote miniport gère la mémoire avec DMA n’a pas d’importance pour NDIS et n’est pas visible pour celui-ci.
Cartes réseau DMA master bus
Ces cartes réseau peuvent accéder directement à la mémoire hôte via un contrôleur DMA intégré qui gère le transfert de données entre le réseau et la mémoire hôte sans utiliser le processeur hôte.
Pour envoyer, le pilote miniport configure la carte réseau pour mapper les mémoires tampons sortantes. Le pilote miniport entraîne ensuite le démarrage du transfert de l’appareil à partir de cette mémoire. Le contrôleur DMA de carte réseau transfère les données de la mémoire système partagée vers le réseau et interrompt le processeur une fois l’envoi terminé. Pour recevoir, le contrôleur DMA transfère les données entrantes à la mémoire hôte avant de notifier l’hôte avec une interruption.
Une carte réseau DMA master bus a généralement une mémoire tampon en anneau intégrée que le pilote miniport mappe à un ensemble de mémoires tampons dans la mémoire système. En règle générale, la carte réseau peut être programmée pour gérer efficacement plusieurs paquets. Un pilote miniport qui gère une telle carte réseau prend généralement en charge les envois et les réceptions multipacket, car la carte réseau peut gérer efficacement plusieurs paquets et ainsi améliorer son débit d’E/S.
Cartes réseau nonbusmaster DMA
Actuellement, les cartes réseau DMA nonbusmaster incluent les éléments suivants :
Cartes réseau DMA système
Un pilote miniport qui gère une telle carte réseau utilise le contrôleur DMA système pour gérer le transfert des données de paquets vers et depuis le réseau. Le transfert des données nécessite la coopération du processeur hôte.
Cartes réseau virtuelles et miniports
Dans une machine virtuelle, les pilotes miniport NDIS peuvent gérer les ressources logicielles uniquement en tant que miniport virtuel, ou ils peuvent gérer une carte réseau virtuelle qui représente les ressources matérielles. Le tableau suivant explique les différences entre un miniport virtuel et une carte réseau virtuelle.
Attribut | Miniport virtuel | Carte d'interface réseau virtuelle |
---|---|---|
Définition | Pilote miniport NDIS mappé à un appareil PnP énuméré par logiciel. | Carte réseau gérée par l’hyperviseur du système d’exploitation hôte. L’hyperviseur fait croire à la machine virtuelle qu’elle a du matériel, mais aucun matériel de ce type n’existe réellement dans le monde physique. |
A des interruptions | Non | Oui |
Peut utiliser DMA | Non | Oui |
Est créé ou détruit par... | Le système d’exploitation invité | Système d’exploitation hôte |
Peut atteindre en dehors d’une machine virtuelle invitée | Non | Oui |