libvirtd[3901]: Cannot create route from netlink message: No such file or directory

Hi,

I keep getting these message and would like to know how I can resolve it:

libvirtd[3901]: Cannot create route from netlink message: No such file or directory
libvirtd[3901]: Cannot create route - destination and gw are both 0/0

Thanks!..

Have not seen those before, personally.

  • Where is this error being reported, and when (eg in the Guest, on the Host, during bootup, during VM creation, attempting network connection, etc)
  • Do you have network connectivity?
  • You may need to post from your Guest
# ip addr
  • You may need to describe your Guest network configuration
  • What virtualization technology are you running (libvirt supports about a dozen different)

TSU

Hi, thanks for your response!

  • Where is this error being reported, and when (eg in the Guest, on the Host, during bootup, during VM creation, attempting network connection, etc)

    • KSystemLog
    • The error occurs when I connect to [localhost (QEMU)] in the VMM. The connection is successful and everything function properly and I’m able to run all Guests.
    • And, so far I’m not aware of anything else not working properly.
  • Do you have network connectivity?

  • Yes

  • You may need to post from your Guest

  • Error ocurs without any Guests running

  • You may need to describe your Guest network configuration

  • Host - OpenSuse 13.1, 192.168.0.2

  • Guest - Windows 8.1, 192.168.0.100

  • Guest - OpenSuse 13.1 Gnome, 192.168.120

  • What virtualization technology are you running (libvirt supports about a dozen different)

  • Kvm

OK,
I see what you’re describing.

In my experience I’ve seen this type of error only twice…

  • The system was not updated after installing libvirt. Run the following to update your system
zypper up

The other time there was a bug. But, unless others are reporting similar experiences, I’d assume is not the case.

HTH,
TSU

I ran the CL but the only thing updated was yast2-inetd-doc…, any other suggestions?

Also, while I have your attention, when I run the VMM from the Application Launch Menu instead of using the Yast Control Center; VMM freezes for a long time when I try to Browse Local from the Locate ISO media volume dialogBox for a .iso when creating a new VM. Through the YCC it open the Locate ISO media dialogBox immediately.

In addition to this; after I select the .iso the localhost (QEMU) disconnects.

OK,
Looks like I misunderstood,
I thought your error was when you attempted to run VMM.
But you seem to be saying that you are able to invoke VMM, and it does load (This requires being able to connect to a properly configured VMM typically running on localhost).

First, need to understand where your libvirt is coming from
Pls post the results of

zypper info libvirt

Also, if you are using any repos besides the OSS

zypper lr -d

A FYI - If updating seems unsatisfactory, you can either remove the packages in question and re-install or force a re-install with the -f option, but this won’t fix your problem if for instance your packages are from the virtualization repo and it’s still enabled, eg

zypper in -f *packages *

You also seem to describe an existing Guest. Where did it come from, did you create it with your current setup (considering the problems you describe to create a Guest) or did it come from somewhere else?

Also a FYI - although the above is most important at the moment, assuming that you’ve installed strictly from the OSS repo (no virtualization repo!), there are actually two apps for creating Guests, virt-install and vm-install. One can be launched from the VMM (click on the button), and other can be launched from the Application Launcher menu.

TSU

I have the same messages “polluting” the logs when going to Virtual Machine Manager and connecting to QEMU, as described in my post here https://forums.opensuse.org/showthread.php/497373-can-t-Open-guests-with-Virtual-Machine-Manager?p=2638873#post2638873. As soon as I disconnect the messages stop.

Output of zypper info libvirt is

# zypper info libvirt
Loading repository data...
Reading installed packages...


Information for package libvirt:
--------------------------------
Repository: openSUSE-13.1-Update
Name: libvirt
Version: 1.1.2-2.18.3
Arch: x86_64
Vendor: openSUSE
Installed: Yes
Status: up-to-date
Installed Size: 106 B
Summary: Library providing a simple virtualization API
Description:
Libvirt is a C toolkit to interact with the virtualization
capabilities of Linux. Virtualization of the Linux Operating System means
the ability to run multiple instances of Operating Systems concurrently
on a single hardware system where the basic resources are driven by a
Linux instance. The library aims to provide long term stable C API
to interact with Linux virtualization technologies.

I had the same problem and finally figured out what the solution is: Go to the Yast → Network Settings → Routing tab. Change the default gateway device from “-” to “br0” (or whatever your bridge name is). Click OK to restart the network – and the error messages will be gone.

BTW, the…

Cannot create route - destination and gw are both 0/0

…message contains a hint that this is what the problem is: the dash or minus sign ("-") in the message seems to indicate that the name of the route or gateway device is “-” rather than being a separator for two parts of the message.

If this problem is as you describe configuring the Guest to point to the correct Linux Bridge Device, then if you’ve setup networking properly using libvirt your network should be named something like

virbr0

Libvirt created Linux Bridge Devices start with “virbr” while conventionally created devices (like using YAST) typically start with “br”

brctl is the command line used to create, remove and display and configure Linux Bridge Devices, in this case you can run the following to view configured devices on your system

brctl show

If you created a device using libvirt, you would run the following command to inspect the device’s configuration

brctl show virbr0

Once created, any Linux Bridge Device can be used by any number of Guests, even different virtualization technologies.

HTH,
TSU

I tried changing the device from “-” to my bridge device. Starting “YaST2 - Network Settings” again, it’s back to “-”. Also entering tge IP address of my router as gateway address then saved the change, but still I get the error message when connecting with the virtual machine manager to the hypervisor. Reading, https://bugzilla.novell.com/show_bug.cgi?id=854165 , I tried downing and uping the bridged device and this got rid of the error message.

However, running rsync from host to guest still stalls after around 5 seconds. Maybe an unrelated problem. Will investigate further in a few days. - JJ

Your rsync issue may be related to how your Host and Guest are communicating.
There are a variety of ways to enable Host/Guest access, besides all the network based solutions(eg network shares based on NFS or SAMBA, iscsi, distributed file systems, etc) you can also share a directory or file system directly using the Plan9 protocol. I created a “How To” specific to openSUSE at the following
https://en.opensuse.org/User:Tsu2/virtfs#Overview

Of course, the above solution removes all normal networking from your scenario. In some ways, this would simplify your solution possibly avoiding overhead and possible latency causing issues.

TSU