Virtual Network API for QEMU

Michal Privoznik mprivozn at redhat.com
Mon Mar 29 09:28:58 UTC 2021


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.




More information about the libvirt-users mailing list