Emulate unplugging a network cable with qemu-kvm

14,567

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.

Share:
14,567

Related videos on Youtube

derobert
Author by

derobert

Updated on September 18, 2022

Comments

  • derobert
    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
      Admin almost 11 years
      virt-manager is not the best GUI ever made...
    • Admin
      Admin almost 11 years
      @HaukeLaging that is definitely true!
  • Lacek
    Lacek almost 5 years
    The version of virsh I have on my distro is pretty old (1.2.2) and doesn't have the domifaddr command. I had to use domiflist instead.
  • Lucas W
    Lucas W about 3 years
    Do you know if set_link in the qemu console (monitor?) has the same effect as virsh domif-setlink in the other answer?