Delen via


Verzoeken voor OID_NIC_SWITCH_ALLOCATE_VF Uitgeven

Voordat het de object-id (OID) methodeaanvraag van OID_NIC_SWITCH_ALLOCATE_VF naar het minipoortstuurprogramma voor de PCI Express (PCIe) Fysieke Functie (PF) stuurt, formatteert het overliggende stuurprogramma een NDIS_NIC_SWITCH_VF_PARAMETERS structuur. Deze structuur bevat de configuratieparameters voor de resources die moeten worden toegewezen voor een virtuele PCIe-functie (VF) op de netwerkadapter. Het overliggende stuurprogramma moet de leden van deze structuur op de volgende manier instellen:

  • De SwitchId lid moet worden ingesteld op de id van een NIC-switch die eerder op de netwerkadapter is gemaakt. Er wordt een NIC-switch gemaakt via een OID-methodeaanvraag van OID_NIC_SWITCH_CREATE_SWITCH.

    Wanneer de OID-methodeaanvraag van OID_NIC_SWITCH_ALLOCATE_VFwordt verwerkt, wijst het minipoortstuurprogramma voor de PCIe Physical Function (PF) resources toe voor de VF. Wanneer middelen met succes zijn toegewezen, wijst het PF-minipoortstuurprogramma de VF toe aan de opgegeven NIC-switch.

    Opmerking Vanaf NDIS 6.30 in Windows Server 2012 ondersteunt de SR-IOV-interface alleen de standaard-NIC-switch op de netwerkadapter. De waarde van het SwitchId-lid moet worden ingesteld op NDIS_DEFAULT_SWITCH_ID.

    Zie NIC-switchesvoor meer informatie over een NIC-switch.

  • Het VFId-lid moet zijn ingesteld op NDIS_INVALID_VF_FUNCTION_ID.

  • Het RequestorId lid moet worden ingesteld op NDIS_INVALID_RID.

  • De VMFriendlyName en VMName leden moeten worden ingesteld op de parameters van een Hyper-V onderliggende partitie. Het PF-miniportstuurprogramma gebruikt deze leden alleen voor informatieve doeleinden.

    Opmerking De Hyper-V kind-partitie wordt ook wel een virtuele machine (VM)genoemd.

    De VF is gekoppeld aan de opgegeven VM voordat het overliggende stuurprogramma de OID_NIC_SWITCH_CREATE_SWITCH aanvraag uitgeeft.

  • Het lid NicName moet worden ingesteld op de identifier van de netwerkadapter van de virtuele machine (VM). Deze virtuele adapter wordt weergegeven in het gastbesturingssysteem dat draait op de virtuele machine. Het PF-minipoortstuurprogramma gebruikt dit lid alleen voor informatieve doeleinden.

    Wanneer resources worden toegewezen voor de VF en deze is gekoppeld aan de child-partitie, wordt een VF-netwerkadapter zichtbaar in het gastbesturingssysteem. De VM-netwerkadapter werkt samen met de VF-netwerkadapter voor pakketoverdracht via het hardwarematige VF-gegevenspad.

    De VF kan echter worden losgekoppeld van de kinderpartitie, zoals tijdens Livemigratie. Wanneer dit gebeurt, vindt de pakketoverdracht plaats via het op software gebaseerde synthetische gegevenspad. Zie SR-IOV Gegevenspadenvoor meer informatie over deze gegevenspaden.

  • De PermanentMacAddress- en CurrentMacAddress--leden moeten zijn ingesteld op de MAC-adressen (Media Access Control) voor de virtuele netwerkadapter van de VF. Deze adressen worden blootgesteld aan de netwerkstack die wordt uitgevoerd in het gastbesturingssysteem van de Hyper-V onderliggende partitie.

Het overliggende stuurprogramma geeft de aanvraag van de OID-methode van OID_NIC_SWITCH_ALLOCATE_VF door de volgende stappen uit te voeren:

  1. Het overliggende stuurprogramma initialiseert een NDIS_OID_REQUEST structuur voor de aanvraag van de OID-methode. Het stuurprogramma stelt het InformationBuffer lid in op een aanwijzer naar een geïnitialiseerde NDIS_NIC_SWITCH_VF_PARAMETERS structuur.

  2. Het overliggende stuurprogramma roept NdisOidRequest aan om de OID-aanvraag uit te geven aan het onderliggende PF-minipoortstuurprogramma.

    Opmerking Wanneer het overliggende stuurprogramma NdisOidRequestaanroept, onderschept NDIS de OID-aanvraag en controleert de VF-parameters die zijn opgegeven in de NDIS_NIC_SWITCH_VF_PARAMETERS structuur. Als de parameters zijn geverifieerd, stuurt NDIS de OID door naar het PF-minipoortstuurprogramma. Anders mislukt NDIS de OID-aanvraag met NDIS_STATUS_INVALID_PARAMETER.

Nadat een overliggend stuurprogramma resourcetoewijzing voor een VF aanvraagt, is dat stuurprogramma het enige onderdeel dat het vrijmaken van de resources voor dezelfde VF kan aanvragen. Het overliggende stuurprogramma moet een OID-setaanvraag van OID_NIC_SWITCH_FREE_VF uitgeven om de VF-resources vrij te maken. Voordat het overliggende stuurprogramma kan worden gestopt, moet het de resources vrijmaken voor elke VF die is toegewezen door de OID_NIC_SWITCH_ALLOCATE_VF aanvraag van het stuurprogramma.