Partager via


structure NDIS_NIC_SWITCH_CAPABILITIES (ntddndis.h)

La structure NDIS_NIC_SWITCH_CAPABILITIES spécifie les fonctionnalités d’un commutateur de carte réseau sur la carte réseau.

Syntaxe

typedef struct _NDIS_NIC_SWITCH_CAPABILITIES {
  NDIS_OBJECT_HEADER Header;
  ULONG              Flags;
  ULONG              NdisReserved1;
  ULONG              NumTotalMacAddresses;
  ULONG              NumMacAddressesPerPort;
  ULONG              NumVlansPerPort;
  ULONG              NdisReserved2;
  ULONG              NdisReserved3;
  ULONG              NicSwitchCapabilities;
  ULONG              MaxNumSwitches;
  ULONG              MaxNumVPorts;
  ULONG              NdisReserved4;
  ULONG              MaxNumVFs;
  ULONG              MaxNumQueuePairs;
  ULONG              NdisReserved5;
  ULONG              NdisReserved6;
  ULONG              NdisReserved7;
  ULONG              MaxNumQueuePairsPerNonDefaultVPort;
  ULONG              NdisReserved8;
  ULONG              NdisReserved9;
  ULONG              NdisReserved10;
  ULONG              NdisReserved11;
  ULONG              NdisReserved12;
  ULONG              MaxNumMacAddresses;
  ULONG              NdisReserved13;
  ULONG              NdisReserved14;
  ULONG              NdisReserved15;
  ULONG              NdisReserved16;
  ULONG              NdisReserved17;
  ULONG              MaxNumRssCapableNonDefaultPFVPorts;
  ULONG              NumberOfIndirectionTableEntriesForDefaultVPort;
  ULONG              NumberOfIndirectionTableEntriesPerNonDefaultPFVPort;
  ULONG              MaxNumQueuePairsForDefaultVPort;
} NDIS_NIC_SWITCH_CAPABILITIES, *PNDIS_NIC_SWITCH_CAPABILITIES;

Membres

Header

Type, révision et taille de la structure NDIS_NIC_SWITCH_CAPABILITIES . Ce membre est mis en forme en tant que structure NDIS_OBJECT_HEADER .

Le pilote miniport doit définir le membre Type de l’en-tête sur NDIS_OBJECT_TYPE_DEFAULT. Pour spécifier la version de la structure NDIS_NIC_SWITCH_CAPABILITIES , le pilote doit définir le membre Révision de l’en-tête sur l’une des valeurs suivantes :

NDIS_NIC_SWITCH_CAPABILITIES_REVISION_3

Ajout des membres de l’interface RSS pour NDIS 6.60.

Note La révision 3 de cette structure est prise en charge uniquement sur les versions Windows Server 2016 et ultérieures de Windows Server.

 

Définissez le membre Size sur NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_3.

NDIS_NIC_SWITCH_CAPABILITIES_REVISION_2

Ajout des membres d’interface de virtualisation d’E/S racine (SR-IOV) pour NDIS 6.30.

Note La révision 2 de cette structure est prise en charge uniquement sur les versions Windows Server 2012 et ultérieures de Windows Server.

 

Définissez le membre Size sur NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_2.

NDIS_NIC_SWITCH_CAPABILITIES_REVISION_1

Version d’origine pour NDIS 6.20.

Définissez le membre Size sur NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_1.

Flags

Valeur ULONG qui contient un OR au niveau du bit d’indicateurs. Ce membre est réservé à NDIS.

NdisReserved1

Réservé à NDIS.

NumTotalMacAddresses

Valeur ULONG qui contient le nombre total d’adresses MAC (Media Access Control) que la carte réseau prend en charge.

Note Les pilotes doivent définir ce membre sur zéro pour les révisions 2 et ultérieures de cette structure.
 

NumMacAddressesPerPort

Valeur ULONG qui contient le nombre d’adresses MAC prises en charge pour chaque port.

Note Les pilotes doivent définir ce membre sur zéro pour les révisions 2 et ultérieures de cette structure.
 

NumVlansPerPort

Valeur ULONG qui contient le nombre de réseaux locaux virtuels pris en charge pour chaque port.

Note Les pilotes doivent définir ce membre sur zéro pour les révisions 2 et ultérieures de cette structure.
 

NdisReserved2

Réservé à NDIS.

NdisReserved3

Réservé à NDIS.

NicSwitchCapabilities

Valeur ULONG qui contient un OR au niveau du bit des indicateurs suivants qui spécifient les fonctionnalités du commutateur de carte réseau :

NDIS_NIC_SWITCH_CAPS_RSS_ON_PF_VPORTS_SUPPORTED

Note Cet indicateur est pris en charge dans Windows Server 2016 et versions ultérieures. Il a été introduit dans NDIS 6.60.

Spécifie que la carte réseau prend en charge VMMQ pour PF VPorts.

NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_INDIRECTION_TABLE_SUPPORTED

Note Cet indicateur est pris en charge dans Windows Server 2016 et versions ultérieures. Il a été introduit dans NDIS 6.60.

Si la valeur est 1, spécifie que la carte réseau est en mesure de gérer les tables d’indirection VPort par pf.

NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_FUNCTION_SUPPORTED

Note Cet indicateur est pris en charge dans Windows Server 2016 et versions ultérieures. Il a été introduit dans NDIS 6.60.

Si la valeur est 1, spécifie que la carte réseau prend en charge la définition d’une autre fonction de hachage par VPort PF. Si cet indicateur est défini, NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_KEY_SUPPORTED doit également être défini.

NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_TYPE_SUPPORTED

Note Cet indicateur est pris en charge dans Windows Server 2016 et versions ultérieures. Il a été introduit dans NDIS 6.60.

Si la valeur est 1, spécifie que la carte réseau prend en charge la définition de différents types de hachage par pf VPort.

NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_KEY_SUPPORTED

Note Cet indicateur est pris en charge dans Windows Server 2016 et versions ultérieures. Il a été introduit dans NDIS 6.60.

Si la valeur est 1, spécifie que la carte réseau prend en charge la définition d’une clé secrète de hachage différente par pf VPort. Cet indicateur doit être défini si NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_FUNCTION_SUPPORTED est défini.

NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_INDIRECTION_TABLE_SIZE_RESTRICTED

Note Cet indicateur est pris en charge dans Windows Server 2016 et versions ultérieures. Il a été introduit dans NDIS 6.60.

Si la valeur est 1, spécifie que la carte réseau a une limitation sur la taille de la table d’indirection pour les VPorts PF. Cet indicateur force l’émetteur d’un OID RSS à utiliser une taille de table d’indirection VPort par PF égale au nombre de files d’attente VPort arrondies à la puissance suivante de deux. Cela s’applique uniquement aux VPorts PF et ne s’applique pas aux VPorts VF. Cet indicateur peut être combiné avec l’indicateur NDIS_NIC_SWITCH_CAPS_ASYMMETRIC_QUEUE_PAIRS_FOR_NONDEFAULT_VPORT_SUPPORTED (différents VPorts PF peuvent avoir différents nombres de files d’attente). Cet indicateur empêche les utilisateurs VMMQ d’effectuer une direction de file d’attente affinée.

NDIS_NIC_SWITCH_CAPS_NIC_SWITCH_WITHOUT_IOV_SUPPORTED

Note Cet indicateur est pris en charge dans Windows Server 2016 et versions ultérieures.

Cet indicateur, introduit avec NDIS 6.60, spécifie qu’un commutateur de carte réseau peut être créé sans utiliser SR-IOV. Cet indicateur permet de séparer un commutateur de carte réseau du mot clé *SRIOV, ce qui signifie qu’un commutateur de carte réseau peut être créé via OID_NIC_SWITCH_CREATE_SWITCH même si *SRIOV = 0.

Pour plus d’informations sur la création de rapports sur les fonctionnalités de commutateur de carte réseau pour les pilotes miniportS NDIS 6.60 et versions ultérieures, consultez Détermination des fonctionnalités de commutateur de carte réseau.

NDIS_NIC_SWITCH_CAPS_VLAN_SUPPORTED

Cet indicateur spécifie que le commutateur de carte réseau prend en charge le filtrage de paquets matériels en fonction de l’identificateur (ID) du réseau local virtuel (VLAN).

Note Cet indicateur doit être défini uniquement si le commutateur de carte réseau prend en charge le filtrage de l’ID VLAN sur des ports virtuels SR-IOV individuels.
 

NDIS_NIC_SWITCH_CAPS_PER_VPORT_INTERRUPT_MODERATION_SUPPORTED

Cet indicateur spécifie que le commutateur de carte réseau peut prendre en charge la configuration de modération des interruptions sur des VPorts individuels.

NDIS_NIC_SWITCH_CAPS_ASYMMETRIC_QUEUE_PAIRS_FOR_NONDEFAULT_VPORT_SUPPORTED

Cet indicateur spécifie que le commutateur de carte réseau peut configurer un nombre différent de paires de files d’attente pour chaque VPort non par défaut. Cela signifie que chaque VPort non par défaut peut être configuré de manière asymétrique pour avoir un nombre différent de paires de file d’attente.

Si cet indicateur n’est pas défini, tous les VPorts non par défaut doivent être configurés symétriquement pour avoir le même nombre de paires de files d’attente.

Que cet indicateur soit défini ou non, le commutateur de carte réseau doit prendre en charge la possibilité de définir le nombre de paires de files d’attente sur le VPort par défaut. Celles-ci peuvent différer du nombre de paires de files d’attente définies sur les VPorts non par défaut.

Note Une paire de files d’attente se compose d’une file d’attente de transmission et d’une file d’attente de réception. Les paires de files d’attente associées au VPort par défaut sont configurées au moment de la création du commutateur via une demande de méthode OID de OID_NIC_SWITCH_CREATE_SWITCH. Une ou plusieurs paires de files d’attente sont configurées sur un VPort non par défaut via une demande de méthode OID de OID_NIC_SWITCH_CREATE_VPORT.
 
Pour plus d’informations, consultez Attribution symétrique et asymétrique de paires de files d’attente.

NDIS_NIC_SWITCH_CAPS_VF_RSS_SUPPORTED

Cet indicateur spécifie que les paires de files d’attente provenant de VPorts non par défaut attachées à une fonction virtuelle (VF) PCI Express (PCIe) peuvent être utilisées pour la mise à l’échelle côté réception (RSS). Le pilote miniport VF s’exécute dans le système d’exploitation invité d’une partition enfant Hyper-V.

Si cet indicateur est défini, le pilote miniport prend en charge RSS sur une VF et peut utiliser une ou plusieurs des paires de file d’attente du VPort non par défaut pour RSS.

Note À compter de Windows Server 2012, un seul VPort non par défaut peut être attaché à une VF.
 

NDIS_NIC_SWITCH_CAPS_SINGLE_VPORT_POOL

Cet indicateur spécifie que les VPorts non par défaut peuvent être créés de manière non réservée à partir du pool VPort sur la carte réseau. Cela permet de créer et d’affecter des VPorts non par défaut disponibles en fonction des besoins au PF et aux machines virtuelles allouées. Si la carte réseau prend en charge l’interface de file d’attente de machines virtuelles (VMQ), les VPorts non par défaut qui sont affectés au PF peuvent également être utilisés pour les files d’attente de réception de machines virtuelles.

Note Le VPort par défaut est toujours réservé à l’affectation au pf.
 
Si cet indicateur est défini, les VPorts non par défaut disponibles sont créés et attribués aux machines virtuelles pf et allouées. Toutefois, ce mécanisme ne réserve pas les VPorts non par défaut pour la création et l’affectation de VF. Par conséquent, des situations peuvent se produire où une VF peut ne pas se voir attribuer de VPort si le pool a été épuisé de VPorts disponibles.
Note Si une VF ne peut pas se voir attribuer un VPort, le trafic de paquets sur la VF se produit sur le chemin de données synthétiques SR-IOV. Pour plus d’informations sur ce chemin de données, consultez Chemins de données SR-IOV.
 
Si cet indicateur n’est pas défini, la création et l’affectation de VPorts non par défaut sont réservées à l’affectation VF. Des VPorts non par défaut supplémentaires peuvent être créés et affectés au PF.

Pour plus d’informations sur VMQ, consultez File d’attente de machines virtuelles (VMQ).

Pour plus d’informations sur les ports virtuels, consultez Gestion des ports virtuels.

MaxNumSwitches

Valeur ULONG qui spécifie le nombre maximal de commutateurs pouvant être créés sur la fonction physique (PF) PCI Express (PCIe) de la carte réseau.

Note À compter de Windows Server 2012, Windows prend uniquement en charge le commutateur de carte réseau par défaut sur la carte réseau. Par conséquent, ce membre doit toujours être défini sur un.
 

MaxNumVPorts

Valeur ULONG qui spécifie le nombre maximal de VPorts pouvant être créés sur une carte réseau. Cela inclut le VPort par défaut qui est toujours attaché au PF.

Note Le commutateur de carte réseau doit prendre en charge au moins (MaxNumVFs + 1) VPorts.
 

NdisReserved4

Réservé à NDIS.

MaxNumVFs

Valeur ULONG qui spécifie le nombre maximal de machines virtuelles pouvant être créées sur le commutateur de carte réseau.

Note En fonction des ressources matérielles disponibles sur la carte réseau, le pilote miniport peut définir le membre MaxNumVFs sur une valeur inférieure à sa *NumVFs mot clé. Pour plus d’informations sur cette mot clé, consultez Mots clés INF standardisés pour SR-IOV.
 

MaxNumQueuePairs

Valeur ULONG qui spécifie le nombre maximal de paires de files d’attente qui peuvent être affectées à toutes les VPorts. Cela inclut le VPort par défaut qui est attaché au PF.

Note Cette valeur doit être supérieure ou égale à la valeur de MaxNumVPorts.
 

NdisReserved5

Réservé à NDIS.

NdisReserved6

Réservé à NDIS.

NdisReserved7

Réservé à NDIS.

MaxNumQueuePairsPerNonDefaultVPort

Valeur ULONG qui spécifie le nombre maximal de paires de files d’attente pouvant être affectées à un VPort non par défaut.

Cette valeur est spécifiée dans la valeur 2 et permet une configuration asymétrique et l’affectation de paires de file d’attente à VPorts. Pour plus d’informations, consultez Attribution symétrique et asymétrique de paires de files d’attente.

NdisReserved8

Réservé à NDIS.

NdisReserved9

Réservé à NDIS.

NdisReserved10

Réservé à NDIS.

NdisReserved11

Réservé à NDIS.

NdisReserved12

Réservé à NDIS.

MaxNumMacAddresses

Valeur ULONG qui spécifie le nombre maximal de filtres d’adresse MAC unicast disponibles sur le commutateur de carte réseau.

Note Cette valeur doit être supérieure ou égale à la valeur de MaxNumVPorts. Cela permet à chaque VPort (y compris le VPort par défaut) d’être configuré pour avoir au moins un filtre d’adresse MAC unicast.
 

NdisReserved13

Réservé à NDIS.

NdisReserved14

Réservé à NDIS.

NdisReserved15

Réservé à NDIS.

NdisReserved16

Réservé à NDIS.

NdisReserved17

Réservé à NDIS.

MaxNumRssCapableNonDefaultPFVPorts

Valeur ULONG qui spécifie le nombre maximal de PFVPorts non par défaut compatibles RSS.

NumberOfIndirectionTableEntriesForDefaultVPort

Valeur ULONG qui spécifie le nombre d’entrées de table d’indirection pour le VPort par défaut.

NumberOfIndirectionTableEntriesPerNonDefaultPFVPort

Valeur ULONG qui spécifie le nombre d’entrées de table d’indirection pour chaque PFVPort non par défaut.

MaxNumQueuePairsForDefaultVPort

Valeur ULONG qui spécifie le nombre maximal de paires de file d’attente qui peuvent être affectées au VPort par défaut.

Cette valeur est spécifiée dans la valeur 2 et permet une configuration asymétrique et l’affectation de paires de file d’attente à VPorts. Pour plus d’informations, consultez Attribution symétrique et asymétrique de paires de files d’attente.

Remarques

La structure NDIS_NIC_SWITCH_CAPABILITIES est utilisée dans les membres des structures suivantes :

Requêtes OID de OID_NIC_SWITCH_CURRENT_CAPABILITIES et OID_NIC_SWITCH_HARDWARE_CAPABILITIES retourner une structure NDIS_NIC_SWITCH_CAPABILITIES .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge dans NDIS 6.20 et versions ultérieures.
En-tête ntddndis.h (inclure Ndis.h)

Voir aussi

NDIS_BIND_PARAMETERS

NDIS_FILTER_ATTACH_PARAMETERS

NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES

NDIS_OBJECT_HEADER

OID_NIC_SWITCH_CREATE_VPORT

OID_NIC_SWITCH_CURRENT_CAPABILITIES

OID_NIC_SWITCH_HARDWARE_CAPABILITIES