vSphere O suporte a SR-IOV depende da interação entre as funções virtuais (VFs) e a função física (PF) da porta NIC para obter melhor desempenho e a interação entre o driver do PF e o comutador de host para controle de tráfego.

Em um host que executa o tráfego de máquina virtual sobre adaptadores físicos SR-IOV, os adaptadores de máquina virtual entram em contato diretamente com as funções virtuais para comunicar dados. No entanto, a capacidade de configurar redes é baseada nas políticas ativas para a porta que contém as máquinas virtuais.

Em um host ESXi sem SR-IOV, o comutador virtual envia o tráfego de rede externa por meio de suas portas no host do ou para o adaptador físico para o grupo de portas relevante. O comutador virtual também aplica as políticas de rede em pacotes gerenciados.

Figura 1. Caminhos de dados e configuração no suporte a SR-IOV de vSphere

O caminho de dados e o caminho de controle do suporte a SR-IOV em vSphere envolvem componentes diferentes.

O caminho de dados conecta diretamente a máquina virtual à função virtual na NIC. O caminho de controle inclui o comutador virtual e as políticas ativas na máquina virtual.

Caminho de dados no SR-IOV

Depois que o adaptador de rede da máquina virtual é atribuído a uma função virtual, o driver VF no sistema operacional convidado usa a tecnologia de unidade de gerenciamento de memória de E/S (IOMMU) para acessar a função virtual que deve receber ou enviar os dados pela rede. O VMkernel, ou seja, o comutador virtual em particular, não processa o fluxo de dados, o que reduz a latência geral das cargas de trabalho habilitadas para SR-IOV.

Caminho de configuração no SR-IOV

Se o sistema operacional convidado tentar alterar a configuração de um adaptador de máquina virtual mapeado para uma VF, a alteração ocorrerá se for permitido pela política na porta associada ao adaptador de máquina virtual.

O fluxo de trabalho de configuração consiste nas seguintes operações:

  1. O sistema operacional convidado solicita uma alteração de configuração na VF.
  2. A VF encaminha a solicitação para o PF por meio de um mecanismo de caixa de correio.
  3. O driver PF verifica a solicitação de configuração com o comutador virtual (switch padrão ou comutador de proxy do host de um comutador distribuído).
  4. O comutador virtual verifica a solicitação de configuração em relação à política na porta à qual o adaptador de máquina virtual habilitado para VF está associado.
  5. O driver PF configura a VF se as novas configurações estiverem em conformidade com a política de porta do adaptador da máquina virtual.

    Por exemplo, se o driver VF tentar modificar o endereço MAC, o endereço permanecerá o mesmo se a alteração do endereço MAC não for permitida na política de segurança do grupo de portas ou da porta. O sistema operacional convidado pode mostrar que a alteração foi bem-sucedida, mas uma mensagem de log indica que a operação falhou. Como resultado, o sistema operacional convidado e o dispositivo virtual salvam endereços MAC diferentes. A interface de rede no sistema operacional convidado pode não ser capaz de adquirir um endereço IP e se comunicar. Nesse caso, você precisa redefinir a interface no sistema operacional convidado para obter o endereço MAC mais recente do dispositivo virtual e adquirir um endereço IP.