Attribution symétrique et asymétrique de paires de files d’attente

Une paire de files d’attente se compose d’une file d’attente de transmission et de réception distincte sur la carte réseau. Les paires de files d’attente sont configurées sur un port virtuel (VPort) lors de la création du VPort. 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.

Chaque VPort non par défaut peut être configuré pour avoir un nombre différent de paires de file d’attente. C’est ce qu’on appelle l’allocation asymétrique des paires de files d’attente. Si le pilote miniport ne prend pas en charge les allocations asymétriques, chaque VPort non par défaut est configuré pour avoir un nombre égal de paires de file d’attente. C’est ce qu’on appelle l’allocation symétrique des paires de files d’attente.

Le pilote miniport publie ses fonctionnalités de paire VPort et file d’attente pendant MiniportInitializeEx à l’aide d’une structure NDIS_NIC_SWITCH_CAPABILITIES . Le pilote annonce sa prise en charge de l’allocation asymétrique des paires de files d’attente en définissant l’indicateur NDIS_NIC_SWITCH_CAPS_ASYMMETRIC_QUEUE_PAIRS_FOR_NONDEFAULT_VPORT_SUPPORTED dans le membre NicSwitchCapabilities de cette structure.

Si le pilote miniport prend en charge l’allocation de paires de files d’attente asymétriques, la pile de virtualisation configure chaque VPort non par défaut avec un nombre différent de paires de files d’attente. Si le pilote miniport prend en charge l’allocation de paires de files d’attente symétriques, la pile de virtualisation configure chaque VPort avec le même nombre de paires de files d’attente.

Note Un pilote miniport qui prend en charge l’allocation de paires de files d’attente symétriques ou asymétriques sur les VPorts non par défaut doit prendre en charge un nombre différent de paires de files d’attente à allouer sur le VPort par défaut. Le VPort par défaut est toujours attaché au PF de la carte réseau.

La configuration de la paire de files d’attente est spécifiée lorsque le VPort non par défaut est créé ou mis à jour via des requêtes OID de OID_NIC_SWITCH_CREATE_VPORT et OID_NIC_SWITCH_VPORT_PARAMETERS. Les paramètres de configuration sont spécifiés dans une structure NDIS_NIC_SWITCH_VPORT_PARAMETERS associée aux deux requêtes OID.

Par exemple, supposons que le pilote miniport publie la configuration des paires VPorts et file d’attente sur le commutateur de carte réseau en définissant les membres suivants de la structure NDIS_NIC_SWITCH_CAPABILITIES :

  • MaxNumQueuePairs a la valeur 128.

  • MaxNumVPorts est défini sur 64.

  • MaxNumQueuePairsPerNonDefaultPort a la valeur 4.

Si le pilote miniport ne prend pas en charge la configuration asymétrique des paires de files d’attente sur des VPorts non par défaut, la pile de virtualisation peut spécifier la configuration de la paire de files d’attente suivante lors de la création de VPorts :

  • 63 VF non par défaut VF avec deux paires de file d’attente chacune, ainsi que le VPort PF par défaut avec une paire de files d’attente.
  • 31 VF VF non par défaut avec quatre paires de file d’attente chacune, ainsi que le VPort PF par défaut avec une paire de files d’attente.

Note À compter de Windows Server 2012, un seul VPort par défaut est pris en charge et est toujours attaché au PF de la carte réseau.