Condividi tramite


Inizializzazione di un driver miniport VF

Questo argomento descrive le linee guida per la scrittura di una funzione MiniportInitializeEx per il driver miniport per una funzione virtuale PCI Express (PCIe). Il VF viene esposto da una scheda di rete che supporta la virtualizzazione di I/O radice singola (SR-IOV).

Nota

 Queste linee guida si applicano solo ai driver miniport VF della scheda di rete SR-IOV. Per linee guida per l'inizializzazione per il driver miniport di una funzione fisica PCIe (PF) dell'adattatore, vedere Inizializzazione di un driver miniport PF. 

Il driver miniport VF segue gli stessi passaggi di qualsiasi driver miniport NDIS quando viene chiamata la funzione MiniportInitializeEx. Per altre informazioni su questi passaggi, vedere Inizializzazione di un driver Miniport.

Oltre a questi passaggi, il driver miniport VF deve seguire questi passaggi aggiuntivi quando NDIS chiama la funzione MiniportInitializeEx del driver:

  • Il driver miniport VF chiama la funzione NdisGetHypervisorInfo per verificare che sia in esecuzione nella partizione figlio Hyper-V. Questa funzione restituisce una struttura NDIS_HYPERVISOR_INFO che definisce il tipo di partizione. Se il tipo di partizione viene segnalato come NdisHypervisorPartitionMsHvChild, il driver miniport viene eseguito in una partizione figlio Hyper-V collegata al file PF sulla scheda.

    Nota

    Se il tipo di partizione viene segnalato come NdisHypervisorPartitionMsHvParent, il driver miniport viene eseguito nella partizione padre Hyper-V collegata al file PF nella scheda. In questo caso, il driver miniport non deve inizializzare come driver VF. Se possibile, il driver deve inizializzare come driver PF, come descritto in Sequenza di inizializzazione per i driver PF Miniport.

  • A differenza del driver miniport PF, il driver miniport VF non deve essere installato con le parole chiave standardizzate SR-IOV e non deve tentare di leggere queste parole chiave. Per altre informazioni su queste parole chiave, vedere Parole chiave INF standardizzate per SR-IOV.

  • Il driver miniport VF segnala le funzionalità hardware SR-IOV della scheda di rete virtuale sottostante tramite una struttura NDIS_SRIOV_CAPABILITIES inizializzata nel modo seguente:

    1. Il driver miniport inizializza il membro Header . Il driver imposta il membro Type di Header su NDIS_OBJECT_TYPE_DEFAULT.

      A partire da NDIS 6.30, il driver miniport imposta il membro Revision of Header su NDIS_SRIOV_CAPABILITIES _REVISION_1 e il membro Size su NDIS_SIZEOF_SRIOV_CAPABILITIES_REVISION_1.

    2. Il driver miniport imposta il flag NDIS_SRIOV_C piattaforma di strumenti analitici_PF_MINIPORT nel membro SriovCapabilities per segnalare le funzionalità SR-IOV.

      Nota

      Il driver miniport VF deve impostare sia il flag NDIS_SRIOV_C piattaforma di strumenti analitici_VF_MINIPORT che il flag di NDIS_SRIOV_C piattaforma di strumenti analitici_SRIOV_SUPPORTED.

    Il driver miniport VF registra le funzionalità SR-IOV della scheda di rete seguendo questa procedura:

    1. Il driver miniport inizializza una struttura NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES.

      Il driver miniport imposta i membri HardwareSriovCapabilities e CurrentSriovCapabilities su un puntatore alla struttura NDIS_SRIOV_CAPABILITIES inizializzata in precedenza.

    2. Il driver chiama NdisMSetMiniportAttributes e imposta il parametro MiniportAttributes su un puntatore alla struttura NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES.

  • Il driver miniport VF non deve annunciare le funzionalità della coda di macchine virtuali (VMQ). Tuttavia, il driver può annunciare il supporto per altre tecnologie NDIS, ad esempio il risparmio energia e ricevere il ridimensionamento laterale (RSS).

    Per altre informazioni su RSS, vedere Receive Side Scaling.For more information about RSS, see Receive Side Scaling.