Compartilhar via


Processamento de envio e recebimento do VMMQ

O VMMQ (Virtual Machine Multiple Queues) distribui com eficiência o tráfego de rede para VPorts de PF (portas virtuais de função física) usando o processamento RSS. Para obter mais informações sobre a interface SR-IOV (virtualização de E/S de raiz única) e seus componentes, consulte Arquitetura SR-IOV.

A figura a seguir mostra o caminho de recebimento do pacote de rede dentro da interface do VMMQ.

diagrama ilustrando caminhos de dados de pacotes de rede com vmmq.

No caminho de recebimento, quando um pacote chega a uma NIC que dá suporte ao VMMQ, a NIC:

  1. Corresponde ao endereço MAC de destino para localizar o VPort de destino.

  2. Usa os parâmetros RSS do VPort (a chave secreta, a função de hash e o tipo de hash) para calcular o valor de hash RSS do pacote.

  3. Usa o valor de hash para indexar a tabela de indireção associada ao VPort. Os valores na tabela de indireção são usados para atribuir os dados recebidos a um processador.

  4. Interrompe o processador de destino e o pacote recebido é indicado para a pilha de rede do host.

Ao indicar um NBL recebido, o adaptador de miniporto define os campos OOB (fora de banda) relacionados à ID do VPort e ao RSS para os valores apropriados.

No caminho de transmissão, a NIC deve usar o valor de hash RSS no pacote (se presente) como um índice na tabela de indireção RSS para o VPort. A NIC usa esse valor de tabela de indireção para determinar o processador que manipula as interrupções completas de transmissão e os DPCs para o pacote.

Se a NIC não puder calcular o valor de hash RSS de um pacote recebido ou o valor de hash RSS não estiver presente em um pacote de transmissão, ele deverá usar o processador RSS padrão do VPort como o processador RSS de destino. O processador RSS padrão para um VPort será especificado nos parâmetros RSS para o VPort. Para obter mais informações, consulte Habilitar, desabilitar e atualizar o VMMQ em um VPort.

A pilha de rede do host pode atualizar os parâmetros RSS de um VPort dinamicamente em runtime. A NIC deve responder às alterações nos parâmetros RSS de um VPort com interrupção mínima no tráfego de e para o VPort.