On 3/27/21 1:39 PM, Radek Simko wrote:
Hi,
According to this support matrix
https://libvirt.org/hvsupport.html#virNetworkDriver
<https://libvirt.org/hvsupport.html#virNetworkDriver>
there is no support for any APIs other than hypervisor ones for qemu.
For example virConnectNumOfNetworks is not supported.
Is there any particular reason this is not supported? Has any
development in that area been attempted in the past? Would contributions
adding support be welcomed?
To extend Laine's reply:
Libvirt has two set of drivers: statefull (where libvirt keeps the state
of resources like domains, networks, ...) and stateless (where libvirt
merely translates from/to APIs exposed by hypervisor).
QEMU can be an example of a statefull driver, ESX or hyperv are examples
of stateless drivers. Stateless drivers also implement network APIs
(again, by translating from/to APIs exposed by the underlying hypervisor
- ESX or hypverv in this example), whereas statefull drivers use bridge
driver. Therefore, QEMU doesn't implement any network APIs.
This is even more visible with split daemons (where monolithic libvirtd
is broken into smaller daemons) - if virnetworkd is not running then
things like 'virsh net-list' return an error [*].
Is there any particular problem you're facing?
Michal
* - except not really, because these split daemons are socket activated,
so virnetworkd is stared automatically when needed.