Eliminazione di un commutatore della scheda di interfaccia di rete
Una scheda di rete che supporta la virtualizzazione I/O radice singola (SR-IOV) deve essere in grado di eliminare un commutatore della scheda di interfaccia di rete. Solo il driver miniport per la funzione fisica PCI Express (PCIe) dell'adattatore SR-IOV può eliminare un commutatore della scheda di interfaccia di rete sulla scheda.
Nota A partire da NDIS 6.30 in Windows Server 2012, l'interfaccia SR-IOV supporta un solo commutatore NIC sulla scheda di rete. Questa opzione è nota come opzione di interfaccia di rete predefinita e fa riferimento all'identificatore NDIS_DEFAULT_SWITCH_ID.
Prima di interrompere il driver miniport PF, NDIS elimina l'opzione di interfaccia di rete inviando una richiesta di set OID (Object Identifier) di OID_NIC_SWITCH_DELETE_SWITCH. Il membro InformationBuffer della struttura NDIS_OID_REQUEST contiene un puntatore a una struttura NDIS_NIC_SWITCH_DELETE_SWITCH_PARAMETERS che specifica l'identificatore dell'opzione da eliminare.
NDIS applica i criteri seguenti prima di inviare la richiesta del set OID di OID_NIC_SWITCH_DELETE_SWITCH al driver miniport PF:
NDIS garantisce che tutti i filtri di ricezione siano stati cancellati dalle porte virtuali predefinite e non predefinite (VPorts) sul commutatore NIC. I filtri di ricezione vengono cancellati tramite una richiesta di set OID di OID_RECEIVE_FILTER_CLEAR_FILTER.
NDIS garantisce che tutte le porte virtuali (VPort) non predefinite create nel commutatore siano state eliminate in precedenza. I VPort vengono eliminati tramite una richiesta di set OID di OID_NIC_SWITCH_DELETE_VPORT.
NDIS garantisce che tutte le risorse per le funzioni virtuali (VFS) PCIe collegate al commutatore di interfaccia di rete siano state liberate in precedenza. Le macchine virtuali vengono liberate tramite una richiesta di set OID di OID_NIC_SWITCH_FREE_VF.
Quando riceve la richiesta del metodo OID di OID_NIC_SWITCH_DELETE_SWITCH, il driver miniport PF deve eseguire le operazioni seguenti:
Se il driver miniport PF supporta la creazione statica e la configurazione dei commutatori di scheda di interfaccia di rete, deve liberare le risorse software associate all'opzione di interfaccia di rete specificata. Tuttavia, il driver può liberare solo le risorse hardware per il commutatore NIC quando viene chiamato MiniportHaltEx .
Per altre informazioni sulla creazione di un commutatore di interfaccia di rete statica, vedere Creazione statica di un commutatore di scheda di interfaccia di rete.
Se il driver miniport PF supporta la creazione dinamica e la configurazione dei commutatori di scheda di interfaccia di rete, deve liberare le risorse hardware e software associate al commutatore NIC specificato.
Per altre informazioni sulla creazione dinamica del commutatore di interfaccia di rete, vedere Creazione dinamica di un commutatore di scheda di interfaccia di rete.
Se il driver miniport PF supporta la creazione dinamica di commutatori di interfaccia di rete e tutti i commutatori di scheda di interfaccia di rete sono stati eliminati nella scheda di rete, il driver deve disabilitare la virtualizzazione sulla scheda chiamando NdisMEnableVirtualization. Per disabilitare la virtualizzazione, la scheda di rete deve impostare il parametro EnableVirtualization su FALSE e il parametro NumVFs su zero.
NdisMEnableVirtualization cancella il membro NumVFs e il bit VF Enable nella struttura SR-IOV Extended Capability nello spazio di configurazione PCIe del pf della scheda di rete.
Nota Se il driver miniport PF supporta la creazione statica e la configurazione di commutatori di scheda di interfaccia di rete, deve chiamare solo NdisMEnableVirtualization quando viene chiamato MiniportHaltEx .