QemuモニターによるNICの削除

QemuモニターによるNICの削除

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"

しかし、実行後:

(qemu) netdev_del idU3WwDX 
netdev_del idU3WwDX
(qemu) device_del idRygZ1D 
device_del idRygZ1D

デバイスはまだpciとネットワーク情報とlspci内部ゲストに表示されます。奇妙なことに、netdev_delwhileへの後続の呼び出しはdevice_del成功しますが、顕著な効果はありません。

(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

何か間違っていると思います。デバイステーブルからNICを削除する正しい方法は何ですか?

編集する:の沈黙はdevice_delおそらく関係がないでしょう。そのハンドラが指定されqmp_device_del()たIDをデバイスに一致させることができない場合、メッセージをエクスポートせずにデバイスは qmp_netdev_del()それを行うためです。

編集2:ゲストはnetlinkを介して同様のイベントをRTM_NEWLINK受け取ります。そのデバイスはPCIデバイスのリストに残ります。netdev_del $NETIDset_link $NETID off

関連情報