Condividi tramite


Gestione della richiesta di OID_NIC_SWITCH_CREATE_SWITCH

NDIS emette una richiesta di metodo OID (Object Identifier) di OID_NIC_SWITCH_CREATE_SWITCH per eseguire le operazioni seguenti:

  • Abilitare un commutatore NIC su una scheda di rete creata staticamente dal driver miniport per la funzione fisica PCI Express (PCIe). Pf è un componente hardware della scheda di rete che supporta la virtualizzazione di I/O radice singola (SR-IOV).

    Un commutatore NIC viene creato staticamente dal driver miniport PF dal contesto alla chiamata a MiniportInitializeEx. Il driver alloca le risorse e crea l'opzione in base ai parametri letti dalle impostazioni del Registro di sistema.

  • Creare dinamicamente un commutatore NIC in una scheda di rete.

    Se il driver miniport PF non supporta la creazione di commutatori NIC statici, il driver miniport alloca le risorse e crea l'opzione in base ai parametri specificati nella richiesta OID.

Il driver miniport PF annuncia il supporto dell'interfaccia SR-IOV quando NDIS chiama la funzione MiniportInitializeEx del driver. Se il driver miniport PF supporta SR-IOV, NDIS legge la configurazione del commutatore NIC dal Registro di sistema. Prima che NDIS invia una richiesta di metodo OID di OID_NIC_SWITCH_CREATE_SWITCH al driver miniport PF, NDIS formatta una struttura NDIS_NIC_SWITCH_PARAMETERS con le informazioni del Registro di sistema nel modo seguente:

  • NDIS imposta il membro SwitchType sul tipo dell'opzione NIC.

    A partire da Windows Server 2012, Windows supporta solo un tipo di commutatore NdisNicSwitchTypeExternal. Un commutatore esterno specifica che le porte virtuali (VPort) connesse a questo tipo di commutatore possono accedere alla rete esterna tramite la porta fisica nella scheda di rete.

    Per altre informazioni sull'opzione NIC, vedere Architettura SR-IOV.

  • NDIS imposta il membro SwitchId su un valore di identificatore per l'opzione NIC. L'identificatore del commutatore è un numero intero compreso tra zero e il numero di commutatori supportati dalla scheda di rete. Un valore NDIS_DEFAULT_SWITCH_ID indica l'opzione di interfaccia di rete predefinita.

    Nota A partire da Windows Server 2012, l'interfaccia SR-IOV supporta solo il commutatore predefinito della scheda di rete.

  • NDIS imposta il membro NumVFs che specifica il numero di VFS (PCIe Virtual Function) che è possibile allocare sul commutatore NIC.

Quando riceve la richiesta del metodo OID di OID_NIC_SWITCH_CREATE_SWITCH, il driver miniport PF deve eseguire le operazioni seguenti:

  1. Se il driver miniport PF supporta la creazione e la configurazione del commutatore statico, crea l'opzione NIC quando NDIS chiama MiniportInitializeEx. Quando il driver gestisce questa richiesta OID, deve verificare i parametri di configurazione nella struttura NDIS_NIC_SWITCH_PARAMETERS. I parametri devono essere uguali a quelli usati dal driver per creare l'opzione durante la chiamata a MiniportInitializeEx. Se non è true, il driver deve non riuscire la richiesta OID.

    Per altre informazioni, vedere Creazione statica di un commutatore di scheda di interfaccia di rete.

  2. Se il driver miniport PF supporta la creazione e la configurazione del commutatore dinamico, il driver deve convalidare i valori di configurazione della struttura NDIS_NIC_SWITCH_PARAMETERS e creare l'opzione NIC in base a questi valori.

    Per altre informazioni, vedere Creazione dinamica di un commutatore di scheda di interfaccia di rete.

  3. Il driver miniport PF deve allocare le risorse hardware e software necessarie per il VPort predefinito sul commutatore NIC.

    Nota Il VPort predefinito viene sempre creato tramite una richiesta OID di OID_NIC_SWITCH_CREATE_SWITCH ed eliminata tramite una richiesta OID di OID_NIC_SWITCH_DELETE_SWITCH. Le richieste OID di OID_NIC_SWITCH_CREATE_VPORT e OID_NIC_SWITCH_DELETE_VPORT vengono usate per la creazione e l'eliminazione di VPort non predefiniti nel commutatore NIC.

  4. Il driver miniport PF che supporta la creazione e la configurazione del commutatore dinamico devono abilitare la virtualizzazione SR-IOV sul commutatore chiamando NdisMEnableVirtualization. Questa chiamata configura il membro NumVFs e il bit VF Enable nella struttura SR-IOV Extended Capability dello spazio di configurazione PCI Express (PCIe) della scheda.

    Per altre informazioni sullo spazio di configurazione SR-IOV, vedere la specifica PCI-SIG Single Root I/O Virtualization and Sharing 1.1 .

    Nota Se il driver miniport PF supporta la creazione di commutatori statici, abilita la virtualizzazione SR-IOV dopo aver creato il commutatore quando viene chiamato MiniportInitializeEx .

Se il driver miniport PF completa correttamente la richiesta del metodo OID di OID_NIC_SWITCH_CREATE_SWITCH, consente di eseguire le operazioni seguenti:

  • Le macchine virtuali possono essere allocate sul commutatore della scheda di interfaccia di rete tramite richieste di metodo OID di OID_NIC_SWITCH_ALLOCATE_VF.

  • È possibile creare VPort non predefiniti nel commutatore della scheda di interfaccia di rete tramite richieste di metodo OID di OID_NIC_SWITCH_CREATE_VPORT.

    Il driver miniport è responsabile della gestione del pool di VPort non predefiniti. Il driver specifica il numero di VPort non predefiniti nel pool tramite il membro NumVPorts della struttura NDIS_NIC_SWITCH_INFO . Il driver restituisce questa struttura tramite una richiesta di query OID di OID_NIC_SWITCH_ENUM_SWITCHES.

    Nota La scheda di rete deve sempre creare un VPort predefinito dal relativo pool per il file PF.