Estou tentando remover este dispositivo de rede de um convidado do Qemu:
(qemu) info network
info network
…
idRygZ1D: index=0,type=nic,model=virtio-net-pci,macaddr=02:00:00:00:20:06
\ idU3WwDX: index=0,type=tap,fd=36
(qemu) info pci
info pci
…
Bus 0, device 7, function 0:
Ethernet controller: PCI device 1af4:1000
IRQ 11.
BAR0: I/O at 0xc0a0 [0xc0bf].
BAR1: 32 bit memory at 0xfebd4000 [0xfebd4fff].
BAR6: 32 bit memory at 0xffffffffffffffff [0x0003fffe].
id "idRygZ1D"
No entanto, após a execução:
(qemu) netdev_del idU3WwDX
netdev_del idU3WwDX
(qemu) device_del idRygZ1D
device_del idRygZ1D
O dispositivo ainda está listado nas informações da PCI e da rede, bem
a partir de lspci
dentro do convidado. Curiosamente, subseqüente
invocações de netdev_del
, enquanto device_del
é bem-sucedido
sem ter um efeito observável:
(qemu) netdev_del idU3WwDX
netdev_del idU3WwDX
Device 'idU3WwDX' not found
(qemu) device_del idRygZ1D
device_del idRygZ1D
(qemu) device_del idRygZ1D
device_del idRygZ1D
Algo não está certo, eu suponho. Qual é a abordagem correta para removendo um NIC da tabela de dispositivos?
EDIT : O silêncio de device_del
é provavelmente irrelevante
porque o manipulador correspondente qmp_device_del()
não
Emitir uma mensagem se não puder combinar o id dado a um dispositivo, que
qmp_netdev_del()
faz.
EDIT 2 : No convidado, recebo um evento RTM_NEWLINK
sobre
netlink para netdev_del $NETID
semelhante a set_link $NETID
off
. Ainda assim, o dispositivo permanece na lista de dispositivos PCI.
Tags qemu