Gostaria de configurar um único SR-IOV VF em uma interface de rede. Eu o tenho funcionando usando a configuração listada abaixo, no entanto, se eu tentar abrir o VF muito cedo após o PF, recebo um erro porque o VF ainda não está pronto. Eu poderia criar um script de shell para fazer um loop e esperar o VF ficar pronto, no entanto, isso parece um pouco um hack. Existe uma maneira de lidar com essa interdependência de dispositivos de uma forma mais canônica?
Aqui está a configuração do NetworkManager que estou usando:
SR-IOV PV:/etc/NetworkManager/system-connections/sriovPF.nmconnection
[connection]
id=sriovPF
uuid=da82bf14-4af6-4cf6-a091-00d5ea1e73bc
type=ethernet
interface-name=enp216s0f1
[ethernet]
[sriov]
total-vfs=64
vf.0=spoof-check=true vlans=100
[ipv4]
method=disabled
[ipv6]
addr-gen-mode=default
method=disabled
[proxy]
SR-IOV VF:/etc/NetworkManager/system-connections/sriovPFv0.nmconnection
[connection]
id=sriovPFv0
uuid=0f0876aa-0aae-44e3-8360-acfc3ba194ce
type=ethernet
autoconnect=false
interface-name=enp216s0f1v0
[ethernet]
[ipv4]
address1=192.168.2.10/30
method=manual
[ipv6]
addr-gen-mode=default
method=disabled
[proxy]
Se eu tentar abrir o VF muito cedo depois do PF, recebo o seguinte erro:
$ nmcli con up sriovPF
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/14)
$ sudo nmcli con up sriovPFv0
Error: Connection activation failed: No suitable device found for this connection (device br0 not available because profile is not compatible with device (mismatching interface name)).
(wait 1 min)
$ nmcli con up sriovPFv0
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/16)
Este é um erro curioso, pois br0
não tem nada a ver com a interface SR-IOV! Se eu esperar um minuto e tentar novamente, a interface VF aparece sem erro.
Qualquer solução dada não precisa usar o NetworkManager. Eu ficaria feliz em considerar usar outra coisa para configurar a rede (por exemplo, systemd-networkd).