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
Laine Stump 98fa8f3ef6 conf: support host-side IP/route information in <interface>
This is place as a sub-element of <source>, where other aspects of the
host-side connection to the network device are located (network or
bridge name, udp listen port, etc). It's a bit odd that the interface
we're configuring with this info is itself named in <target dev='x'/>,
but that ship sailed long ago:

    <interface type='ethernet'>
      <mac address='00:16:3e:0f:ef:8a'/>
      <source>
        <ip address='192.168.122.12' family='ipv4'
            prefix='24' peer='192.168.122.1'/>
        <ip address='192.168.122.13' family='ipv4' prefix='24'/>
        <route family='ipv4' address='0.0.0.0'
               gateway='192.168.122.1'/>
        <route family='ipv4' address='192.168.124.0' prefix='24'
               gateway='192.168.124.1'/>
      </source>
    </interface>

In practice, this will likely only be useful for type='ethernet', so
its presence in any other type of interface is currently forbidden in
the generic device Validate function (but it's been put into the
general population of virDomainNetDef rather than the
ethernet-specific union member so that 1) we can more easily add the
capability to other types if needed, and 2) we can retain the info
when set to an invalid interface type all the way through to
validation and report a proper error, rather than just ignoring it
(which is currently what happens for many other type-specific
settings).

(NB: The already-existing configuration of IP info for the guest-side
of interfaces is in subelements directly under <interface>, and the
name of the guest-side interface (when configurable) is in <guest
dev='x'/>).

(This patch had been pushed earlier in
commit fe6a77898a, but was reverted in
commit d658456530 because it had been
accidentally pushed during the freeze for release 2.0.0)
2016-07-01 21:13:30 -04:00
.gnulib@246b3b2880 maint: update to latest gnulib 2016-05-27 14:06:45 -06:00
build-aux prohibit-duplicate-header: print file name and line 2016-06-23 12:48:40 +02:00
daemon Fix possible invalid read in adminClientGetInfo 2016-06-29 16:13:12 +02:00
docs conf: support host-side IP/route information in <interface> 2016-07-01 21:13:30 -04:00
examples examples: check asprintf return value in client_info.c 2016-07-01 15:39:01 +02:00
gnulib maint: update to latest gnulib 2016-01-04 13:56:35 -07:00
include/libvirt conf: Add new secret type "passphrase" 2016-07-01 15:45:41 -04:00
m4 virt-login-shell: mark as Linux only 2016-06-13 12:51:17 +03:00
po cpu: Drop generic driver 2016-07-01 12:20:54 +02:00
src conf: support host-side IP/route information in <interface> 2016-07-01 21:13:30 -04:00
tests conf: support host-side IP/route information in <interface> 2016-07-01 21:13:30 -04:00
tools admin: fix virt-admin startup crash by calling virAdmInitialize 2016-06-29 16:33:08 +02:00
.ctags maint: Make ctags work out of the box 2013-07-18 08:47:21 +02:00
.dir-locals.el build: avoid tabs that failed syntax-check 2012-09-06 09:43:46 -06:00
.gitignore examples: admin: Add some examples for the new admin APIs 2016-06-26 00:21:06 +02:00
.gitmodules make .gnulib a submodule 2009-07-08 16:17:51 +02:00
.mailmap maint: update .mailmap for recent contributions 2015-03-20 06:17:55 -06:00
AUTHORS.in Change maintainers list 2016-02-12 13:10:05 +03:00
autobuild.sh maint: Switch to xz compressed PAX release archives 2016-06-15 18:53:34 +02:00
autogen.sh maint: improve usage of autogen's --no-git 2015-02-06 11:35:29 -07:00
bootstrap maint: update to latest gnulib 2016-05-26 10:47:03 -06:00
bootstrap.conf build: use gnulib's unsetenv 2016-05-28 23:13:26 +02:00
cfg.mk examples: admin: Add some examples for the new admin APIs 2016-06-26 00:21:06 +02:00
ChangeLog-old Fix typos in src/* 2014-04-21 16:49:08 -06:00
config-post.h libvirt-lxc: add virDomainLxcEnterCGroup API 2016-06-10 11:02:53 +01:00
configure.ac Post-release version bump to 2.1.0 2016-07-01 12:20:43 +02:00
COPYING maint: follow recommended practice for using LGPL 2013-05-20 14:15:21 -06:00
COPYING.LESSER maint: Remove control characters from LGPL license file 2015-09-25 09:16:24 +02:00
HACKING docs: remove outdated suggestion to make patches with "diff -urp"/"git diff" 2016-07-01 12:41:10 -04:00
libvirt-admin.pc.in Add libvirt-admin library 2015-06-16 13:46:20 +02:00
libvirt-lxc.pc.in Add pkg-config files for libvirt-qemu & libvirt-lxc 2014-06-23 16:17:27 +01:00
libvirt-qemu.pc.in Add pkg-config files for libvirt-qemu & libvirt-lxc 2014-06-23 16:17:27 +01:00
libvirt.pc.in Add pkg-config files for libvirt-qemu & libvirt-lxc 2014-06-23 16:17:27 +01:00
libvirt.spec.in libvirt.spec.in: Use libnl-devel for RHEL-6 2016-06-29 17:38:15 +01:00
Makefile.am dist: Speed up distribution compression 2016-06-30 16:05:24 +02:00
Makefile.nonreentrant cfg.mk: use a single regex for all non-reentrant functions 2016-06-15 15:00:56 +02:00
mingw-libvirt.spec.in mingw-libvirt.spec.in: add perl + perl(Getopt::Long) BRs 2016-07-01 14:11:15 +01:00
README Correct typos in the documentation (Atsushi SAKAI) 2008-01-24 10:15:13 +00:00
README-hacking docs: update README-hacking 2014-05-06 16:20:24 -06:00
run.in Add PKG_CONFIG_PATH to run.in script. 2014-06-26 14:32:35 +01:00
TODO Update todo list file to point at bugzilla/website 2010-10-13 16:45:26 +01: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>