Libvirt provides a portable, long term stable C API for managing the virtualization technologies provided by many operating systems. It includes support for QEMU, KVM, Xen, LXC, bhyve, Virtuozzo, VMware vCenter and ESX, VMware Desktop, Hyper-V, VirtualBox and the POWER Hypervisor.
Go to file
Daniel P. Berrange fae0da5c13 Support a new peer-to-peer migration mode & public API
Introduces several new public API options for migration

 - VIR_MIGRATE_PEER2PEER: With this flag the client only
   invokes the virDomainMigratePerform method, expecting
   the source host driver to do whatever is required to
   complete the entire migration process.
 - VIR_MIGRATE_TUNNELLED: With this flag the actual data
   for migration will be tunnelled over the libvirtd RPC
   channel. This requires that VIR_MIGRATE_PEER2PEER is
   also set.
 - virDomainMigrateToURI: This is variant of the existing
   virDomainMigrate method which does not require any
   virConnectPtr for the destination host. Given suitable
   driver support, this allows for all the same modes as
   virDomainMigrate()

The URI for VIR_MIGRATE_PEER2PEER must be a valid libvirt
URI. For non-p2p migration a hypervisor specific migration
URI is used.

virDomainMigrateToURI without a PEER2PEER flag is only
support for Xen currently, and it involves XenD talking
directly to XenD, no libvirtd involved at all.

* include/libvirt/libvirt.h.in: Add VIR_MIGRATE_PEER2PEER
  flag for migration
* src/libvirt_internal.h: Add feature flags for peer to
  peer migration (VIR_FEATURE_MIGRATE_P2P) and direct
  migration (VIR_MIGRATE_PEER2PEER mode)
* src/libvirt.c: Implement support for VIR_MIGRATE_PEER2PEER
  and virDomainMigrateToURI APIs.
* src/xen/xen_driver.c: Advertise support for DIRECT migration
* src/xen/xend_internal.c: Add TODO item for p2p migration
* src/libvirt_public.syms: Export virDomainMigrateToURI
  method
* src/qemu/qemu_driver.c: Add support for PEER2PEER and
  migration, and adapt TUNNELLED migration.
* tools/virsh.c: Add --p2p and --direct args and use the
  new virDomainMigrateToURI method where possible.
2009-10-09 12:35:07 +01:00
.gnulib@28db629d4f build: update gnulib submodule to latest 2009-09-09 12:11:29 +02:00
build-aux generate ChangeLog from git logs into distribution tarball 2009-07-08 16:17:51 +02:00
daemon Remove unneccessary uri_in parameter from virMigratePrepareTunnel 2009-10-09 12:35:06 +01:00
docs Pull connection handling code out of doTunnelMigrate 2009-10-09 12:35:07 +01:00
examples Documentation and examples for SVirt Apparmor driver 2009-10-08 16:42:05 +02:00
include Support a new peer-to-peer migration mode & public API 2009-10-09 12:35:07 +01:00
m4 remove all .cvsignore files 2009-07-08 16:17:51 +02:00
po sVirt AppArmor security driver 2009-10-08 16:34:22 +02:00
proxy Introduce virStrncpy. 2009-09-22 20:10:00 +02:00
python python: Add a newline after custom classes 2009-10-05 13:31:38 -04:00
src Support a new peer-to-peer migration mode & public API 2009-10-09 12:35:07 +01:00
tests sVirt AppArmor security driver 2009-10-08 16:34:22 +02:00
tools Support a new peer-to-peer migration mode & public API 2009-10-09 12:35:07 +01:00
.gitignore build: automatically rerun ./bootstrap when needed 2009-07-10 13:39:28 +02:00
.gitmodules make .gnulib a submodule 2009-07-08 16:17:51 +02:00
.hgignore Add qemuhelptest to .*ignore files 2009-06-16 14:06:48 +00:00
.x-sc_avoid_ctype_macros exempt gnulib from ctype-macros prohibition 2008-10-28 17:36:31 +00:00
.x-sc_avoid_if_before_free avoid a "make syntax-check" failure 2009-07-09 20:00:37 +02:00
.x-sc_avoid_write Tunnelled migration. 2009-10-02 11:43:26 +02:00
.x-sc_m4_quote_check syntax-check: enable more checks 2009-02-03 13:08:36 +00:00
.x-sc_prohibit_asprintf add .x-sc_prohibit_asprintf 2008-12-23 13:40:42 +00:00
.x-sc_prohibit_gethostby add more files pulled in via yesterday's gnulib upgrade 2009-01-07 17:11:02 +00:00
.x-sc_prohibit_have_config_h maint: sync from coreutils 2009-01-29 18:06:19 +00:00
.x-sc_prohibit_HAVE_MBRTOWC maint: sync from coreutils 2009-01-29 18:06:19 +00:00
.x-sc_prohibit_nonreentrant Misc syntax-check fixes 2009-09-21 14:41:47 +01:00
.x-sc_prohibit_strcmp exempt gnulib/ from "make syntax-check" strcmp prohibition 2008-05-14 21:18:27 +00:00
.x-sc_prohibit_strcmp_and_strncmp Prepare to use maint.mk from gnulib 2009-07-08 16:17:51 +02:00
.x-sc_prohibit_strncpy Fix up "make syntax-check" after the tree restructuring. 2009-09-23 14:58:13 +02:00
.x-sc_prohibit_VIR_ERR_NO_MEMORY Misc syntax-check fixes 2009-09-21 14:41:47 +01:00
.x-sc_require_config_h Misc syntax-check fixes 2009-09-21 14:41:47 +01:00
.x-sc_require_config_h_first Misc syntax-check fixes 2009-09-21 14:41:47 +01:00
.x-sc_trailing_blank build: exempt *.ico files from the trailing blank check 2008-10-16 13:28:07 +00:00
acinclude.m4 remove all trailing blank lines 2009-07-16 15:06:42 +02:00
AUTHORS Fix cdub's surname spelling 2009-09-24 14:50:51 +01:00
autobuild.sh Enable ESX driver build on Mingw32 2009-07-31 16:15:51 +01:00
autogen.sh build: automatically rerun ./bootstrap when needed 2009-07-10 13:39:28 +02:00
bootstrap Local file implementation of secret driver API 2009-09-11 14:54:46 +01:00
cfg.mk Fix build in separate build directory 2009-10-01 16:55:09 +02:00
ChangeLog-old generate ChangeLog from git logs into distribution tarball 2009-07-08 16:17:51 +02:00
configure.in Fix configure.ac message vertical alignment 2009-10-09 10:42:09 +01:00
COPYING.LIB remove all trailing blank lines 2009-07-16 15:06:42 +02:00
HACKING Introduce virStrncpy. 2009-09-22 20:10:00 +02:00
libvirt.pc.in * libvirt.pc.in: applied patch from Daniel Berrange to fix --cflags 2006-03-24 13:18:12 +00:00
libvirt.spec.in LXC add augeas support for config file 2009-10-08 18:06:40 +02:00
Makefile.am Fix a few 'make rpm' breakages 2009-09-30 16:20:25 +02:00
Makefile.nonreentrant syntax-check: enable prohibit_nonreentrant 2009-02-05 16:28:41 +00:00
mingw32-libvirt.spec.in Make pki_check.sh into an installed & supported tool 2009-09-21 14:41:46 +01:00
NEWS More whitespace problems 2009-09-15 14:31:59 +02:00
README Correct typos in the documentation (Atsushi SAKAI) 2008-01-24 10:15:13 +00:00
README-hacking build: automatically rerun ./bootstrap when needed 2009-07-10 13:39:28 +02:00
TODO Remove all trailing blanks; turn on the rule to detect them. 2008-02-05 19:27:37 +00:00

         LibVirt : simple API for virtualization

  Libvirt is a C toolkit to interact with the virtualization capabilities
of recent versions of Linux (and other OSes). It is free software
available under the GNU Lesser General Public License. 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 aim at providing
long term stable C API initially for the Xen paravirtualization but
should be able to integrate other virtualization mechanisms if needed.

Daniel Veillard <veillard@redhat.com>