Compartilhar via


Alocando VPorts para VMMQ

O NDIS aloca VPorts quando a funcionalidade VMMQ (Máquina Virtual Várias Filas) está presente da seguinte maneira.

O NDIS cria um VPort não padrão no adaptador de miniporta emitindo o OID_NIC_SWITCH_CREATE_VPORT solicitação OID. Ao criar um VPort de função física RSS (PF), o NDIS inicializará a estrutura NDIS_NIC_SWITCH_VPORT_PARAMETERS da seguinte maneira:

  • O NDIS define o campo AttachedFunctionId como NDIS_PF_FUNCTION_ID.

  • Se o VMMQ estiver habilitado, o NDIS definirá o campo NumQueuePairs como o número de pares de fila do VMMQ que devem ser usados para esse VPort. Esse número inclui o processador RSS padrão para este VPort. É garantido que o número total de processadores não excederá esse número. Se o VMMQ estiver desabilitado, o NDIS definirá esse valor como um.

  • Se o VMMQ estiver habilitado, o campo ProcessorAffinity definirá uma máscara de bits dos processadores RSS potenciais que o adaptador de miniporto deve usar para este VPort. Os processadores que a pilha de rede usou para preencher as entradas da tabela de indireção para o VPort são um subconjunto dos processadores que essa máscara de bits identifica. A máscara será um subconjunto dos processadores RSS retornados da chamada para NdisGetRssProcessorInformation e o número de bits definidos pode exceder o número de filas RSS solicitadas para o VPort. Se o VMMQ estiver desabilitado, o adaptador de miniporto deverá usar o número de processador mais baixo especificado nessa máscara de bits ao definir a afinidade da fila do VPort.

  • O NDIS define o sinalizador NDIS_NIC_SWITCH_VPORT_PARAMS_NUM_QUEUE_PAIRS_CHANGED para indicar que o membro NumQueuePairs foi atualizado após a criação do VPort. Quando o VMMQ está habilitado, o número de filas para VPorts padrão e não padrão pode ser atualizado.