Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit onderwerp wordt beschreven hoe NDIS en overliggende stuurprogramma's de mogelijkheden van de NIC-switch bepalen van een netwerkadapter die ondersteuning biedt voor één enkele root I/O-virtualisatie (SR-IOV). Dit onderwerp bevat de volgende informatie:
Rapporteren van NIC-schakelcapaciteiten tijdens MiniportInitializeEx
Het uitvoeren van queries op NIC-switchmogelijkheden door bovenliggende stuurprogramma's
Opmerking Alleen het minipoortstuurprogramma voor de fysieke functie van PCI Express (PCIe) van een SR-IOV netwerkadapter kan NIC-switch-mogelijkheden rapporteren. Miniportstuurprogramma's voor PCIe Virtual Functions (VFs) mogen de NIC-switchmogelijkheden van de SR-IOV-adapter niet rapporteren.
Zie NIC-switchesvoor meer informatie over NIC-switches.
NIC-switchmogelijkheden rapporteren tijdens MiniportInitializeEx
Wanneer NDIS de MiniportInitializeEx functie aanroept, levert het stuurprogramma de NIC-switchmogelijkheden als volgt:
De volledige set hardwaremogelijkheden voor een NIC-switch die door de netwerkadapter kan worden ondersteund.
Opmerking Vanaf NDIS 6.30 wordt er slechts één NIC-switch gemaakt op de netwerkadapter. Deze switch staat bekend als de standaard NIC-switch.
De mogelijkheden van de NIC-switch die momenteel zijn ingeschakeld op de netwerkadapter.
Het minipoortstuurprogramma rapporteert de hardwaremogelijkheden van de NIC-switch van de onderliggende netwerkadapter via een NDIS_NIC_SWITCH_CAPABILITIES structuur die op de volgende manier wordt geïnitialiseerd:
Het minipoortstuurprogramma initialiseert het koptitel element. Het stuurprogramma zet het Type-element van Header in als NDIS_OBJECT_TYPE_DEFAULT.
Vanaf NDIS 6.30 stelt het minipoortstuurprogramma de Revision member van Header in op NDIS_NIC_SWITCH_CAPABILITIES_REVISION_2 en de Size member op NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_2.
Het minipoortstuurprogramma stelt de juiste vlaggen in de NicSwitchCapabilities van lid van de NDIS_NIC_SWITCH_CAPABILITIES structuur in overeenstemming met de NIC-switchmogelijkheden van de SR-IOV netwerkadapter. Het minipoortstuurprogramma stelt bijvoorbeeld de NDIS_NIC_SWITCH_CAPS_PER_VPORT_INTERRUPT_MODERATION_SUPPORTED vlag in als de NIC-switch ondersteuning biedt voor onderbrekingsbeheer op elke virtuele poort (VPort) die op de switch is gemaakt.
Het minipoortstuurprogramma stelt de andere leden van de NDIS_NIC_SWITCH_CAPABILITIES-structuur in op het bereik van waarden voor de NIC-switchmogelijkheden van de SR-IOV netwerkadapter. Het minipoortstuurprogramma stelt bijvoorbeeld de MaxNumVFs en MaxNumVPorts leden in op het maximum aantal VFs en VPorts dat de adapter kan ondersteunen.
nl-NL: Opmerking Afhankelijk van de beschikbare hardwarebronnen op de netwerkadapter, kan het minipoortstuurprogramma het MaxNumVFs element instellen op een waarde die kleiner is dan het *NumVFs sleutelwoord. Zie Gestandaardiseerde INF-trefwoorden voor SR-IOV-voor meer informatie over dit trefwoord.
Wanneer NDIS de MiniportInitializeEx functie aanroept, registreert het stuurprogramma de NIC-switchmogelijkheden van de netwerkadapter door de volgende stappen uit te voeren:
Het minipoortstuurprogramma initialiseert een NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES structuur.
Het minipoortstuurprogramma stelt het HardwareNicSwitchCapabilities-element in op een wijzer naar een eerder geïnitialiseerde NDIS_NIC_SWITCH_CAPABILITIES-structuur.
Als de registerinstelling voor de *SRIOV INF-trefwoord een waarde heeft, is de netwerkadapter momenteel ingeschakeld voor het maken en configureren van de NIC-switch. Het minipoortstuurprogramma stelt de CurrentNicSwitchCapabilities leden in op een aanwijzer naar dezelfde NDIS_NIC_SWITCH_CAPABILITIES structuur.
Als de registerinstelling voor de *SRIOV INF-trefwoord een waarde van nul heeft, is de netwerkadapter momenteel niet ingeschakeld voor het maken en configureren van de NIC-switch. Het minipoortstuurprogramma moet de CurrentNicSwitchCapabilities-lid instellen op NULL.
Zie voor meer informatie over het trefwoord *SRIOV INF Gestandaardiseerde INF-trefwoorden voor SR-IOV-.
Het stuurprogramma roept NdisMSetMiniportAttributes aan en stelt de parameter MiniportAttributes in op een aanwijzer naar de NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES-structuur.
Zie Initialiseren van een minipoortadaptervoor meer informatie over het initialisatieproces van de adapter.
Een NIC-switch maken zonder SR-IOV
Miniportstuurprogramma's in NDIS 6.60 en hoger moeten voldoen aan de volgende vereisten voor de co-existentie van een NIC-switch en VMQ-mogelijkheden wanneer SR-IOV niet is ingeschakeld. Wanneer SR-IOV is ingeschakeld, moet het minipoortstuurprogramma voldoen aan de bestaande vereisten in de vorige sectie.
- Het minipoortstuurprogramma maakt zowel de mogelijkheden van de NIC-switch als de VMQ-functionaliteiten bekend.
- De NIC kan schakelen tussen de NIC-switch en de VMQ-modus zonder opnieuw opstarten van de NIC.
- Wanneer de NIC in eerste instantie wordt gestart, kan deze zich in een van beide modi bevinden (ofwel een NIC-switch maken of VMQ-wachtrijen maken).
- Als er een NIC-switch wordt gemaakt, faalt de minipoort bij eventuele latere callbacks voor VMQ-wachtrijtoewijzing.
- Als er eerst een VMQ-wachtrij wordt gemaakt, slaagt het minipoortstuurprogramma in de toewijzing van de VMQ-wachtrij en mislukken de aanroepen voor NIC-switchtoewijzing.
- Wanneer de NIC-switch wordt verwijderd of alle VMQ-wachtrijen worden verwijderd, keert het minipoortstuurprogramma terug naar de oorspronkelijke status en is het gereed om opnieuw naar een van deze modi te gaan.
- Wanneer de NIC in eerste instantie wordt gestart, kan deze zich in een van beide modi bevinden (ofwel een NIC-switch maken of VMQ-wachtrijen maken).
Om aan te geven dat een NIC-switch kan worden gemaakt zonder het gebruik van SR-IOV, stelt het minipoortstuurprogramma de NDIS_NIC_SWITCH_CAPS_NIC_SWITCH_WITHOUT_IOV_SUPPORTED vlag in in de NicSwitchCapabilities lidmaatschap van de NDIS_NIC_SWITCH_CAPABILITIES structuur.
Het opvragen van NIC-switchmogelijkheden door overstijgende stuurprogramma's
NDIS geeft de momenteel ingeschakelde NIC-switchmogelijkheden van de netwerkadapter door aan stuurprogramma's die op de volgende manier verbinding maken met de netwerkadapter:
Wanneer NDIS de filterattach functie aanroept van een overliggend filterstuurprogramma, geeft NDIS de NIC-switchmogelijkheden van de netwerkadapter door via de parameter AttachParameters. Deze parameter bevat een aanwijzer naar een NDIS_FILTER_ATTACH_PARAMETERS structuur. De NicSwitchCapabilities onderdeel van deze structuur bevat een aanwijzer naar een NDIS_NIC_SWITCH_CAPABILITIES structuur.
Wanneer NDIS de ProtocolBindAdapterEx--functie van het bovenliggende protocolstuurprogramma aanroept, geeft NDIS de NIC-schakelmogelijkheden van de netwerkadapter door via de parameter BindParameters. Deze parameter bevat een aanwijzer naar een NDIS_FILTER_ATTACH_PARAMETERS structuur. De NicSwitchCapabilities onderdeel van deze structuur bevat een aanwijzer naar een NDIS_NIC_SWITCH_CAPABILITIES structuur.
NDIS retourneert ook de NDIS_NIC_SWITCH_CAPABILITIES structuur wanneer deze object-id-queryaanvragen (OID) verwerkt van OID_NIC_SWITCH_HARDWARE_CAPABILITIES en OID_NIC_SWITCH_CURRENT_CAPABILITIES die worden uitgegeven door overliggende protocol- of filterstuurprogramma's.