Asignación simétrica y asimétrica de pares de cola
Un par de colas consta de una cola de transmisión independiente y de recepción en el adaptador de red. Los pares de cola se configuran en un puerto virtual (VPort) cuando se crea el VPort. Los pares de cola asociados con el VPort predeterminado se configuran en el momento de la creación del conmutador a través de una solicitud de método OID de OID_NIC_SWITCH_CREATE_SWITCH. Uno o varios pares de cola se configuran en un VPort no predeterminado a través de una solicitud de método OID de OID_NIC_SWITCH_CREATE_VPORT.
Cada VPort no predeterminado se puede configurar para tener un número diferente de pares de cola. Esto se conoce como asignación asimétrica de pares de cola. Si el controlador de minipuerto no admite asignaciones asimétricas, cada VPort no predeterminado está configurado para tener un número igual de pares de cola. Esto se conoce como asignación simétrica de pares de cola.
El controlador de minipuerto anuncia sus funcionalidades de par VPort y queue durante MiniportInitializeEx mediante una estructura de NDIS_NIC_SWITCH_CAPABILITIES . El controlador anuncia su compatibilidad con la asignación asimétrica de pares de cola estableciendo la marca NDIS_NIC_SWITCH_CAPS_ASYMMETRIC_QUEUE_PAIRS_FOR_NONDEFAULT_VPORT_SUPPORTED en el miembro NicSwitchCapabilities de esta estructura.
Si el controlador de minipuerto admite la asignación de pares de cola asimétrica, la pila de virtualización configura cada VPort no predeterminado con un número diferente de pares de colas. Si el controlador de minipuerto admite la asignación de pares de cola simétrica, la pila de virtualización configura cada VPort con el mismo número de pares de cola.
Nota Un controlador de minipuerto que admita la asignación de pares de cola simétrica o asimétrica en VPorts no predeterminados debe admitir un número diferente de pares de cola que se asignarán en el VPort predeterminado. El VPort predeterminado siempre está conectado al PF del adaptador de red.
La configuración del par de colas se especifica cuando se crea o actualiza el VPort no predeterminado a través de solicitudes de OID de OID_NIC_SWITCH_CREATE_VPORT y OID_NIC_SWITCH_VPORT_PARAMETERS. Los parámetros de configuración se especifican en una estructura de NDIS_NIC_SWITCH_VPORT_PARAMETERS asociada a ambas solicitudes de OID.
Por ejemplo, supongamos que el controlador de minipuerto anuncia la configuración de los pares de VPorts y cola en el conmutador NIC estableciendo los siguientes miembros de la estructura de NDIS_NIC_SWITCH_CAPABILITIES :
MaxNumQueuePairs se establece en 128.
MaxNumVPorts se establece en 64.
MaxNumQueuePairsPerNonDefaultPort se establece en 4.
Si el controlador de minipuerto no admite la configuración asimétrica de pares de cola en VPorts no predeterminados, la pila de virtualización puede especificar la siguiente configuración de par de colas cuando se crean VPorts:
- 63 VPorts no predeterminados de VF con dos pares de cola cada uno, junto con el VPort PF predeterminado con un par de colas.
- 31 VPorts VF no predeterminados con cuatro pares de cola cada uno, junto con el VPort PF predeterminado con un par de colas.
Nota A partir de Windows Server 2012, solo se admite un VPort predeterminado y siempre está conectado al PF del adaptador de red.