Delen via


Wijzigingen in de externe NDIS QoS-parameters aangeven

Het minipoortstuurprogramma dat NDIS Quality of Service (QoS) ondersteunt, geeft een NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE statusindicatie uit wanneer de externe NDIS QoS-parameters voor het eerst van een peer worden ontvangen of later worden gewijzigd. Het minipoortstuurprogramma ontvangt deze QoS-parameters van een externe peer via het IEEE 802.1Qaz Data Center Bridging Exchange-protocol (DCBX).

Het miniportdriver moet de volgende richtlijnen volgen voor het uitgeven van een NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE statusindicatie:

  • Als het minipoortstuurprogramma geen DCBX-frame van een externe peer heeft ontvangen, mag er geen NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE statusindicatie worden uitgegeven.

  • Het minipoortstuurprogramma moet een NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE statusaanduiding geven nadat het de QoS-instellingen voor het eerst van een externe peer heeft ontvangen.

    Opmerking Het minipoortstuurprogramma moet deze statusaanduiding geven als de netwerkadapter externe QoS-parameterinstellingen van een peer ontvangt voordat de lokale QoS-parameters van het stuurprogramma zijn ingesteld. Zie Lokale NDIS-QoS-parameters instellenvoor meer informatie.

  • Na deze initiële statusindicatie mag het minipoortstuurprogramma alleen een NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE statusindicatie uitgeven wanneer een wijziging in de QoS-instellingen op de externe peer wordt bepaald.

    Opmerking Miniport-stuurprogramma's mogen geen NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE statusindicatie geven als er geen wijzigingen zijn aangebracht in de externe NDIS QoS-parameters. Als het stuurprogramma dit type statusindicatie maakt, geeft NDIS de indicatie mogelijk niet door aan overliggende stuurprogramma's.

Opmerking Het minipoortstuurprogramma moet NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE statusindicaties geven als de NDIS QoS-mogelijkheden momenteel zijn ingeschakeld. Vanaf Windows Server 2012 kunnen systeembeheerders NDIS QoS- en DCB-instellingen (Data Center Bridging) bekijken, ongeacht of de Microsoft DCB-serverfunctie is geïnstalleerd.

Richtlijnen voor het afgeven van de NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE statusindicatie

Het miniport driver volgt deze stappen wanneer de NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE statusindicatie wordt uitgegeven:

  1. Het minipoortstuurprogramma wijst een buffer toe die groot genoeg is om het volgende te bevatten:

    • Een NDIS_QOS_PARAMETERS structuur met de NDIS QoS-configuratie-instellingen en globale operationele parameters voor de NDIS QoS-verkeersklassen.

    • Een matrix van NDIS_QOS_CLASSIFICATION_ELEMENT structuren. Elk van deze structuren specificeert een verkeersclassificatie zoals gedefinieerd door een pakketgegevenspatroon (voorwaarde) en het bijbehorende IEEE 802.1p-prioriteitsniveau (actie). Als de netwerkadapter een patroon vindt in het verzend- of uitgaand-pakket dat overeenkomt met een voorwaarde, wijst het de bijbehorende prioriteitsniveau aan het pakket toe. De adapter past ook het andere NDIS QoS-beleid toe op het pakket op basis van het prioriteitsniveau.

  2. De minipoort initialiseert de NDIS_QOS_PARAMETERS structuur met de externe NDIS QoS-parameters. Het stuurprogramma moet de volledige set externe parameters opgeven die zijn ontvangen van het DCBX-frame dat is verzonden door de externe peer.

    Wanneer de miniportstuurprogramma de Header member initialiseert, stelt het de Type member van Header in op NDIS_OBJECT_TYPE_QOS_PARAMETERS. Het miniport driver stelt het Revisie-lid van Header- in op NDIS_QOS_PARAMETERS_REVISION_1 en stelt het Grootte-lid in op NDIS_SIZEOF_QOS_PARAMETERS_REVISION_1.

    Het minipoortstuurprogramma stelt de juiste NDIS_QOS_PARAMETERS_Xxx_CHANGED vlaggen in als de bijbehorende leden gegevens bevatten die zijn gewijzigd sinds het minipoortstuurprogramma eerder een NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE statusindicatie heeft uitgegeven.

    Opmerking Deze NDIS_QOS_PARAMETERS_Xxx_CHANGED vlaggen instellen is optioneel. NDIS gaat er altijd vanuit dat de leden van de NDIS_QOS_PARAMETERS gespecificeerd moeten worden, zelfs als ze niet zijn gewijzigd ten opzichte van de vorige NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE statusindicatie.

    Het minipoortstuurprogramma stelt het Vlaggen lid in om statusinformatie op te geven voor de gegevens die zijn opgenomen in de NDIS_QOS_PARAMETERS structuurleden.

    Het minipoortstuurprogramma stelt bijvoorbeeld de juiste NDIS_QOS_PARAMETERS_Xxx_CHANGED vlaggen in de Vlaggen lid in voor leden die gegevens bevatten die zijn gewijzigd sinds het minipoortstuurprogramma eerder een NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE statusindicatie heeft uitgegeven.

    Voor meer informatie over het instellen van de Flags member, zie Richtlijnen voor het instellen van de Flags member.

  3. Het minipoortstuurprogramma initialiseert een NDIS_QOS_CLASSIFICATION_ELEMENT structuur voor elke verkeersclassificatie van de externe NDIS QoS-parameters. Het stuurprogramma plaatst deze elementen voorbij het einde van de NDIS_QOS_PARAMETERS structuur in de buffer.

    Opmerking Het minipoortstuurprogramma mag de NDIS_QOS_CLASSIFICATION_ENFORCED_BY_MINIPORT-vlag niet instellen in de Vlaggen lid van een van de NDIS_QOS_CLASSIFICATION_ELEMENT structuur.

    Het stuurprogramma stelt het NumClassificationElements lid van het NDIS_QOS_PARAMETERS structuur in op het aantal classificatie-elementen in de matrix. Het stuurprogramma stelt de FirstClassificationElementOffset- lidvariabele in op de byte-offset van het eerste element vanaf het begin van de buffer. Het stuurprogramma stelt ook het ClassificationElementSize lid in op de lengte, in bytes, van elk element in de matrix.

    Opmerking Vanaf NDIS 6.30 moet het minipoortstuurprogramma het ClassificationElementSize lid instellen op sizeof(NDIS_QOS_CLASSIFICATION_ELEMENT).

  4. Het minipoortstuurprogramma initialiseert als volgt een NDIS_STATUS_INDICATION structuur voor de statusindicatie:

    • De StatusCode lid moet worden ingesteld op NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE.

    • De StatusBuffer moet worden ingesteld op de verwijzing naar de buffer die de externe NDIS QoS-parameters bevat.

    • De StatusBufferSize- lid moet worden ingesteld op de lengte, in bytes, van de buffer.

  5. Het minipoortstuurprogramma geeft de statusaanduiding door NdisMIndicateStatusEx-aan te roepen. Het stuurprogramma moet een aanwijzer naar de structuur NDIS_STATUS_INDICATION doorgeven aan de parameter StatusIndication.

Richtlijnen voor het instellen van het Flags-lid

Het minipoortstuurprogramma stelt de volgende vlaggen in het Vlaggen lid van de NDIS_QOS_PARAMETERS structuur om op te geven welke operationele NDIS QoS-parameters op de netwerkadapter zijn geconfigureerd of gewijzigd:

NDIS_QOS_PARAMETERS_ETS_CONFIGURED
Als deze vlag is ingesteld, heeft het minipoortstuurprogramma de netwerkadapter geconfigureerd met de ETS-parameters in de volgende leden:

  • AantalVerkeersKlassen

  • PrioriteitsToewijzingstabel

  • TcBandwidthAssignmentTable

  • TsaAssignmentTable

Opmerking Het minipoortstuurprogramma moet ETS ondersteunen om NDIS QoS voor DCB te ondersteunen. De instelling van deze vlag geeft echter niet op of de netwerkadapter ETS ondersteunt. In plaats daarvan geeft de instelling van deze vlag alleen aan of ETS-parameters zijn geconfigureerd op de netwerkadapter.

NDIS_QOS_PARAMETERS_ETS_CHANGED
Als deze vlag is ingesteld, zijn een of meer ETS-parameters gewijzigd in de volgende leden:

  • AantalVerkeersKlassen

  • Prioriteitstoewijzingstabel

  • TcBandwidthAssignmentTable

  • TsaAssignmentTable

NDIS_QOS_PARAMETERS_PFC_CONFIGURED
Als deze vlag is gezet, heeft het minipoortstuurprogramma de netwerkadapter geconfigureerd met de PFC-instellingen in het PfcEnable element.

Opmerking Het minipoortstuurprogramma moet PFC ondersteunen om NDIS QoS voor DCB te ondersteunen. De instelling van deze vlag geeft niet op of de netwerkadapter PFC ondersteunt. In plaats daarvan geeft de instelling van deze vlag alleen aan of PFC-parameters zijn ingeschakeld op de netwerkadapter.

NDIS_QOS_PARAMETERS_PFC_CHANGED
Als deze vlag is ingesteld, zijn één of meer PFC-instellingen gewijzigd in het PfcEnable veld.

NDIS_QOS_PARAMETERS_CLASSIFICATION_CONFIGURED
Als deze vlag is ingesteld, heeft het minipoortstuurprogramma de netwerkadapter geconfigureerd met de QoS-verkeersclassificatieparameters die zijn opgegeven in de volgende leden:

  • NumClassificationElements

  • ClassificationElementSize

  • FirstClassificationElementOffset

NDIS_QOS_PARAMETERS_CLASSIFICATION_CHANGED
Als deze vlag is ingesteld, zijn een of meer QoS-verkeersclassificatieparameters gewijzigd in de volgende leden:

  • NumClassificationElements

  • ClassificationElementSize

  • FirstClassificationElementOffset

Opmerking De NDIS_QOS_PARAMETERS_Xxx_CONFIGURED-vlaggen moeten worden ingesteld als de NDIS_QOS_PARAMETERS structuur NDIS QoS-parameterinstellingen bevat. Het minipoortstuurprogramma moet deze vlaggen instellen, ongeacht of de instellingen zijn gewijzigd. Het stuurprogramma mag echter alleen de NDIS_QOS_PARAMETERS_Xxx_CHANGED vlaggen instellen voor de instellingen die zijn gewijzigd.

Richtlijnen voor het aangeven van ongeldige externe NDIS QoS-parameters

Het minipoortstuurprogramma moet de externe QoS-parameters ongeldig maken als aan de volgende voorwaarden wordt voldaan:

  • De TTL-waarde (Time-to-Live) verloopt voor de externe QoS-parameters.

    Opmerking DCBX wordt overgedragen over het LLDP-protocol (Link Layer Discovery Protocol), zoals opgegeven in de IEEE 802.1AB-2005-standaard. LLDP-frames bevatten altijd een TTL-veld.

  • Een andere gegevenskoppelingspeer verzendt een DCBX-frame voordat de TTL-waarde verloopt. Dit scenario staat bekend als een multi-peer conditie. DCBX vereist dat het minipoortstuurprogramma slechts één set externe QoS-parameters onderhoudt die zijn ontvangen van één peer voor gegevenskoppelingen.

    Wanneer een multi-peervoorwaarde optreedt, moet het minipoortstuurprogramma alle externe QoS-parameters ongeldig maken totdat de TTL-waarde voor alle ontvangen DCBX-frames verloopt.

Wanneer het minipoortstuurprogramma de externe NDIS QoS-parameters ongeldig maakt, moet het deze stappen uitvoeren wanneer de NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE statusindicatie wordt aangegeven:

  1. Omdat het minipoortstuurprogramma geen geldige externe NDIS QoS-parameters rapporteert, moet het eerst een NDIS_QOS_PARAMETERS structuur vullen met nullen.

    Wanneer het minipoortstuurprogramma de Header lid van deze structuur initialiseert, wordt het Type lid van Header ingesteld op NDIS_OBJECT_TYPE_QOS_PARAMETERS. Het miniport driver stelt het Revisie-lid van Header- in op NDIS_QOS_PARAMETERS_REVISION_1 en stelt het Grootte-lid in op NDIS_SIZEOF_QOS_PARAMETERS_REVISION_1.

    Het minipoortstuurprogramma stelt de juiste NDIS_QOS_PARAMETERS_Xxx_CHANGED vlaggen in het Vlaggen lid.

  2. Het minipoortstuurprogramma initialiseert als volgt een NDIS_STATUS_INDICATION structuur voor de statusindicatie:

    • De StatusCode-member moet worden ingesteld op NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE.

    • De StatusBuffer-lid moet worden ingesteld op het adres van de NDIS_QOS_PARAMETERS-structuur.

    • De StatusBufferSize lid moet zijn ingesteld op sizeof(NDIS_QOS_PARAMETERS).

  3. Het minipoortstuurprogramma geeft de statusaanduiding door NdisMIndicateStatusEx-aan te roepen. Het stuurprogramma moet een aanwijzer naar de structuur NDIS_STATUS_INDICATION doorgeven aan de parameter StatusIndication.