Supporto scheda interfaccia di rete
Questo argomento descrive i tipi di schede di interfaccia di rete (NIC) che un driver miniport NDIS può gestire, nonché il modo in cui i diversi tipi di schede di interfaccia di rete influiscono sul modo in cui un driver trasferisce i dati di rete.
Creazione di report del tipo medio di una scheda di interfaccia di rete a NDIS
Per segnalare un tipo medio per una scheda di interfaccia di rete, un driver miniport passa un puntatore a una struttura NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES nel parametro MiniportAttributes della funzione NdisMSetMiniportAttributes . Un driver miniport chiama NdisMSetMiniportAttributes dalla funzione MiniportInitializeEx durante l'inizializzazione. I driver Miniport devono impostare gli attributi miniportAttributes dopo aver impostato gli attributi di registrazione nella struttura NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES e prima di impostare qualsiasi altro attributo. L'impostazione degli attributi MiniportAttributes è obbligatoria. Il driver imposta il membro MediaType della struttura NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES sul tipo di supporto appropriato quando si impostano gli attributi MiniportAttributes .
Quando un driver del protocollo NDIS overlying chiama NdisOpenAdapterEx per associare a una scheda miniport specificata, fornisce un elenco di tipi medi su cui può funzionare. NDIS usa le informazioni del driver miniport e dal driver del protocollo per configurare un'associazione. Questa associazione fornisce il percorso per il trasferimento dei dati di rete verso l'alto e verso il basso dello stack di driver.
Schede di interfaccia di rete fisiche
I passaggi completati da un driver miniport per inizializzare una scheda miniport e per inviare e ricevere dati di rete possono dipendere dalle funzionalità di un dispositivo fisico, come indicato di seguito.
Schede di interfaccia di rete NDIS-WDM
Con schede di interfaccia di rete NDIS-WDM, ad esempio schede di interfaccia di rete basate su USB, il modo in cui il driver miniport gestisce la memoria con DMA non è importante per NDIS e non è visibile a esso.
Schede di interfaccia di rete DMA master del bus
Queste schede di interfaccia di rete possono accedere direttamente alla memoria host tramite un controller DMA su scheda che gestisce il trasferimento di dati tra la rete e la memoria host senza usare la CPU host.
Per inviare, il driver miniport configura la scheda di interfaccia di rete per eseguire il mapping dei buffer in uscita. Il driver miniport causa quindi l'avvio del trasferimento dal dispositivo da questa memoria. Il controller DMA della scheda di interfaccia di rete trasferisce i dati dalla memoria di sistema condivisa nella rete e interrompe la CPU al termine dell'invio. Per ricevere, il controller DMA trasferisce i dati in ingresso alla memoria host prima di inviare una notifica all'host con un interruzione.
Una scheda di interfaccia di rete DMA master del bus include in genere un buffer anello di onboarding che il driver miniport esegue il mapping a un set di buffer nella memoria di sistema. In genere, la scheda di interfaccia di rete può essere programmata per gestire in modo efficiente diversi pacchetti. Un driver miniport che gestisce tale scheda di interfaccia di rete supporta in genere l'invio e la ricezione multipacket perché la scheda di interfaccia di rete può gestire in modo efficiente diversi pacchetti e quindi migliorare la velocità effettiva di I/O.
Schede di interfaccia di rete DMA nonbusmaster
Attualmente, le schede di interfaccia di rete DMA nonbusmaster includono quanto segue:
Schede di interfaccia di rete DMA di sistema
Un driver miniport che gestisce tale scheda di interfaccia di rete usa il controller DMA di sistema per gestire il trasferimento dei dati dei pacchetti verso e dalla rete. Il trasferimento dei dati richiede la cooperazione della CPU host.
Schede di interfaccia di rete virtuali e miniport
In una macchina virtuale, i driver miniport NDIS possono gestire risorse solo software come miniport virtuale oppure possono gestire una scheda di interfaccia di rete virtuale che rappresenta le risorse hardware. La tabella seguente illustra le differenze tra un miniport virtuale e una scheda di interfaccia di rete virtuale.
Attributo | Miniport virtuale | Scheda di interfaccia di rete virtuale |
---|---|---|
Definizione | Driver miniport NDIS che esegue il mapping a un dispositivo PnP enumerato dal software. | Interfaccia di rete gestita dall'hypervisor del sistema operativo host. L'hypervisor rende la macchina virtuale pensa che abbia un hardware, ma nessun hardware esiste effettivamente nel mondo fisico. |
Interruzioni | No | Sì |
Può usare DMA | No | Sì |
Viene creato o distrutto da... | Sistema operativo guest | Sistema operativo host |
Può raggiungere l'esterno di una macchina virtuale guest | No | Sì |