Emulate unplugging a network cable with qemu-kvm
Solution 1
You can do that in the console with:
virsh domif-setlink domain interface-device state
And check its status with:
virsh domifstat domain interface-device
You can see the network interfaces configured with:
virsh domifaddr domain
Have a look at the man page for details.
Here's an example of a typical workflow:
$ sudo virsh list
Id Name State
----------------------------------------------------
24 ubuntu17.10 running
$ sudo virsh domifaddr ubuntu17.10
Name MAC address Protocol Address
-------------------------------------------------------------------------------
vnet0 52:54:00:d0:76:cb ipv4 192.168.122.183/24
$ sudo virsh domif-getlink ubuntu17.10 vnet0
vnet0 up
$ sudo virsh domif-setlink ubuntu17.10 vnet0 down
Device updated successfully
$ sudo virsh domif-getlink ubuntu17.10 vnet0
vnet0 down
$ sudo virsh domif-setlink ubuntu17.10 vnet0 up
Device updated successfully
$ sudo virsh domif-getlink ubuntu17.10 vnet0
vnet0 up
Solution 2
Based on the advice at https://lists.gnu.org/archive/html/qemu-discuss/2017-01/msg00103.html, you can plug/unplug a cable in the qemu console using set_link <name> on|off
.
info network
shows you the available network links.
Related videos on Youtube
derobert
Updated on September 18, 2022Comments
-
derobert over 1 year
[Background: I'd like to actually test How to take down a static network interface when not connected? ]
I'm setting up a QEMU-KVM virtual machine using libvirt (via
virt-manager
). I put two NICs on it (both virtio). They are bridged to a physical NIC on the host.I want to test what NetworkManager does when I "unplug" one. But there isn't button/checkbox for that in virt-manager, nor a quick Google search turn up anything.
How do I emulate unplugging the network cable?
-
Admin almost 11 yearsvirt-manager is not the best GUI ever made...
-
Admin almost 11 years@HaukeLaging that is definitely true!
-
-
Lacek almost 5 yearsThe version of virsh I have on my distro is pretty old (1.2.2) and doesn't have the
domifaddr
command. I had to usedomiflist
instead. -
Lucas W about 3 yearsDo you know if
set_link
in the qemu console (monitor?) has the same effect asvirsh domif-setlink
in the other answer?