De OID_NIC_SWITCH_CREATE_SWITCH-aanvraag verwerken
NDIS geeft een methodeaanvraag voor een Object-ID (OID) uit met OID_NIC_SWITCH_CREATE_SWITCH om het volgende te doen:
Schakel een NIC-switch in op een netwerkadapter die statisch is gecreƫerd door het miniportstuurprogramma voor de fysieke functie (PF) van PCI Express (PCIe). De PF is een hardwarecomponent van de netwerkadapter die ondersteuning biedt voor single root I/O-virtualisatie (SR-IOV).
Een NIC-switch wordt statisch aangemaakt door het PF-minipoortstuurprogramma binnen de context van de aanroep naar MiniportInitializeEx. Het stuurprogramma wijst de resources toe en maakt de switch op basis van parameters die worden gelezen uit registerinstellingen.
Maak dynamisch een NIC-switch op een netwerkadapter.
Als het PF-minipoortstuurprogramma geen ondersteuning biedt voor het maken van statische NIC-switch, wijst het minipoortstuurprogramma de resources toe en maakt het de switch op basis van parameters die zijn opgegeven in de OID-aanvraag.
Het PF-minipoortstuurprogramma kondigt de ondersteuning van de SR-IOV-interface aan wanneer NDIS de MiniportInitializeEx functie aanroept. Als het PF-minipoortstuurprogramma SR-IOV ondersteunt, leest NDIS de configuratie van de NIC-switch uit het register. Voordat NDIS een OID-methodeaanvraag van OID_NIC_SWITCH_CREATE_SWITCH aan het PF-minipoortstuurprogramma uitgeeft, formatteert NDIS een NDIS_NIC_SWITCH_PARAMETERS structuur met de registergegevens op de volgende manier:
NDIS stelt het SwitchType lid in op het type NIC-switch.
Vanaf Windows Server 2012 ondersteunt Windows alleen een switchtype van NdisNicSwitchTypeExternal. Een externe switch geeft aan dat de virtuele poorten (VPorts) die zijn verbonden met dit type switch, toegang hebben tot het externe netwerk via de fysieke poort op de netwerkadapter.
Zie SR-IOV Architecturevoor meer informatie over de NIC-switch.
NDIS stelt de SwitchId lid in op een id-waarde voor de NIC-switch. De switch-id is een geheel getal tussen nul en het aantal switches dat de netwerkadapter ondersteunt. Een NDIS_DEFAULT_SWITCH_ID-waarde geeft de standaard-NIC-switch aan.
Opmerking Vanaf Windows Server 2012 ondersteunt de SR-IOV-interface alleen de standaard-NIC-switch op de netwerkadapter.
NDIS stelt het -lid NumVFs in, dat het aantal PCIe Virtual Functions (VFs) opgeeft dat kan worden toegewezen op de NIC-switch.
Wanneer het de OID-methodeaanvraag van OID_NIC_SWITCH_CREATE_SWITCHontvangt, moet het PF-minipoortstuurprogramma het volgende doen:
Als het PF-minipoortstuurprogramma ondersteuning biedt voor het maken en configureren van statische switch, wordt de NIC-switch gemaakt wanneer NDIS MiniportInitializeExaanroept. Wanneer het stuurprogramma deze OID-aanvraag verwerkt, moet deze de configuratieparameters in de NDIS_NIC_SWITCH_PARAMETERS structuur controleren. De parameters moeten hetzelfde zijn als de parameters die door het stuurprogramma worden gebruikt om de schakeloptie te maken tijdens de aanroep naar MiniportInitializeEx. Als dit niet waar is, moet het stuurprogramma de OID-aanvraag weigeren.
Zie Statische creatie van een NIC-switchvoor meer informatie.
Als het PF-minipoortstuurprogramma ondersteuning biedt voor het maken en configureren van dynamische switches, moet het stuurprogramma de configuratiewaarden van de NDIS_NIC_SWITCH_PARAMETERS structuur valideren en de NIC-switch maken op basis van deze waarden.
Zie Dynamische creatie van een NIC-switchvoor meer informatie.
Het PF-minipoortstuurprogramma moet de benodigde hardware- en softwarebronnen toewijzen voor de standaard-VPort op de NIC-switch.
Opmerking De standaard-VPort wordt altijd gemaakt via een OID-aanvraag van OID_NIC_SWITCH_CREATE_SWITCH en verwijderd via een OID-aanvraag van OID_NIC_SWITCH_DELETE_SWITCH. OID-aanvragen van OID_NIC_SWITCH_CREATE_VPORT en OID_NIC_SWITCH_DELETE_VPORT worden gebruikt voor het maken en verwijderen van niet-standaard-VPorts op de NIC-switch.
Het PF-minipoortstuurprogramma dat ondersteuning biedt voor het maken en configureren van dynamische switches, moet SR-IOV virtualisatie op de switch inschakelen door NdisMEnableVirtualization-aan te roepen. Met deze aanroep configureert u het NumVFs lid en de VF Enable bit in de SR-IOV Extended Capability Structure van de PCI Express-configuratieruimte (PCIe) van de adapter.
Voor meer informatie over de SR-IOV configuratieruimte, zie de Single Root I/O-virtualisatie en delen 1.1 specificatie PCI-SIG.
Opmerking Als het PF-minipoortstuurprogramma ondersteuning biedt voor het maken van statische switch, wordt SR-IOV virtualisatie ingeschakeld nadat de switch is gemaakt wanneer MiniportInitializeEx wordt aangeroepen.
Als het PF-minipoortstuurprogramma de OID-methodeaanvraag voor OID_NIC_SWITCH_CREATE_SWITCH heeft voltooid, kan het volgende gebeuren:
VFs kunnen gealloceerd worden op de NIC-switch via OID-methodeaanvragen van OID_NIC_SWITCH_ALLOCATE_VF.
Niet-standaard-VPorts kunnen worden gemaakt op de NIC-switch via OID-methodeaanvragen van OID_NIC_SWITCH_CREATE_VPORT.
Het minipoortstuurprogramma is verantwoordelijk voor het beheren van de pool van niet-standaard-VPorts. Het stuurprogramma geeft het aantal niet-standaard-VPorts in de groep op via de NumVPorts lid van de NDIS_NIC_SWITCH_INFO-structuur. Het stuurprogramma retourneert deze structuur via een OID-aanvraag van OID_NIC_SWITCH_ENUM_SWITCHES.
Opmerking De netwerkadapter moet altijd een standaard-VPort uit zijn pool voor de PF maken.