Hypervisor support

This page documents which libvirt calls work on which hypervisors.

This information changes frequently. This page was last checked or updated on 2007-06-28.

Domain functions

x = not supported; empty cell means no information

Function Since Xen QEMU KVM Remote
virConnectClose All All ≥ 0.2.0 ≥ 0.2.0 ≥ 0.3.0
virConnectGetCapabilities 0.2.1 ≥ 0.2.1 ≥ 0.2.1 ≥ 0.2.1 ≥ 0.3.0
virConnectGetHostname 0.3.0 ≥ 0.3.0 ≥ 0.3.0
virConnectGetMaxVcpus 0.2.1 ≥ 0.2.1 x x ≥ 0.3.0
virConnectGetType All All ≥ 0.2.0 ≥ 0.2.0 ≥ 0.3.0
virConnectGetURI 0.3.0 ≥ 0.3.0 ≥ 0.3.0
virConnectGetVersion All All ≥ 0.2.0 ≥ 0.2.0 ≥ 0.3.0
virConnectListDefinedDomains 0.1.5 ≥ 0.1.9 ≥ 0.2.0 ≥ 0.2.0 ≥ 0.3.0
virConnectListDomains All All ≥ 0.2.0 ≥ 0.2.0 ≥ 0.3.0
virConnectNumOfDefinedDomains 0.1.5 ≥ 0.1.9 ≥ 0.2.0 ≥ 0.2.0 ≥ 0.3.0
virConnectNumOfDomains All All ≥ 0.2.0 ≥ 0.2.0 ≥ 0.3.0
virConnectOpen All All ≥ 0.2.0 ≥ 0.2.0 ≥ 0.3.0
virConnectOpenReadOnly All All ≥ 0.2.0 ≥ 0.2.0 ≥ 0.3.0
virDomainAttachDevice 0.1.9 ≥ 0.1.9 x x ≥ 0.3.0
virDomainCoreDump 0.1.9 ≥ 0.1.9 x x ≥ 0.3.0
virDomainCreate 0.1.5 ≥ 0.1.9 ≥ 0.2.0 ≥ 0.2.0 ≥ 0.3.0
virDomainCreateLinux All ≥ 0.0.5 x x ≥ 0.3.0
virDomainDefineXML 0.1.5 ≥ 0.1.9 ≥ 0.2.0 ≥ 0.2.0 ≥ 0.3.0
virDomainDestroy All All ≥ 0.2.0 ≥ 0.2.0 ≥ 0.3.0
virDomainDetachDevice 0.1.9 ≥ 0.1.9 x x ≥ 0.3.0
virDomainFree All All ≥ 0.2.0 ≥ 0.2.0 ≥ 0.3.0
virDomainGetAutostart 0.2.1 x ≥ 0.2.1 ≥ 0.2.1 ≥ 0.3.0
virDomainGetConnect 0.3.0 not a HV function
virDomainGetID All All ≥ 0.2.0 ≥ 0.2.0 ≥ 0.3.0
virDomainGetInfo All All ≥ 0.2.0 ≥ 0.2.0 ≥ 0.3.0
virDomainGetMaxMemory All All x x ≥ 0.3.0
virDomainGetMaxVcpus 0.2.1 ≥ 0.2.1 x x ≥ 0.3.0
virDomainGetName All All ≥ 0.2.0 ≥ 0.2.0 ≥ 0.3.0
virDomainGetOSType All All x x ≥ 0.3.0
virDomainGetSchedulerParameters 0.2.3 ≥ 0.2.3 x x ≥ 0.3.0
virDomainGetSchedulerType 0.2.3 ≥ 0.2.3 x x ≥ 0.3.0
virDomainGetUUID 0.1.10 ≥ 0.1.10 ≥ 0.2.0 ≥ 0.2.0 ≥ 0.3.0
virDomainGetUUIDString 0.1.10 ≥ 0.1.10 ≥ 0.2.0 ≥ 0.2.0 ≥ 0.3.0
virDomainGetVcpus 0.1.4 ≥ 0.1.4 x x ≥ 0.3.0
virDomainGetXMLDesc All All ≥ 0.2.0 ≥ 0.2.0 ≥ 0.3.0
virDomainLookupByID All All ≥ 0.2.0 ≥ 0.2.0 ≥ 0.3.0
virDomainLookupByName All All ≥ 0.2.0 ≥ 0.2.0 ≥ 0.3.0
virDomainLookupByUUID 0.1.10 ≥ 0.1.10 ≥ 0.2.0 ≥ 0.2.0 ≥ 0.3.0
virDomainLookupByUUIDString 0.1.10 ≥ 0.1.10 ≥ 0.2.0 ≥ 0.2.0 ≥ 0.3.0
virDomainPinVcpu 0.1.4 ≥ 0.1.4 x x ≥ 0.3.0
virDomainReboot 0.1.0 ≥ 0.1.0 x x ≥ 0.3.0
virDomainRestore All All x x ≥ 0.3.0
virDomainResume All All ≥ 0.2.0 ≥ 0.2.0 ≥ 0.3.0
virDomainSave All All x x ≥ 0.3.0
virDomainSetAutostart 0.2.1 x ≥ 0.2.1 ≥ 0.2.1 ≥ 0.3.0
virDomainSetMaxMemory All All x x ≥ 0.3.0
virDomainSetMemory 0.1.1 ≥ 0.1.1 x x ≥ 0.3.0
virDomainSetSchedulerParameters 0.2.3 ≥ 0.2.3 x x ≥ 0.3.0
virDomainSetVcpus 0.1.4 ≥ 0.1.4 x x ≥ 0.3.0
virDomainShutdown All All ≥ 0.2.0 ≥ 0.2.0 ≥ 0.3.0
virDomainSuspend All All ≥ 0.2.0 ≥ 0.2.0 ≥ 0.3.0
virDomainUndefine 0.1.5 ≥ 0.1.9 ≥ 0.2.0 ≥ 0.2.0 ≥ 0.3.0
virGetVersion All All Returns -1 if HV unsupported.
virInitialize 0.1.0 not a HV function
virNodeGetInfo 0.1.0 ≥ 0.1.0 ≥ 0.2.0 ≥ 0.2.0 ≥ 0.3.0

Network functions

Network functions are not hypervisor-specific. For historical reasons they require the QEMU daemon to be running (this restriction may be lifted in future). Most network functions first appeared in libvirt 0.2.0.

Function Since
virConnectNumOfNetworks 0.2.0
virConnectListNetworks 0.2.0
virConnectNumOfDefinedNetworks 0.2.0
virConnectListDefinedNetworks 0.2.0
virNetworkCreate 0.2.0
virNetworkCreateXML 0.2.0
virNetworkDefineXML 0.2.0
virNetworkDestroy 0.2.0
virNetworkFree 0.2.0
virNetworkGetAutostart 0.2.1
virNetworkGetConnect 0.3.0
virNetworkGetBridgeName 0.2.0
virNetworkGetName 0.2.0
virNetworkGetUUID 0.2.0
virNetworkGetUUIDString 0.2.0
virNetworkGetXMLDesc 0.2.0
virNetworkLookupByName 0.2.0
virNetworkLookupByUUID 0.2.0
virNetworkLookupByUUIDString 0.2.0
virNetworkSetAutostart 0.2.1
virNetworkUndefine 0.2.0