NDIS_QOS_SQ_PARAMETERS structure (ntddndis.h)
La structure NDIS_QOS_SQ_PARAMETERS contient les paramètres d’une file d’attente du planificateur de qualité de service (QoS) NDIS.
Syntaxe
typedef struct _NDIS_QOS_SQ_PARAMETERS {
NDIS_OBJECT_HEADER Header;
ULONG Flags;
NDIS_QOS_SQ_ID SqId;
NDIS_QOS_SQ_TYPE SqType;
BOOLEAN TcEnabledTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES];
ULONG TcTransmitBandwidthCapTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES];
ULONG TcTransmitBandwidthReservationTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES];
ULONG TcReceiveBandwidthCapTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES];
ULONG CrossTcTransmitBandwidthCap;
ULONG MaxNumSqInputs;
} NDIS_QOS_SQ_PARAMETERS, *PNDIS_QOS_SQ_PARAMETERS;
Membres
Header
Type, révision et taille de la structure NDIS_QOS_SQ_PARAMETERS . Ce membre est mis en forme en tant que structure NDIS_OBJECT_HEADER .
Le pilote miniport doit définir le membre Type de Header sur NDIS_OBJECT_TYPE_DEFAULT, le membre Revision sur NDIS_QOS_SQ_PARAMETERS_REVISION_2 et le membre Size sur NDIS_SIZEOF_QOS_SQ_PARAMETERS_REVISION_2.
Flags
Valeur ULONG qui contient un OR au niveau du bit d’indicateurs. Ces indicateurs spécifient les diverses fonctionnalités et attributs des fonctionnalités de déchargement de qoS matérielles activées sur le sq. Les indicateurs suivants sont définis :
NDIS_QOS_SQ_TRANSMIT_CAP_ENABLED
Si cet indicateur est défini, les limites de bande passante de transmission sont activées sur ce sq.
NDIS_QOS_SQ_TRANSMIT_RESERVATION_ENABLED
Si cet indicateur est défini, les réservations de bande passante de transmission sont activées sur ce sq.
NDIS_QOS_SQ_RECEIVE_CAP_ENABLED
Si cet indicateur est défini, les limites de bande passante de réception sont activées sur ce sq.
SqId
NDIS_QOS_SQ_ID qui contient l’ID SQ de cette sq. NDIS attribue cet ID.
SqType
Une NDIS_QOS_SQ_TYPE qui contient le type de ce sq. Il peut s’agir de NdisQSQosSqSqSQTypeStandard à partir de la définition d’énumération de NDIS_QOS_SQ_TYPE.
TcEnabledTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]
Tableau de valeurs BOOLEAN qui spécifient si chaque classe de trafic (de 0 à NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES) est activée pour la planification sur ce sq.
Toute classe de trafic (TC) pour laquelle ce champ a la valeur TRUE doit être lue et validée dans les tableaux ci-dessous, et est également limitée par CrossTcTransmitBandwidthCap.
Tout TC pour lequel ce champ a la valeur FALSE ne participe pas à la limitation du débit qoS de CrossTcTransmitBandwidthCap ou des tables par tc ci-dessous.
TcTransmitBandwidthCapTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]
Tableau d’éléments ULONG qui spécifient des limites de bande passante de transmission pour chaque tc, en Mbits/s. Les éléments sont valides uniquement si l’indicateur NDIS_QOS_SQ_TRANSMIT_CAP_ENABLED
est défini et que leur élément correspondant dans TcEnabledTable a la valeur TRUE. Un élément avec la valeur 0 n’a pas de limite.
La carte réseau doit mettre en file d’attente tous les paquets de transmission sur ce sq pour un tc donné s’ils dépassent le taux spécifié dans cette table.
TcTransmitBandwidthReservationTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]
Tableau d’éléments ULONG qui spécifient des réservations de bande passante de transmission pour chaque tc, en valeurs relatives comprises entre 0et ULONG_MAX. Les éléments sont valides uniquement si l’indicateur NDIS_QOS_SQ_TRANSMIT_RESERVATION_ENABLED
est défini et que leur élément correspondant dans TcEnabledTable a la valeur TRUE. Un élément avec la valeur 0 signifie que les paquets de transmission sur ce SQ/TC partagent la réservation SQ par défaut pour ce tc.
La carte réseau doit mettre en file d’attente tous les paquets de transmission sur ce sq pour un TC donné si d’autres LP ont besoin de bande passante pour répondre à leur réservation pour ce tc.
TcReceiveBandwidthCapTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]
Tableau d’éléments ULONG qui spécifient des limites de bande passante de réception pour chaque tc, en Mbits/s. Les éléments sont valides uniquement si l’indicateur NDIS_QOS_SQ_RECEIVE_CAP_ENABLED
est défini et que leur élément correspondant dans TcEnabledTable a la valeur TRUE. Un élément avec la valeur 0 n’a pas de limite.
Il s’agit d’une fonctionnalité facultative pour activer le plafonnement de la bande passante de réception. Les cartes réseau qui publient la prise en charge de la limite de réception doivent supprimer tout paquet de réception après qu’un tc donné sur ce sq ait dépassé le taux spécifié dans ce tableau (en fonction de l’implémentation de planification de la carte réseau).
CrossTcTransmitBandwidthCap
Valeur ULONG qui spécifie la limite de bande passante de transmission pour le trafic entre les TC dont l’élément correspondant dans TcEnabledTable est TRUE, si l’indicateur NDIS_QOS_SQ_TRANSMIT_CAP_ENABLED
est défini.
MaxNumSqInputs
Valeur ULONG qui offre un « indicateur » au miniport sur le nombre probable de vPorts que le système d’exploitation associera à sq. Cette valeur ne peut pas être modifiée après la création de SQ.
Le miniport peut utiliser cet indicateur pour mieux gérer ses ressources. Le miniport fournit le meilleur service possible pour répondre à la demande, mais peut échouer en raison de ressources insuffisantes au moment de la création de SQ ou de l’association vPort.
Le miniport doit retourner une erreur si cette valeur dépasse la valeur MaxNumSQInputs spécifiée par le miniport dans NDIS_QOS_OFFLOAD_CAPABILITIES.
Remarques
La structure NDIS_QOS_SQ_PARAMETERS est retournée dans le OID_QOS_OFFLOAD_ENUM_SQS de requête OID, qui énumère les LQ créés sur un commutateur de carte réseau.
NDIS_QOS_SQ_PARAMETERS est également retourné dans le OID_QOS_OFFLOAD_CREATE_SQ de requête de méthode OID, ce qui crée un nouveau sq sur l’adaptateur miniport.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Pris en charge dans NDIS 6.85 et versions ultérieures. |
Serveur minimal pris en charge | Windows Server 2022 |
En-tête | ntddndis.h (include ndis.h) |