Impostazione dello stato di alimentazione di una funzione virtuale

Un driver sovrastante emette una richiesta di impostazione OID (Object Identifier) di OID_SRIOV_SET_VF_POWER_STATE per cambiare lo stato di alimentazione di una Funzione Virtuale (VF) PCI Express (PCIe) specificata sulla scheda di rete. Poiché la modifica dello stato di alimentazione è un'operazione con privilegi, i driver sovrapposti inoltrano questa richiesta di impostazione OID al driver miniport della funzione fisica PCIe (PF) sulla scheda di rete. Il driver miniport PF imposta quindi lo stato di alimentazione specificato sul VF.

Ad esempio, lo stack di virtualizzazione gestisce lo stato di alimentazione della partizione figlia Hyper-V collegata al VF. Lo stack modifica lo stato di alimentazione emettendo il comando OID_SRIOV_SET_VF_POWER_STATE al driver della miniporta PF.

Prima di eseguire la richiesta di impostazione dell'OID di OID_SRIOV_SET_VF_POWER_STATE, il driver sovrastante deve impostare i membri della struttura NDIS_SRIOV_SET_VF_POWER_STATE_PARAMETERS nel modo seguente:

  • Il membro VFId deve essere impostato sull'identificatore del VF da cui devono essere lette le informazioni.

  • Il membro PowerState deve essere impostato sullo stato di alimentazione a cui deve passare il VF.

  • Se la scheda di rete deve avere il segnale WAKE# (sul bus PCI Express) o il segnale PME# (sul bus PCI) abilitato quando entra nello stato a basso consumo, il membro WakeEnable deve essere impostato al valore TRUE. In caso contrario, questo membro deve essere impostato su FALSE.

Quando al driver miniport PF viene emessa questa richiesta OID di set, deve seguire queste linee guida:

  • Il driver miniport PF deve verificare che il VF, specificato dal VFId membro della struttura NDIS_SRIOV_SET_VF_POWER_STATE_PARAMETERS, disponga di risorse allocate in precedenza. Il driver miniport PF alloca le risorse per un VF durante una richiesta di metodo OID di OID_NIC_SWITCH_ALLOCATE_VF. Se il VF specificato non è in uno stato allocato, il driver deve rifiutare la richiesta OID.

  • L'operazione relativa allo stato di alimentazione deve influire solo sul VF specificato. L'operazione non deve influire su altre funzioni virtuali o la PF nella stessa scheda di rete.