[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Virtual Network API for QEMU



On 3/31/21 10:39 PM, Radek Simko wrote:
Thank you Laine and thanks Michal for the detailed explanation.

To add some (missing) context from my side:

I was attempting to virtualize Raspberry Pi on qemu via libvirt, where my host machine is macOS (both qemu and libvirt installed via Homebrew) and I while trying to set up the network I stumbled upon this:

|$ virsh -c qemu:///system?socket=/usr/local/var/run/libvirt/libvirt-sock net-list --all error: Failed to get the number of active networks error: this function is not supported by the connection driver: virConnectNumOfNetworks|

This error in combination with the compatibility matrix made me think it's just not supported. What is the right way of interpreting this error/state? Does the host OS play a role in the compatibility?

Yes it does.


Are there any known limitations on macOS, or is this likely just a broken/misconfigured installation on my side?

Oh, now I get it. You are not building the network (bridge) driver. And looking into meson.build I can see why:


# there's no use compiling the network driver without the libvirt
# daemon, nor compiling it for macOS, where it breaks the compile
if not get_option('driver_network').disabled() and conf.has('WITH_LIBVIRTD') and host_machine.system() != 'darwin'
  conf.set('WITH_NETWORK', 1)
endif

https://gitlab.com/libvirt/libvirt/-/blob/master/meson.build#L1649

But I'm not sure whether the comment is still true. I don't have any access to macOS so I can't confirm nor deny. But since you can, you can try changing that condition so that WITH_NETWORK is enabled and see whether compilation fails. On the other hand, I'm not sure whether our code would be able to talk to macOS and create briges/TAP devices/...

But unless you need something specific for RasPI (i.e. generic HTTP/HTTPS) is enough, then you don't need libvirt network - you can use <interface type='user'/>. You can even configure it's IP address should you need to do so:

https://libvirt.org/formatdomain.html#userspace-slirp-stack

Michal


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]