From: Daniel P. Berrange
In a default configuration, the libvirtd daemon has three levels
@@ -42,7 +42,7 @@
The access control framework is designed as a pluggable
@@ -83,7 +83,7 @@
the libvirtd daemon be restarted.
Libvirt applies access control to all the main object
diff --git a/docs/aclpolkit.html.in b/docs/aclpolkit.html.in
index 7967a0f3d4..d1f327c703 100644
--- a/docs/aclpolkit.html.in
+++ b/docs/aclpolkit.html.in
@@ -14,7 +14,7 @@
A default install of libvirt will typically use
@@ -27,7 +27,7 @@
object.
The libvirt object names and permission names
@@ -53,7 +53,7 @@
permissions default to deny access.
To allow polkit authorization rules to be written to match
@@ -63,7 +63,7 @@
of object being checked
At this point in time, the only attribute provided by
@@ -307,7 +307,7 @@
If using versions of polkit prior to 0.106 then it is only
@@ -358,7 +358,7 @@ polkit.addRule(function(action, subject) {
for a more complex example.
Consider a local user
Consider a local user As defined in the goals section, the libvirt
API is designed to expose all the resources needed to manage the
virtualization support of recent operating systems. The first object
@@ -121,7 +121,7 @@
set of nodes. The naming of the functions present in the library is usually
composed by a prefix describing the object associated to the function
and a verb describing the action on that object. For more in-depth details of the storage related APIs see
the storage management page.
Drivers are the basic building block for libvirt functionality
to support the capability to handle specific hypervisor driver calls.
Drivers are discovered and registered during connection processing as
@@ -325,7 +325,7 @@
the various functions and support found in each driver by the version
support was added into libvirt.
Access to libvirt drivers is primarily handled by the libvirtd
daemon through the remote driver via an
RPC. Some hypervisors do support
diff --git a/docs/api_extension.html.in b/docs/api_extension.html.in
index ac7097b918..fdc7eb2963 100644
--- a/docs/api_extension.html.in
+++ b/docs/api_extension.html.in
@@ -273,7 +273,7 @@
Implementing the server side of the remote function call is simply a
@@ -300,7 +300,7 @@
See 0005-implement-the-remote-protocol.patch
Sometimes, a new API serves as a superset of existing API, by
@@ -314,7 +314,7 @@
See 0006-make-old-API-trivially-wrap-to-new-API.patch
All new API should be manageable from the virsh command line
@@ -345,7 +345,7 @@
See 0007-add-virsh-support.patch
So, after all that, we get to the fun part. All functionality in
@@ -356,7 +356,7 @@
adding.
If the new API is applicable to more than one driver, it may
@@ -373,7 +373,7 @@
See 0008-support-new-xml.patch
The remaining patches should only touch one driver at a time.
diff --git a/docs/apps.html.in b/docs/apps.html.in
index 44e5b644fa..760004715c 100644
--- a/docs/apps.html.in
+++ b/docs/apps.html.in
@@ -11,7 +11,7 @@
To add an application not listed on this page, send a message
@@ -30,7 +30,7 @@
When running in a Xen environment, programs using libvirt have to execute
in "Domain 0", which is the primary Linux OS loaded on the machine. That OS
@@ -46,7 +46,7 @@ connect to initialize the library. It will then fork a libvirt_proxy
program running as root and providing read_only access to the API, this is
then only useful for reporting and monitoring. The model for QEmu and KVM is completely similar, basically KVM is based
on QEmu for the process controlling a new domain, only small details differs
@@ -60,7 +60,7 @@ domain, by specifying the architecture and machine type targeted. The code controlling the QEmu process is available in the
As the previous section explains, libvirt can communicate using different
channels with the current hypervisor, and should also be able to use
diff --git a/docs/auditlog.html.in b/docs/auditlog.html.in
index 0c778aafeb..54da12b5c7 100644
--- a/docs/auditlog.html.in
+++ b/docs/auditlog.html.in
@@ -6,7 +6,7 @@
A number of the libvirt virtualization drivers (QEMU/KVM and LXC) include
@@ -17,7 +17,7 @@
the logs will usually end up in
The libvirt audit integration is enabled by default on any host which has
@@ -48,7 +48,7 @@
mentioned above.
Libvirt defines three core audit message types each of which will
@@ -90,7 +90,7 @@
Reports change in the lifecycle state of a virtual machine. The
Reports the association of a security context with a guest. The
Reports the usage of a host resource by a guest. The fields include will
@@ -137,7 +137,7 @@
be generated.
The
The
The
The
The
The
The
The
The
The
The
The
The
When connecting to a remote hypervisor which requires authentication,
@@ -142,7 +142,7 @@ credentials=defgrp
to storage VNC or SPICE login credentials
The libvirt daemon allows the administrator to choose the authentication
mechanisms used for client connections on each network socket independently.
@@ -153,7 +153,7 @@ currently a choice of
If libvirt does not contain support for PolicyKit, then access control for
the UNIX domain socket is done using traditional file user/group ownership
@@ -170,7 +170,7 @@ parameter. For example, setting the former to mode
If libvirt contains support for PolicyKit, then access control options are
more advanced. The
Libvirt integrates with the cyrus-sasl library to provide a pluggable authentication
@@ -255,7 +255,7 @@ GSSAPI plugin is considered acceptably secure by modern standards:
TLS or UNIX socket listeners.
As noted above, the DIGEST-MD5 mechanism is considered obsolete and should
not be used anymore. To provide a simple username/password auth scheme on
@@ -297,7 +297,7 @@ again:
The plain TCP listener of the libvirt daemon defaults to using SASL for authentication.
The libvirt SASL config also defaults to GSSAPI, so there is no need to edit the
diff --git a/docs/bugs.html.in b/docs/bugs.html.in
index 55ceb60079..7ba8dd6a45 100644
--- a/docs/bugs.html.in
+++ b/docs/bugs.html.in
@@ -7,7 +7,7 @@
If you think that an issue with libvirt may have security
@@ -19,7 +19,7 @@
security process instead.
If you are using libvirt binaries from a Linux distribution
@@ -27,7 +27,7 @@
first.
The Red Hat Bugzilla Server
@@ -69,7 +69,7 @@
To increase the likelihood of your bug report being addressed it is
diff --git a/docs/cgroups.html.in b/docs/cgroups.html.in
index 60b47da1fc..ac6390960c 100644
--- a/docs/cgroups.html.in
+++ b/docs/cgroups.html.in
@@ -11,7 +11,7 @@
for applying resource management to their virtual machines and containers.
The control groups filesystem supports multiple "controllers". By default
@@ -42,7 +42,7 @@
which use them will cease to operate.
As of libvirt 1.0.5 or later, the cgroups layout created by libvirt has been
@@ -63,14 +63,14 @@
in two, one describing systemd hosts and the other non-systemd hosts.
On hosts which use systemd, each consumer maps to a systemd scope unit,
while partitions map to a system slice unit.
The systemd convention is for the scope name of virtual machines / containers
@@ -83,7 +83,7 @@
The scope names map directly to the cgroup directory names.
The systemd convention for slice naming is that a slice should include the
@@ -96,7 +96,7 @@
by libvirt will be associated with
Given this, a possible systemd cgroups layout involving 3 qemu guests,
@@ -145,7 +145,7 @@ $ROOT
+- machine-lxc\x2dcontainer3.scope
-
On hosts which do not use systemd, each consumer has a corresponding cgroup
@@ -206,7 +206,7 @@ $ROOT
+- container3.libvirt-lxc
-
If there is a need to apply resource constraints to groups of
@@ -255,7 +255,7 @@ $ROOT
later in this document did not support customization per guest.
Given the XML config above, the admin on a systemd based host would
@@ -272,7 +272,7 @@ EOF
# systemctl start machine-testing.slice
-
Given the XML config above, the admin on a non-systemd based host
@@ -291,7 +291,7 @@ EOF
done
-
Since libvirt aims to provide an API which is portable across
@@ -354,7 +354,7 @@ swap_hard_limit: unlimited
network interfaces.
Prior to libvirt 1.0.5, the cgroups layout created by libvirt was different
diff --git a/docs/compiling.html.in b/docs/compiling.html.in
index 3a0c7fdd1b..af22199efc 100644
--- a/docs/compiling.html.in
+++ b/docs/compiling.html.in
@@ -2,11 +2,11 @@
libvirt uses the standard configure/make/install steps:
@@ -58,7 +58,7 @@ $ sudo make install
to update your list of installed shared libs.
The libvirt build process uses GNU autotools, so after obtaining a
diff --git a/docs/contact.html.in b/docs/contact.html.in
index 9ea16748a2..1f84527b2c 100644
--- a/docs/contact.html.in
+++ b/docs/contact.html.in
@@ -6,7 +6,7 @@
If you think that an issue with libvirt may have security
@@ -18,7 +18,7 @@
security process instead.
There are three mailing-lists:
@@ -95,7 +95,7 @@
page.
Some of the libvirt developers may be found on IRC on the OFTC IRC
diff --git a/docs/contribute.html.in b/docs/contribute.html.in
index 32935b1fa2..c169b6700e 100644
--- a/docs/contribute.html.in
+++ b/docs/contribute.html.in
@@ -11,7 +11,7 @@
The libvirt project is always looking for new contributors to
@@ -97,7 +97,7 @@
these help forums.
-
For full details on contacting other project contributors
@@ -106,7 +106,7 @@
between contributors:
The project has a number of
@@ -118,7 +118,7 @@
to follow the traffic.
Contributors to libvirt are encouraged to join the
@@ -127,7 +127,7 @@
with others members.
Since 2016, the libvirt project directly participates as an
diff --git a/docs/csharp.html.in b/docs/csharp.html.in
index 4c35c871d2..e1c0fefba8 100644
--- a/docs/csharp.html.in
+++ b/docs/csharp.html.in
@@ -6,7 +6,7 @@
The C# libvirt bindings are a class library. They use a Microsoft
@@ -21,7 +21,7 @@
These bindings depend upon the libvirt libraries being installed.
@@ -34,7 +34,7 @@
The C# bindings source code is maintained in a git repository available on
@@ -67,7 +67,7 @@ git clone git://libvirt.org/libvirt-csharp.git
The libvirt C# bindings class library exposes the Libvirt
@@ -118,7 +118,7 @@ git clone git://libvirt.org/libvirt-csharp.git
The C# bindings are the work of Arnaud Champion
@@ -128,7 +128,7 @@ git clone git://libvirt.org/libvirt-csharp.git
Testing is performed using the following configurations:
@@ -141,7 +141,7 @@ git clone git://libvirt.org/libvirt-csharp.git
Coverage of the libvirt types is:
@@ -219,7 +219,7 @@ git clone git://libvirt.org/libvirt-csharp.git
Coverage of the libvirt functions is:
diff --git a/docs/downloads.html.in b/docs/downloads.html.in
index 0306945493..21d79df4e8 100644
--- a/docs/downloads.html.in
+++ b/docs/downloads.html.in
@@ -6,7 +6,7 @@
The libvirt project maintains a number of inter-related modules beyond
@@ -435,7 +435,7 @@
Once an hour, an automated snapshot is made from the git server
@@ -450,7 +450,7 @@
The core libvirt module follows a time based plan, with releases made
@@ -462,7 +462,7 @@
independant ad-hoc releases with no fixed time schedle.
Since libvirt 2.0.0, a time based version numbering rule
@@ -497,7 +497,7 @@
digits.
In the git repository are several stable maintenance branches
for the core library, matching the
@@ -525,7 +525,7 @@
wiki page.
All modules maintained by the libvirt project have their primary
diff --git a/docs/drivers.html.in b/docs/drivers.html.in
index 61993861ee..79b204d1a5 100644
--- a/docs/drivers.html.in
+++ b/docs/drivers.html.in
@@ -18,7 +18,7 @@
network and storage driver active.
The hypervisor drivers currently supported by libvirt are:
@@ -40,7 +40,7 @@
The libvirt bhyve driver is a single-instance privileged driver. Some sample
connection URIs are:
@@ -43,7 +43,7 @@ bhyve+unix:///system (local access)
bhyve+ssh://root@example.com/system (remote access, SSH tunnelled)
-
@@ -206,9 +206,9 @@ Note the addition of <bootloader>.
Please refer to the UEFI section for a more detailed explanation.
Guest console connection is supported through the
The It's possible to use ZFS volumes as disk devices since 1.2.8.
An example of domain XML device entry for that will look like:
-
Access control introduction
+ Access control introduction
getattr
permission.
Access control drivers
+ Access control drivers
Objects and permissions
+ Objects and permissions
-
Introduction
+ Introduction
Permission names
+ Permission names
Object identity attributes
+ Object identity attributes
virConnectPtr
+ virConnectPtr
-
@@ -79,7 +79,7 @@
virDomainPtr
+ virDomainPtr
-
@@ -103,7 +103,7 @@
virInterfacePtr
+ virInterfacePtr
-
@@ -127,7 +127,7 @@
virNetworkPtr
+ virNetworkPtr
-
@@ -151,7 +151,7 @@
virNodeDevicePtr
+ virNodeDevicePtr
-
@@ -171,7 +171,7 @@
virNWFilterPtr
+ virNWFilterPtr
-
@@ -195,7 +195,7 @@
virSecretPtr
+ virSecretPtr
-
@@ -231,7 +231,7 @@
virStoragePoolPtr
+ virStoragePoolPtr
-
@@ -255,7 +255,7 @@
virStorageVolPtr
+ virStorageVolPtr
-
@@ -288,7 +288,7 @@
User identity attributes
+ User identity attributes
Writing access control policies
+ Writing access control policies
Example: restricting ability to connect to drivers
+ Example: restricting ability to connect to drivers
berrange
@@ -386,7 +386,7 @@ polkit.addRule(function(action, subject) {
});
- Example: restricting access to a single domain
+ Example: restricting access to a single domain
berrange
diff --git a/docs/api.html.in b/docs/api.html.in
index c38bed28c5..1cd166364b 100644
--- a/docs/api.html.in
+++ b/docs/api.html.in
@@ -9,7 +9,7 @@
-
Objects Exposed
+ Objects Exposed
Functions and Naming Conventions
+ Functions and Naming Conventions
The libvirt Drivers
+ The libvirt Drivers
Daemon and Remote Access
+ Daemon and Remote Access
Implement the server side dispatcher
+ Implement the server side dispatcher
Use the new API internally
+ Use the new API internally
Expose the new API in virsh
+ Expose the new API in virsh
Implement the driver methods
+ Implement the driver methods
Implement common handling
+ Implement common handling
Implement driver handling
+ Implement driver handling
-
Add an application
+ Add an application
Client/Server applications
+ Client/Server applications
- Command line tools
+ Command line tools
- Configuration Management
+ Configuration Management
- Continuous Integration
+ Continuous Integration
- Conversion
+ Conversion
- Desktop applications
+ Desktop applications
- Infrastructure as a Service (IaaS)
+ Infrastructure as a Service (IaaS)
- Libraries
+ Libraries
- LiveCD / Appliances
+ LiveCD / Appliances
- Monitoring
+ Monitoring
- Provisioning
+ Provisioning
- Web applications
+ Web applications
- Mobile applications
+ Mobile applications
- Other
+ Other
-
-
Xen support
+ Xen support
QEmu and KVM support
+ QEmu and KVM support
qemud/
directory.Driver based architecture
+ Driver based architecture
-
Introduction
+ Introduction
/var/log/audit/audit.log
Configuration
+ Configuration
Message types
+ Message types
success
or failed
VIRT_CONTROL
+ VIRT_CONTROL
msg
@@ -110,7 +110,7 @@
init
process in a container. Only if op=init
and virt=lxc
VIRT_MACHINE_ID
+ VIRT_MACHINE_ID
msg
@@ -126,7 +126,7 @@
VIRT_RESOURCE
+ VIRT_RESOURCE
Virtual CPU
+ Virtual CPU
msg
field will include the following sub-fields
@@ -155,7 +155,7 @@
- Memory
+ Memory
msg
field will include the following sub-fields
@@ -172,7 +172,7 @@
Disk
+ Disk
msg
field will include the following sub-fields
Network interface
+ Network interface
msg
field will include the following sub-fields
@@ -221,7 +221,7 @@
Filesystem
+ Filesystem
msg
field will include the following sub-fields
Host device
+ Host device
msg
field will include the following sub-fields
resrc=hostdev
TPM
+ TPM
msg
field will include the following sub-fields
RNG
+ RNG
msg
field will include the following sub-fields
console/serial/parallel/channel
+ console/serial/parallel/channel
msg
field will include the following sub-fields
smartcard
+ smartcard
msg
field will include the following sub-fields
Redirected device
+ Redirected device
msg
field will include the following sub-fields
USB redir
allowedControl group
+ Control group
msg
field will include the following sub-fields
@@ -353,7 +353,7 @@
- Shared memory
+ Shared memory
msg
field will include the following sub-fields
-
Client configuration
+ Client configuration
Server configuration
+ Server configuration
none
, polkit
, and sasl
-
UNIX socket permissions/group
+ UNIX socket permissions/group
0770
and the
latter wheel
would let any user in the wheel group connect to
the libvirt daemon.
UNIX socket PolicyKit auth
+ UNIX socket PolicyKit auth
auth_unix_rw
parameter will default to
@@ -204,7 +204,7 @@ ResultActive=yes
Further examples of PolicyKit setup can be found on the
wiki page.
SASL pluggable authentication
+ SASL pluggable authentication
Username/password auth
+ Username/password auth
# saslpasswd2 -a libvirt -d fred
- GSSAPI/Kerberos auth
+ GSSAPI/Kerberos auth
-
Security Issues
+ Security Issues
Bug Tracking
+ Bug Tracking
General libvirt bug reports
+ General libvirt bug reports
Linux Distribution specific bug reports
+ Linux Distribution specific bug reports
- How to file high quality bug reports
+ How to file high quality bug reports
Required controllers
+ Required controllers
Current cgroups layout
+ Current cgroups layout
Systemd cgroups integration
+ Systemd cgroups integration
Systemd scope naming
+ Systemd scope naming
Systemd slice naming
+ Systemd slice naming
machine.slice
by default.
Systemd cgroup layout
+ Systemd cgroup layout
Non-systemd cgroups layout
+ Non-systemd cgroups layout
Using custom partitions
+ Using custom partitions
Creating custom partitions (systemd)
+ Creating custom partitions (systemd)
Creating custom partitions (non-systemd)
+ Creating custom partitions (non-systemd)
Resource management APIs/commands
+ Resource management APIs/commands
Legacy cgroups layout
+ Legacy cgroups layout
libvirt Installation
+ libvirt Installation
-
Compiling a release tarball
+ Compiling a release tarball
Building from a GIT checkout
+ Building from a GIT checkout
-
Security Issues
+ Security Issues
Mailing lists
+ Mailing lists
IRC discussion
+ IRC discussion
-
Contributions required
+ Contributions required
Communication
+ Communication
Mailing lists
+ Mailing lists
Instant messaging / chat
+ Instant messaging / chat
Student / outreach coding programs
+ Student / outreach coding programs
-
Description
+ Description
Requirements
+ Requirements
GIT source repository
+ GIT source repository
Usage
+ Usage
Authors
+ Authors
Test Configuration
+ Test Configuration
Type Coverage
+ Type Coverage
Function Coverage
+ Function Coverage
-
Project modules
+ Project modules
Hourly development snapshots
+ Hourly development snapshots
Primary release schedule
+ Primary release schedule
Release numbering
+ Release numbering
Maintenance releases
+ Maintenance releases
GIT source repository
+ GIT source repository
Hypervisor drivers
+ Hypervisor drivers
Storage drivers
+ Storage drivers
Connections to the Bhyve driver
+Connections to the Bhyve driver
Example guest domain XML configurations
+Example guest domain XML configurations
Example config
Guest usage / management
+Guest usage / management
-Connecting to a guest console
+Connecting to a guest console
nmdm
device. It could be enabled by adding
@@ -253,7 +253,7 @@ device) is:cu -l /dev/nmdm0B
-Converting from domain XML to Bhyve args
+Converting from domain XML to Bhyve args
virsh domxml-to-native
command can preview the actual
@@ -275,7 +275,7 @@ tweak them.Using ZFS volumes
+Using ZFS volumes
Please refer to the Storage documentation for more details on storage management.
-It's possible to boot non-FreeBSD guests by specifying an explicit
bootloader, e.g. grub-bhyve(1)
. Arguments to the bootloader may be
@@ -312,7 +312,7 @@ attempt to boot from the first partition in the disk image.
Caveat: bootloader_args
does not support any quoting.
Filenames, etc, must not have spaces or they will be tokenized incorrectly.
Since 3.2.0, in addition to grub-bhyve,
non-FreeBSD guests could be also booted using an UEFI boot ROM, provided both guest OS and
@@ -381,7 +381,7 @@ will be used. Please refer to the
manual page and the bhyve wiki for more details on using
the vgaconf
option.
Originally bhyve supported only localtime for RTC. Support for UTC time was introduced in r284894 for 10-STABLE and @@ -409,7 +409,7 @@ you'll need to explicitly specify 'localtime' in this case:
</domain> -As of r302504 bhyve supports Intel e1000 network adapter emulation. It's supported in libvirt diff --git a/docs/drvesx.html.in b/docs/drvesx.html.in index 5ba7bc1217..d503d65b8b 100644 --- a/docs/drvesx.html.in +++ b/docs/drvesx.html.in @@ -11,7 +11,7 @@ connect to a VMware vCenter 2.5/4.x/5.x (VPX).
-None. Any out-of-the-box installation of VPX/ESX(i)/GSX should work. No preparations are required on the server side, no libvirtd must be @@ -34,7 +34,7 @@ VMware vSphere API.
-Some example remote connection URIs for the driver are:
@@ -54,7 +54,7 @@ esx://example-esx.com/?no_verify=1 (ESX over HTTPS, but doesn't verify the s -
URIs have this general form ([...]
marks an optional part).
Extra parameters can be added to a URI as part of the query string
(the part following ?
). A single parameter is formed by a
@@ -188,7 +188,7 @@ vpx://example-vcenter.com/folder1/dc1/folder2/example-esx.com
-
In order to perform any useful operation the driver needs to log into
the ESX server. Therefore, only virConnectOpenAuth
can be
@@ -208,7 +208,7 @@ vpx://example-vcenter.com/folder1/dc1/folder2/example-esx.com
By default the ESX driver uses HTTPS to communicate with an ESX server. Proper HTTPS communication requires correctly configured SSL @@ -244,7 +244,7 @@ error: internal error curl_easy_perform() returned an error: Peer certificate ca -
There are also other causes for connection problems than the HTTPS certificate related ones. @@ -303,7 +303,7 @@ error: invalid argument in libvirt was built without the 'esx' driver -
Some methods of the VI API start tasks, for example
PowerOnVM_Task()
. Such tasks may be blocked by questions
@@ -322,12 +322,12 @@ error: invalid argument in libvirt was built without the 'esx' driver
There are several specialties in the domain XML config for ESX domains.
-There are some restrictions for some values of the domain XML config. The driver will complain if this restrictions are violated. @@ -347,7 +347,7 @@ error: invalid argument in libvirt was built without the 'esx' driver -
Storage is managed in datastores. VMware uses a special path format to reference files in a datastore. Basically, the datastore name is put @@ -366,7 +366,7 @@ error: invalid argument in libvirt was built without the 'esx' driver
-
VMware has registered two MAC address prefixes for domains:
00:0c:29
and 00:50:56
. These prefixes are
@@ -427,7 +427,7 @@ ethernet0.checkMACAddress = "false"
-
VMware ESX supports different models of SCSI controllers and network cards. @@ -523,14 +523,14 @@ ethernet0.checkMACAddress = "false" -
The ESX driver currently supports a native config format known as
vmware-vmx
to handle VMware VMX configs.
The virsh domxml-from-native
provides a way to convert an
existing VMware VMX config into a domain XML config that can then be
@@ -621,7 +621,7 @@ Enter root password for example.com:
-
The virsh domxml-to-native
provides a way to convert a
domain XML config into a VMware VMX config.
@@ -675,7 +675,7 @@ ethernet0.address = "00:50:56:25:48:C7"
-
@@ -704,7 +704,7 @@ ethernet0.address = "00:50:56:25:48:C7"-
A migration cannot be initiated on an ESX server directly, a VMware
vCenter is necessary for this. The vcenter
query
@@ -749,7 +749,7 @@ Enter administrator password for example-vcenter.com:
-
The driver exposes the ESX CPU scheduler. The parameters listed below are available to control the scheduler. @@ -780,7 +780,7 @@ Enter administrator password for example-vcenter.com: -
Some actions require installed VMware tools. If the VMware tools are not installed in the guest and one of the actions below is to be @@ -796,7 +796,7 @@ Enter administrator password for example-vcenter.com: -
Some example remote connection URIs for the driver are:
@@ -36,7 +36,7 @@ hyperv://example-hyperv.com/?transport=http (over HTTP) -
URIs have this general form ([...]
marks an optional part).
Extra parameters can be added to a URI as part of the query string
(the part following ?
). A single parameter is formed by a
@@ -83,7 +83,7 @@ hyperv://[username@]hostname[:port]/[?extraparameters]
-
In order to perform any useful operation the driver needs to log into
the Hyper-V server. Therefore, only virConnectOpenAuth
can
diff --git a/docs/drvlxc.html.in b/docs/drvlxc.html.in
index c0c26ca359..180dc6834e 100644
--- a/docs/drvlxc.html.in
+++ b/docs/drvlxc.html.in
@@ -18,7 +18,7 @@ particular sVirt for mandatory access control, auditing of operations,
integration with control groups and many other features.
In order to control the resource usage of processes inside containers, the @@ -32,7 +32,7 @@ init service will be required. For further information, consult the general libvirt cgroups documentation.
-In order to separate processes inside a container from those in the @@ -47,9 +47,9 @@ configured UID/GID mapping is a pre-requisite to making containers secure, in the absence of sVirt confinement.
-When the container "init" process is started, it will typically @@ -70,7 +70,7 @@ would use the following XML </os> -
When the container "init" process is started, it will be given several useful
@@ -108,7 +108,7 @@ Use of this is discouraged, in favour of passing arguments directly to the
container init process via the initarg
config element.
-
In the absence of any explicit configuration, the container will @@ -131,7 +131,7 @@ only expose the sub-tree associated with the container
The container init process will be started with CAP_MKNOD
@@ -178,7 +178,7 @@ Further block or character devices will be made available to containers
depending on their configuration.
The libvirt LXC driver is fairly flexible in how it can be configured, @@ -190,7 +190,7 @@ isolation between a container and the host must ensure that they are writing a suitable configuration.
-
If the guest configuration does not list any network interfaces,
@@ -205,7 +205,7 @@ namespace is not wanted, then applications should set the
<features>....</features>
element.
If the guest configuration does not list any filesystems, then @@ -250,7 +250,7 @@ a bind mount to hide them. This is particularly important for the
-If the guest configuration does not list any ID mapping, then the @@ -281,7 +281,7 @@ causes libvirt to activate the user namespace feature.
-The libvirt LXC driver provides the ability to pass across pre-opened file @@ -477,7 +477,7 @@ configured to block read/write/mknod from all devices except those that a container is authorized to use.
-By default the libvirt LXC driver drops some capabilities among which CAP_MKNOD. @@ -590,7 +590,7 @@ Note that allowing capabilities that are normally dropped by default can serious affect the security of the container and the host.
-Libvirt allows you to inherit the namespace from container/process just like lxc tools @@ -615,7 +615,7 @@ ignored. The use of namespace passthrough requires libvirt >= 1.2.19
-As with any libvirt virtualization driver, LXC containers can be @@ -629,7 +629,7 @@ and LXC. For further details about usage of virsh consult its manual page.
-
The virsh define
command takes an XML configuration
@@ -640,7 +640,7 @@ document and loads it into libvirt, saving the configuration on disk
# virsh -c lxc:/// define myguest.xml
-
The virsh dumpxml
command can be used to view the
@@ -655,7 +655,7 @@ using the --inactive
flag
# virsh -c lxc:/// dumpxml myguest
-
The virsh start
command can be used to start a
@@ -677,7 +677,7 @@ by libvirt, using the virsh create
command.
-
The virsh shutdown
command can be used
@@ -702,7 +702,7 @@ request, it can be forcibly stopped using the virsh destroy
-
The virsh reboot
command can be used
@@ -717,7 +717,7 @@ to PID 1 inside the container.
# virsh -c lxc:/// reboot myguest
-
The virsh undefine
command can be used to delete the
@@ -729,7 +729,7 @@ running, this will turn it into a "transient" guest.
# virsh -c lxc:/// undefine myguest
-
The virsh console
command can be used to connect
@@ -752,7 +752,7 @@ as 'console0', 'console1', 'console2', etc.
# virsh -c lxc:/// console myguest --devname console1
-
The virsh lxc-enter-namespace
command can be used
@@ -764,7 +764,7 @@ and then execute an arbitrary command.
# virsh -c lxc:/// lxc-enter-namespace myguest -- /bin/ls -al /dev
-
The virt-top
command can be used to monitor the
@@ -776,7 +776,7 @@ host
# virt-top -c lxc:///
-
The virsh domxml-from-native
command can be used to convert
diff --git a/docs/drvnodedev.html.in b/docs/drvnodedev.html.in
index 26c52dd0da..439bbe7d0e 100644
--- a/docs/drvnodedev.html.in
+++ b/docs/drvnodedev.html.in
@@ -98,7 +98,7 @@
capability
Single root input/output virtualization (SR-IOV) allows sharing of the PCIe resources by multiple virtual environments. That is achieved by @@ -186,7 +186,7 @@ ... <device> -
A PCI device capable of creating mediated devices will include a nested
capability mdev_types
which enumerates all supported mdev
@@ -252,7 +252,7 @@
</capability>
</device>
-
Mediated devices (Since 3.2.0) are software devices defining resource allocation on the backing physical device which diff --git a/docs/drvopenvz.html.in b/docs/drvopenvz.html.in index e2e72e7a3a..30e0c6b7e2 100644 --- a/docs/drvopenvz.html.in +++ b/docs/drvopenvz.html.in @@ -15,7 +15,7 @@ undue trouble.
-The libvirt OpenVZ driver is a single-instance privileged driver, @@ -40,7 +40,7 @@ openvz+tcp://example.com/system (remote access, SASl/Kerberos) openvz+ssh://root@example.com/system (remote access, SSH tunnelled) -
Bridged networking enables a guest domain (ie container) to have its @@ -49,7 +49,7 @@ openvz+ssh://root@example.com/system (remote access, SSH tunnelled) the host OS.
-One or more of the physical devices must be attached to a bridge. The @@ -60,7 +60,7 @@ openvz+ssh://root@example.com/system (remote access, SSH tunnelled) physical device "eth0", or a bonding device "bond0".
-OpenVZ releases later than 3.0.23 ship with a standard network device @@ -85,7 +85,7 @@ EXTERNAL_SCRIPT="/usr/sbin/vznetaddbr"
-The current libvirt OpenVZ driver has a restriction that the diff --git a/docs/drvphyp.html.in b/docs/drvphyp.html.in index bb1f69e518..c75a830c4a 100644 --- a/docs/drvphyp.html.in +++ b/docs/drvphyp.html.in @@ -10,7 +10,7 @@
-Some example remote connection URIs for the driver are:
@@ -38,7 +38,7 @@ phyp://user@ivm/system (IVM connection) -
URIs have this general form ([...]
marks an
optional part, {...|...}
marks a mandatory choice).
diff --git a/docs/drvqemu.html.in b/docs/drvqemu.html.in
index fa1eca78a2..a2a830a23e 100644
--- a/docs/drvqemu.html.in
+++ b/docs/drvqemu.html.in
@@ -11,7 +11,7 @@
version 0.12.0 or later.
The libvirt QEMU driver is a multi-instance driver, providing a single @@ -63,14 +63,14 @@ qemu+tcp://example.com/system (remote access, SASl/Kerberos) qemu+ssh://root@example.com/system (remote access, SSH tunnelled) -
There are multiple layers to security in the QEMU driver, allowing for flexibility in the use of QEMU based virtual machines.
-As explained above there are two ways to access the QEMU driver @@ -94,7 +94,7 @@ qemu+ssh://root@example.com/system (remote access, SSH tunnelled) elevated privileges.
-In the "session" instance, the POSIX users/groups model restricts QEMU @@ -187,7 +187,7 @@ chmod o+x /path/to/directory -
The libvirt QEMU driver has a build time option allowing it to use
@@ -224,7 +224,7 @@ chmod o+x /path/to/directory
to changing the /etc/libvirt/qemu.conf
settings.
The basic SELinux protection for QEMU virtual machines is intended to @@ -255,7 +255,7 @@ chmod o+x /path/to/directory SELinux boolean.
-
The SELinux sVirt protection for QEMU virtual machines builds to the
@@ -305,7 +305,7 @@ chmod o+x /path/to/directory
file can be used to change the setting to security_driver="none"
When using basic AppArmor protection for the libvirtd daemon and @@ -373,7 +373,7 @@ chmod o+x /path/to/directory
-
Recent Linux kernels have a capability known as "cgroups" which is used
@@ -416,7 +416,7 @@ mount -t cgroup none /dev/cgroup -o devices
/dev/cgroup/libvirt/qemu/$VMNAME/
The QEMU driver currently supports a single native
config format known as qemu-argv
. The data for this format
@@ -424,7 +424,7 @@ mount -t cgroup none /dev/cgroup -o devices
then the QEMu binary name, finally followed by the QEMU command line
arguments
The virsh domxml-from-native
provides a way to
@@ -473,7 +473,7 @@ $ virsh domxml-from-native qemu-argv demo.args
NB, don't include the literal \ in the args, put everything on one line
-
The virsh domxml-to-native
provides a way to convert a
@@ -515,7 +515,7 @@ $ virsh domxml-to-native qemu-argv demo.xml
-serial none -parallel none -usb
-
Libvirt provides an XML namespace and an optional @@ -582,7 +582,7 @@ $ virsh domxml-to-native qemu-argv demo.xml </domain> -
<domain type='vbox'> diff --git a/docs/drvvirtuozzo.html.in b/docs/drvvirtuozzo.html.in index 28c8242a1a..3c4a85fe0e 100644 --- a/docs/drvvirtuozzo.html.in +++ b/docs/drvvirtuozzo.html.in @@ -9,7 +9,7 @@ -Project Links
+Project Links
The libvirt Virtuozzo driver is a single-instance privileged driver, with a driver name of 'virtuozzo'. Some example connection URIs for the libvirt driver are:
@@ -29,7 +29,7 @@ vz+tcp://example.com/system (remote access, SASl/Kerberos) vz+ssh://root@example.com/system (remote access, SSH tunnelled) -Virtuozzo driver require at least one hard disk for new domains diff --git a/docs/drvvmware.html.in b/docs/drvvmware.html.in index 240afd0050..45f6fe2618 100644 --- a/docs/drvvmware.html.in +++ b/docs/drvvmware.html.in @@ -15,7 +15,7 @@ from here.
-<domain type='vmware'> diff --git a/docs/drvxen.html.in b/docs/drvxen.html.in index 649ba42bf2..6af15f44b6 100644 --- a/docs/drvxen.html.in +++ b/docs/drvxen.html.in @@ -11,7 +11,7 @@ on any Xen release from 3.0.1 onwards. -Project Links
+Project Links
The libvirt Xen driver uses a combination of channels to manage Xen @@ -65,7 +65,7 @@
The libvirt Xen driver is a single-instance privileged driver, @@ -81,7 +81,7 @@ xen+tcp://example.com/ (remote access, SASl/Kerberos) xen+ssh://root@example.com/ (remote access, SSH tunnelled) -
The Xen driver currently supports two native
config formats. The first known as xen-xm
is the format
@@ -89,7 +89,7 @@ xen+ssh://root@example.com/ (remote access, SSH tunnelled)
known as xen-sxpr
, is the format used for interacting
with the XenD's legacy HTTP RPC service.
The virsh domxml-from-native
provides a way to convert an
@@ -135,7 +135,7 @@ xen+ssh://root@example.com/ (remote access, SSH tunnelled)
</devices>
</domain>
-
The virsh domxml-to-native
provides a way to convert a
@@ -163,7 +163,7 @@ vnclisten = "0.0.0.0"
disk = [ "tap:aio:/var/lib/xen/images/rhel5pv.img,xvda,w", "tap:qcow:/root/qcow1-xen.img,xvdd,w" ]
vif = [ "mac=00:16:3e:60:36:ba,bridge=virbr0,script=vif-bridge,vifname=vif5.0" ]
-
Below are some example XML configurations for Xen guest domains. diff --git a/docs/firewall.html.in b/docs/firewall.html.in index 5bb6dc1437..b21891ac98 100644 --- a/docs/firewall.html.in +++ b/docs/firewall.html.in @@ -35,8 +35,7 @@
The typical configuration for guests is to use bridging of the physical NIC on the host to connect the guest directly to the LAN. @@ -130,8 +129,7 @@ MASQUERADE all -- * * 192.168.122.0/24 !192.168.122.0/24
This driver provides a fully configurable network filtering capability that leverages ebtables, iptables and ip6tables. This was written by diff --git a/docs/formatcaps.html.in b/docs/formatcaps.html.in index bc4511c669..d224523efe 100644 --- a/docs/formatcaps.html.in +++ b/docs/formatcaps.html.in @@ -6,7 +6,7 @@
As new virtualization engine support gets added to libvirt, and to handle cases like QEMU supporting a variety of emulations, a query @@ -28,7 +28,7 @@ the set of architectures the host can run at the moment.
-The <host/>
element consists of the following child
elements:
While the previous section aims at host capabilities, this one focuses on capabilities available to a guest @@ -138,7 +138,7 @@ -
For example, in the case of a 64-bit machine with hardware virtualization capabilities enabled in the chip and diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in index 680830fbdd..a972a56ab5 100644 --- a/docs/formatdomain.html.in +++ b/docs/formatdomain.html.in @@ -14,7 +14,7 @@
-The root element required for all virtual machines is @@ -28,7 +28,7 @@
-<domain type='xen' id='3'> @@ -82,14 +82,14 @@ element). Since 0.9.10 --Operating system booting
+Operating system booting
There are a number of different ways to boot virtual machines each with their own pros and cons.
-BIOS bootloader
+BIOS bootloader
Booting via the BIOS is available for hypervisors supporting @@ -229,7 +229,7 @@ -
Host bootloader
+Host bootloader
Hypervisors employing paravirtualization do not usually emulate @@ -262,7 +262,7 @@ -
Direct kernel boot
+Direct kernel boot
When installing a new guest OS it is often useful to boot directly @@ -315,7 +315,7 @@ Since 1.3.5 (QEMU only) -
Container boot
+Container boot
When booting a domain using container based virtualization, instead @@ -379,7 +379,7 @@
Some hypervisors allow control over what system information is @@ -502,7 +502,7 @@ -
<domain> @@ -610,7 +610,7 @@ -IOThreads Allocation
+IOThreads Allocation
IOThreads are dedicated event loop threads for supported disk devices to perform block I/O requests in order to improve @@ -667,7 +667,7 @@ -
CPU Tuning
+CPU Tuning
<domain> @@ -837,7 +837,7 @@ -Memory Allocation
+Memory Allocation
<domain> @@ -910,7 +910,7 @@ -Memory Backing
+Memory Backing
<domain> @@ -980,7 +980,7 @@ -Memory Tuning
+Memory Tuning
<domain> @@ -1044,7 +1044,7 @@ -NUMA Node Tuning
+NUMA Node Tuning
<domain> @@ -1105,7 +1105,7 @@ -Block I/O Tuning
+Block I/O Tuning
<domain> ... @@ -1174,7 +1174,7 @@ -Resource partitioning
+Resource partitioning
Hypervisors may allow for virtual machines to be placed into @@ -1203,7 +1203,7 @@ in all mounted controllers. Since 1.0.5
-CPU model and topology
+CPU model and topology
Requirements for CPU model, its features and topology can be specified @@ -1532,7 +1532,7 @@ This guest NUMA specification is currently available only for QEMU/KVM.
-Events configuration
+Events configuration
It is sometimes necessary to override the default actions taken @@ -1643,7 +1643,7 @@
Since 0.10.2 it is possible to @@ -1667,7 +1667,7 @@ left with its default value. -
Hypervisors may allow certain CPU / machine features to be @@ -1869,7 +1869,7 @@ -
The guest clock is typically initialized from the host clock. @@ -2037,7 +2037,7 @@ -
Some platforms allow monitoring of performance of the virtual machine and @@ -2218,7 +2218,7 @@ -
The final set of XML elements are all used to describe devices @@ -2245,7 +2245,7 @@ -
Any device that looks like a disk, be it a floppy, harddisk, @@ -3185,7 +3185,7 @@ -
A directory on the host that can be accessed directly from the guest. @@ -3368,7 +3368,7 @@ -
Many devices have an optional <address>
@@ -3485,7 +3485,7 @@
-
QEMU's virtio devices have some attributes related to the virtio transport under @@ -3498,7 +3498,7 @@ Since 3.5.0
-Depending on the guest architecture, some device buses can @@ -3884,7 +3884,7 @@ </devices> ... -
When using a lock manager, it may be desirable to record device leases @@ -3924,9 +3924,9 @@ -
USB, PCI and SCSI devices attached to the host can be passed through @@ -4237,7 +4237,7 @@ -
Block / character devices from the host can be passed through @@ -4294,7 +4294,7 @@ -
USB device redirection through a character device is @@ -4361,7 +4361,7 @@ -
A virtual smartcard device can be supplied to the guest via the @@ -4454,7 +4454,7 @@ smartcard, with an address of bus=0 slot=0.
-... @@ -4494,7 +4494,7 @@ as documented above. --Virtual network
+Virtual network
@@ -4600,7 +4600,7 @@ </devices> ...
@@ -4691,7 +4691,7 @@
</devices>
...
-
Provides a virtual LAN with NAT to the outside world. The virtual
@@ -4714,7 +4714,7 @@
...
-
Provides a means for the administrator to execute an arbitrary script
@@ -4738,7 +4738,7 @@
</devices>
...
-
Provides direct attachment of the virtual machine's NIC to the given
@@ -4883,7 +4883,7 @@
-
A PCI network device (specified by the <source> element)
@@ -4956,7 +4956,7 @@
...
-
A multicast group is setup to represent a virtual network. Any VMs
@@ -4980,7 +4980,7 @@
</devices>
...
-
A TCP client/server architecture provides a virtual network. One VM
@@ -5006,7 +5006,7 @@
</devices>
...
-
A UDP unicast architecture provides a virtual network which enables
@@ -5030,7 +5030,7 @@
</devices>
...
- Userspace SLIRP stack
+ Userspace SLIRP stack
Generic ethernet connection
+ Generic ethernet connection
Direct attachment to physical interface
+ Direct attachment to physical interface
PCI Passthrough
+ PCI Passthrough
Multicast tunnel
+ Multicast tunnel
TCP tunnel
+ TCP tunnel
UDP unicast tunnel
+ UDP unicast tunnel
Setting the NIC model
+ Setting the NIC model
...
@@ -5065,7 +5065,7 @@ qemu-kvm -net nic,model=? /dev/null
ne2k_isa i82551 i82557b i82559er ne2k_pci pcnet rtl8139 e1000 virtio
... @@ -5253,7 +5253,7 @@ qemu-kvm -net nic,model=? /dev/null -Setting network backend-specific options
+Setting network backend-specific options
... @@ -5284,7 +5284,7 @@ qemu-kvm -net nic,model=? /dev/null adjust the size of send buffer in the host. Since 0.8.8 -Overriding the target element
+Overriding the target element
... @@ -5322,7 +5322,7 @@ qemu-kvm -net nic,model=? /dev/null </devices> ...-Specifying boot order
+Specifying boot order
... @@ -5345,7 +5345,7 @@ qemu-kvm -net nic,model=? /dev/null Since 0.8.8 -Interface ROM BIOS configuration
+Interface ROM BIOS configuration
... @@ -5374,7 +5374,7 @@ qemu-kvm -net nic,model=? /dev/null network device. Since 0.9.10 (QEMU and KVM only). --Setting up a network backend in a driver domain
+Setting up a network backend in a driver domain
... <devices> @@ -5398,7 +5398,7 @@ qemu-kvm -net nic,model=? /dev/null Since 1.2.13 (Xen only) --Quality of service
+Quality of service
... @@ -5422,7 +5422,7 @@ qemu-kvm -net nic,model=? /dev/null the Network XML. --Setting VLAN tag (on supported network types only)
+Setting VLAN tag (on supported network types only)
... @@ -5490,7 +5490,7 @@ qemu-kvm -net nic,model=? /dev/null traffic for that VLAN will be tagged. --Modifying virtual link state
+Modifying virtual link state
... <devices> @@ -5511,7 +5511,7 @@ qemu-kvm -net nic,model=? /dev/null Since 0.9.5 --MTU configuration
+MTU configuration
... <devices> @@ -5530,7 +5530,7 @@ qemu-kvm -net nic,model=? /dev/null Since 3.1.0 --Coalesce settings
+Coalesce settings
... <devices> @@ -5557,7 +5557,7 @@ qemu-kvm -net nic,model=? /dev/null Since 3.3.0 --IP configuration
+IP configuration
... <devices> @@ -5636,7 +5636,7 @@ qemu-kvm -net nic,model=? /dev/null configure the guest side of the interface (described above). --vhost-user interface
+vhost-user interface
Since 1.2.7 the vhost-user enables the @@ -5673,7 +5673,7 @@ qemu-kvm -net nic,model=? /dev/null
-<model>
element is mandatory.Traffic filtering with NWFilter
+Traffic filtering with NWFilter
Since 0.8.0 an
-nwfilter
profile @@ -5713,7 +5713,7 @@ qemu-kvm -net nic,model=? /dev/nullInput devices
+Input devices
Input devices allow interaction with the graphical framebuffer @@ -5768,7 +5768,7 @@ qemu-kvm -net nic,model=? /dev/null set. (Since 3.5.0)
-Hub devices
+Hub devices
A hub is a device that expands a single port into several so @@ -5797,7 +5797,7 @@ qemu-kvm -net nic,model=? /dev/null above.
-Graphical framebuffers
+Graphical framebuffers
A graphics device allows for graphical interaction with the @@ -6095,7 +6095,7 @@ qemu-kvm -net nic,model=? /dev/null -
Video devices
+Video devices
A video device.
@@ -6210,7 +6210,7 @@ qemu-kvm -net nic,model=? /dev/null -Consoles, serial, parallel & channel devices
+Consoles, serial, parallel & channel devices
A character device provides a way to interact with the virtual machine. @@ -6296,14 +6296,14 @@ qemu-kvm -net nic,model=? /dev/null slot.
-Guest interface
+Guest interface
A character device presents itself to the guest as one of the following types.
-Parallel port
+Parallel port
... @@ -6321,7 +6321,7 @@ qemu-kvm -net nic,model=? /dev/null usually 0, 1 or 2 parallel ports. --Serial port
+Serial port
... @@ -6350,7 +6350,7 @@ qemu-kvm -net nic,model=? /dev/null-type='pci'
to select desired location on the PCI bus. -Console
+Console
The console element is used to represent interactive consoles. Depending @@ -6422,7 +6422,7 @@ qemu-kvm -net nic,model=? /dev/null only 1 console.
-Channel
+Channel
This represents a private communication channel between the host and the @@ -6514,14 +6514,14 @@ qemu-kvm -net nic,model=? /dev/null Since 0.8.8 -
Host interface
+Host interface
A character device presents itself to the host as one of the following types.
-Domain logfile
+Domain logfile
This disables all input on the character device, and sends output @@ -6538,7 +6538,7 @@ qemu-kvm -net nic,model=? /dev/null ...
Device logfile
+Device logfile
A file is opened and all data sent to the character @@ -6555,7 +6555,7 @@ qemu-kvm -net nic,model=? /dev/null </devices> ...
Virtual console
+Virtual console
Connects the character device to the graphical framebuffer in @@ -6572,7 +6572,7 @@ qemu-kvm -net nic,model=? /dev/null </devices> ...
Null device
+Null device
Connects the character device to the void. No data is ever @@ -6588,7 +6588,7 @@ qemu-kvm -net nic,model=? /dev/null </devices> ...
Pseudo TTY
+Pseudo TTY
A Pseudo TTY is allocated using /dev/ptmx. A suitable client @@ -6613,7 +6613,7 @@ qemu-kvm -net nic,model=? /dev/null with existing syntax for <console> tags.
-Host device proxy
+Host device proxy
The character device is passed through to the underlying @@ -6633,7 +6633,7 @@ qemu-kvm -net nic,model=? /dev/null </devices> ...
Named pipe
+Named pipe
The character device writes output to a named pipe. See pipe(7) for @@ -6650,7 +6650,7 @@ qemu-kvm -net nic,model=? /dev/null </devices> ...
TCP client/server
+TCP client/server
The character device acts as a TCP client connecting to a @@ -6739,7 +6739,7 @@ qemu-kvm -net nic,model=? /dev/null </devices> ...
UDP network console
+UDP network console
The character device acts as a UDP netconsole service, @@ -6757,7 +6757,7 @@ qemu-kvm -net nic,model=? /dev/null </devices> ...
UNIX domain socket client/server
+UNIX domain socket client/server
The character device acts as a UNIX domain socket server, @@ -6774,7 +6774,7 @@ qemu-kvm -net nic,model=? /dev/null </devices> ...
Spice channel
+Spice channel
The character device is accessible through spice connection @@ -6797,7 +6797,7 @@ qemu-kvm -net nic,model=? /dev/null </devices> ...
Nmdm device
+Nmdm device
The nmdm device driver, available on FreeBSD, provides two @@ -6828,7 +6828,7 @@ qemu-kvm -net nic,model=? /dev/null to the guest console. Device is specified by a fully qualified path. -
Sound devices
+Sound devices
A virtual sound card can be attached to the host via the @@ -6881,7 +6881,7 @@ qemu-kvm -net nic,model=? /dev/null slot, documented above.
-Watchdog device
+Watchdog device
A virtual hardware watchdog device can be added to the guest via @@ -6971,7 +6971,7 @@ qemu-kvm -net nic,model=? /dev/null -
Memory balloon device
+Memory balloon device
A virtual memory balloon device is added to all Xen and KVM/QEMU @@ -7056,7 +7056,7 @@ qemu-kvm -net nic,model=? /dev/null set. (Since 3.5.0) -
Random number generator device
+Random number generator device
The virtual random number generator device allows the host to pass @@ -7150,7 +7150,7 @@ qemu-kvm -net nic,model=? /dev/null -
TPM device
+TPM device
The TPM device enables a QEMU guest to have access to TPM @@ -7210,7 +7210,7 @@ qemu-kvm -net nic,model=? /dev/null -
NVRAM device
+NVRAM device
nvram device is always added to pSeries guest on PPC64, and its address is allowed to be changed. Element
nvram
(only valid for @@ -7244,7 +7244,7 @@ qemu-kvm -net nic,model=? /dev/null -panic device
+panic device
panic device enables libvirt to receive panic notification from a QEMU guest. @@ -7301,7 +7301,7 @@ qemu-kvm -net nic,model=? /dev/null -
Shared memory device
+Shared memory device
A shared memory device allows to share a memory region between @@ -7365,7 +7365,7 @@ qemu-kvm -net nic,model=? /dev/null -
Memory devices
+Memory devices
In addition to the initial memory assigned to the guest, memory devices @@ -7508,7 +7508,7 @@ qemu-kvm -net nic,model=? /dev/null -
IOMMU devices
+IOMMU devices
The
iommu
element can be used to add an IOMMU device. @@ -7588,7 +7588,7 @@ qemu-kvm -net nic,model=? /dev/null -Security label
+Security label
The
-seclabel
element allows control over the @@ -7717,7 +7717,7 @@ qemu-kvm -net nic,model=? /dev/null being on a file system that lacks security labeling.Key Wrap
+Key Wrap
The content of the optional
keywrap
element specifies whether the guest will be allowed to perform the S390 cryptographic key @@ -7756,7 +7756,7 @@ qemu-kvm -net nic,model=? /dev/nullNote: DEA/TDEA is synonymous with DES/TDES.
-Example configs
+Example configs
Example configurations for each driver are provide on the diff --git a/docs/formatdomaincaps.html.in b/docs/formatdomaincaps.html.in index 007cab62dc..5e63fb7cac 100644 --- a/docs/formatdomaincaps.html.in +++ b/docs/formatdomaincaps.html.in @@ -6,7 +6,7 @@
Sometimes, when a new domain is to be created it may come handy to know the capabilities of the hypervisor so the correct combination of devices and @@ -37,7 +37,7 @@ management application to choose an appropriate mode for a pass-through host device as well as which adapter to utilize.
- A new query interface was added to the virConnect API's to retrieve the
XML listing of the set of domain capabilities (Since
@@ -79,7 +79,7 @@
- Before any devices capability occurs, there might be a info on domain
wide capabilities, e.g. virtual CPUs: Sometimes users might want to tweak some BIOS knobs or use
UEFI. For cases like that,
-
The
Another set of XML elements describe the supported devices and their
@@ -240,7 +240,7 @@
support the values Disk capabilities are exposed under the Graphics device capabilities are exposed under the
Video device capabilities are exposed under the
Some host devices can be passed through to a guest (e.g. USB, PCI and
SCSI). Well, only if the following is enabled: One more set of XML elements describe the supported features and
their capabilities. All features occur as children of the main
@@ -431,7 +431,7 @@
the domain XML documentation.
GIC capabilities are exposed under the
The root element required for all virtual networks is
@@ -27,7 +27,7 @@
available since 0.3.0
The first elements provide basic metadata about the virtual
@@ -83,7 +83,7 @@
override the setting in the network.
-
The next set of elements control how a virtual network is
@@ -514,7 +514,7 @@
- CPU Allocation
+ CPU Allocation
BIOS bootloader
+ BIOS bootloader
CPU configuration
+ CPU configuration
cpu
element exposes options usable for configuring
@@ -208,7 +208,7 @@
- Devices
+ Devices
disk
, cdrom
,
floppy
, or lun
.Hard drives, floppy disks, CDROMs
+ Hard drives, floppy disks, CDROMs
disk
element. For
instance:Graphical framebuffers
+ Graphical framebuffers
graphics
element. For instance:Video device
+ Video device
video
element. For instance:Host device assignment
+ Host device assignment
Features
+ Features
GIC capabilities
+ GIC capabilities
gic
element.Element and attribute overview
+ Element and attribute overview
General metadata
+ General metadata
Connectivity
+ Connectivity
Quality of service
+ Quality of service
...
@@ -634,7 +634,7 @@
since 1.0.1.
<network> @@ -712,7 +712,7 @@ or-<interface>
. -Portgroups
+Portgroups
... @@ -790,7 +790,7 @@ setting in the portgroup. --Static Routes
+Static Routes
Static route definitions are used to provide routing information to the virtualization host for networks which are not directly @@ -845,7 +845,7 @@ ...
Addressing
+Addressing
The final set of elements define the addresses (IPv4 and/or @@ -1079,9 +1079,9 @@ -
Example configuration
+Example configuration
-NAT based network
+NAT based network
This example is the so called "default" virtual network. It is @@ -1129,7 +1129,7 @@ </ip> </network>
This is a variant on the default network which routes traffic @@ -1211,7 +1211,7 @@ <route family="ipv6" address="2001:db8:ca2:8::" prefix="64" gateway="2001:db8:ca2:7::4"/> </network> -
This variant provides a completely isolated private network @@ -1233,7 +1233,7 @@ <ip family="ipv6" address="2001:db8:ca2:3::1" prefix="64"/> </network> -
This variation of an isolated network defines only IPv6. @@ -1259,7 +1259,7 @@ </ip> </network> -
Since 0.9.4 @@ -1277,7 +1277,7 @@ <bridge name="br0"/> </network> -
Since 0.9.4, QEMU and KVM only, requires
@@ -1312,7 +1312,7 @@
</forward>
</network>
-
A valid network definition can contain no IPv4 or IPv6 addresses. Such a definition
diff --git a/docs/formatnode.html.in b/docs/formatnode.html.in
index 32451d5575..f82aecf3a8 100644
--- a/docs/formatnode.html.in
+++ b/docs/formatnode.html.in
@@ -6,7 +6,7 @@
There are several libvirt functions, all with the
@@ -340,7 +340,7 @@
- The following are some example node device XML outputs:Network config with no gateway addresses
+ Network config with no gateway addresses
-
Node Device XML
+ Node Device XML
Examples
+ Examples
diff --git a/docs/formatnwfilter.html.in b/docs/formatnwfilter.html.in
index 0d32893cb4..5eb60e12c5 100644
--- a/docs/formatnwfilter.html.in
+++ b/docs/formatnwfilter.html.in
@@ -12,7 +12,7 @@
their goals, concepts and XML format.
The goal of the network filtering XML is to enable administrators @@ -43,7 +43,7 @@ (QEMU, KVM)
-
The network traffic filtering subsystem enables configuration
of network traffic filtering rules on individual network
@@ -111,7 +111,7 @@
Filtering rules are organized in filter chains. These chains can be
thought of as having a tree structure with packet
@@ -192,7 +192,7 @@
traverse the ARP chain.
All chains are connected to the root
chain. The order in
which those chains are accessed is influenced by the priority of the
@@ -236,7 +236,7 @@
node. The above example filter shows the default priority of -500
for arp
chains.
Two variables names have so far been reserved for usage by the @@ -374,7 +374,7 @@ DSTPORTS = [ 80, 8080 ] former notation always assumes the iterator with Id '0'.
-
The detection of IP addresses used on a virtual machine's interface
is automatically activated if the variable IP
is referenced
@@ -448,7 +448,7 @@ DSTPORTS = [ 80, 8080 ]
</interface>
-
The following table lists reserved variables in use by libvirt.
@@ -485,7 +485,7 @@ DSTPORTS = [ 80, 8080 ] -The root element required for all network filters is @@ -498,7 +498,7 @@ DSTPORTS = [ 80, 8080 ] ipv4, ipv6, arp and rarp.
-Any filter may hold references to other filters. Individual filters may be referenced multiple times in a filter tree but @@ -536,7 +536,7 @@ DSTPORTS = [ 80, 8080 ] attached.
-The following XML shows a simple example of a network traffic filter implementing a rule to drop traffic if @@ -618,7 +618,7 @@ DSTPORTS = [ 80, 8080 ] filtered.
-The following sections enumerate the list of protocols that are supported by the network filtering subsystem. The @@ -677,7 +677,7 @@ DSTPORTS = [ 80, 8080 ]
-
Protocol ID: mac
@@ -729,7 +729,7 @@ DSTPORTS = [ 80, 8080 ]
[...]
-
@@ -784,7 +784,7 @@ DSTPORTS = [ 80, 8080 ]
Valid Strings for encap-protocol
are: arp, ipv4, ipv6
@@ -926,7 +926,7 @@ DSTPORTS = [ 80, 8080 ] -
Protocol ID: arp
or rarp
@@ -1022,7 +1022,7 @@ DSTPORTS = [ 80, 8080 ]
Protocol ID: ip
@@ -1118,7 +1118,7 @@ DSTPORTS = [ 80, 8080 ]
Protocol ID: ipv6
@@ -1228,7 +1228,7 @@ DSTPORTS = [ 80, 8080 ]
Protocol ID: tcp
, udp
, sctp
@@ -1344,7 +1344,7 @@ DSTPORTS = [ 80, 8080 ]
Protocol ID: icmp
@@ -1458,7 +1458,7 @@ DSTPORTS = [ 80, 8080 ]
Protocol ID: igmp
, esp
, ah
, udplite
, all
@@ -1563,7 +1563,7 @@ DSTPORTS = [ 80, 8080 ]
Protocol ID: tcp-ipv6
, udp-ipv6
, sctp-ipv6
@@ -1679,7 +1679,7 @@ DSTPORTS = [ 80, 8080 ]
Protocol ID: icmpv6
@@ -1779,7 +1779,7 @@ DSTPORTS = [ 80, 8080 ]
Protocol ID: esp-ipv6
, ah-ipv6
, udplite-ipv6
, all-ipv6
@@ -1868,13 +1868,13 @@ DSTPORTS = [ 80, 8080 ]
The following sections discuss advanced filter configuration topics.
-The network filtering subsystem (on Linux) makes use of the connection tracking support of iptables. This helps in enforcing the @@ -1908,7 +1908,7 @@ DSTPORTS = [ 80, 8080 ] which may or may not be desirable.
-To limit the number of connections a VM may establish, a rule must be provided that sets a limit of connections for a given @@ -1981,7 +1981,7 @@ echo 3 > /proc/sys/net/netfilter/nf_conntrack_icmp_timeout traffic behavior in relation to idle connections.
-
The libvirt command line tool virsh
has been extended
with life-cycle support for network filters. All commands related
@@ -1996,7 +1996,7 @@ echo 3 > /proc/sys/net/netfilter/nf_conntrack_icmp_timeout
The following is a list of example network filters that are automatically installed with libvirt.
@@ -2051,7 +2051,7 @@ echo 3 > /proc/sys/net/netfilter/nf_conntrack_icmp_timeout on top of the prevention of packet spoofing. -
Since libvirt only provides a couple of example networking filters, you
@@ -2124,7 +2124,7 @@ echo 3 > /proc/sys/net/netfilter/nf_conntrack_icmp_timeout
udp-ipv6
traffic filtering node.
As an example we want to now build a filter that fulfills the following list of requirements: @@ -2227,7 +2227,7 @@ echo 3 > /proc/sys/net/netfilter/nf_conntrack_icmp_timeout </rule> -
In this example we now want to build a similar filter as in the example above, but extend the list of requirements with an @@ -2400,13 +2400,13 @@ modprobe ip_conntrack_ftp # if above is not available -
The following sections list (current) limitations of the network filtering subsystem.
-VM migration is only supported if the whole filter tree that is referenced by a virtual machine's top level filter @@ -2424,7 +2424,7 @@ modprobe ip_conntrack_ftp # if above is not available 0.8.1 or later in order not to lose the network traffic filters associated with an interface.
-
VLAN (802.1Q) packets, if sent by a virtual machine, cannot be filtered
with rules for protocol IDs arp
, rarp
,
diff --git a/docs/formatsecret.html.in b/docs/formatsecret.html.in
index 21b93397c8..86b8de5b97 100644
--- a/docs/formatsecret.html.in
+++ b/docs/formatsecret.html.in
@@ -6,7 +6,7 @@
Secrets stored by libvirt may have attributes associated with them, using @@ -47,7 +47,7 @@ -
This secret is associated with a volume, whether the format is either @@ -120,7 +120,7 @@ Secret value set # -
This secret is associated with a Ceph RBD (rados block device).
The <usage type='ceph'>
element must contain
@@ -187,7 +187,7 @@ Secret value set
</auth>
-
This secret is associated with an iSCSI target for CHAP authentication. @@ -272,7 +272,7 @@ Secret value set </auth> -
This secret may be used in order to provide the passphrase for the diff --git a/docs/formatsnapshot.html.in b/docs/formatsnapshot.html.in index 5e8e21c8a7..52682646b7 100644 --- a/docs/formatsnapshot.html.in +++ b/docs/formatsnapshot.html.in @@ -6,7 +6,7 @@
There are several types of snapshots: @@ -243,7 +243,7 @@ -
Using this XML to create a disk snapshot of just vda on a qemu domain with two disks:
diff --git a/docs/formatstorage.html.in b/docs/formatstorage.html.in index 27578e8a0f..8187cb1d06 100644 --- a/docs/formatstorage.html.in +++ b/docs/formatstorage.html.in @@ -6,7 +6,7 @@Although all storage pool backends share the same public APIs and @@ -29,7 +29,7 @@ 3.1.0). This corresponds to the storage backend drivers listed further along in this document.
-<pool type="iscsi"> @@ -66,7 +66,7 @@ pool. Since 0.4.1 -Source elements
+Source elements
A single
source
element is contained within the top level @@ -397,7 +397,7 @@ is backend specific. Since 0.8.4 -Target elements
+Target elements
A single
target
element is contained within the top level @@ -461,7 +461,7 @@ -Device extents
+Device extents
If a storage pool exposes information about its underlying @@ -481,7 +481,7 @@ device, measured in bytes. Since 0.4.1
-Storage volume XML
+Storage volume XML
A storage volume will generally be either a file or a device node; since 1.2.0, an optional @@ -491,7 +491,7 @@ XML format is available since 0.4.1
-General metadata
+General metadata
<volume type='file'> @@ -570,7 +570,7 @@ on the local host. Since 0.4.1 -Target elements
+Target elements
A single
target
element is contained within the top level @@ -686,7 +686,7 @@ -Backing store elements
+Backing store elements
A single
backingStore
element is contained within the top level @@ -732,14 +732,14 @@ -Example configuration
+Example configuration
Here are a couple of examples, for a more complete set demonstrating every type of storage pool, consult the storage driver page
-File based storage pool
+File based storage pool
<pool type="dir"> @@ -749,7 +749,7 @@ </target> </pool>-iSCSI based storage pool
+iSCSI based storage pool
<pool type="iscsi"> @@ -766,7 +766,7 @@ </target> </pool>-Storage volume
+Storage volume
<volume> @@ -784,7 +784,7 @@ </target> </volume>-Storage volume using LUKS
+Storage volume using LUKS
<volume> diff --git a/docs/formatstorageencryption.html.in b/docs/formatstorageencryption.html.in index ec09bc661f..ba19e268ac 100644 --- a/docs/formatstorageencryption.html.in +++ b/docs/formatstorageencryption.html.in @@ -6,7 +6,7 @@
Storage volumes may be encrypted, the XML snippet described below is used
@@ -37,7 +37,7 @@
secret value at the time of volume creation, and store it using the
specified uuid
.
<encryption format="default"/>
can be specified only
when creating a qcow volume. If the volume is successfully created, the
@@ -47,7 +47,7 @@
in later operations with the volume, or when setting up a domain that
uses the volume.
The qcow
format specifies that the built-in encryption
support in qcow
- or qcow2
-formatted volume
@@ -56,7 +56,7 @@
the secret
element is not present during volume creation,
a secret is automatically generated and attached to the volume.
The luks
format is specific to a luks encrypted volume
and the secret is used in order to either encrypt during volume creation
@@ -119,7 +119,7 @@
-
Here is a simple example, specifying use of the qcow
format:
diff --git a/docs/governance.html.in b/docs/governance.html.in
index 2f04281307..81c093bbdc 100644
--- a/docs/governance.html.in
+++ b/docs/governance.html.in
@@ -14,7 +14,7 @@
influence, within the community.
The libvirt project community covers people from a wide variety of @@ -49,7 +49,7 @@ from them. Playing a blame game doesn't help anyone. -
The contributors are community members who have some concrete impact @@ -156,7 +156,7 @@ covered are found in the source repositories, or website in question.
-The committers are the subset of contributors who have direct access @@ -227,7 +227,7 @@ to retain their role as a committer.
-The security team consists of a subset of the project committers @@ -252,7 +252,7 @@ before disclosing a private issue.
-A core concept for governance of the project described above is diff --git a/docs/hacking.html.in b/docs/hacking.html.in index 975ee69357..efd053d167 100644 --- a/docs/hacking.html.in +++ b/docs/hacking.html.in @@ -6,7 +6,7 @@
Discuss any large changes on the mailing list first. Post patches @@ -336,7 +336,7 @@ Richard Jones' guide to working with open source projects.
-libvirt includes support for some useful development tools right in its @@ -356,7 +356,7 @@
When reading libvirt code, a number of different naming conventions will @@ -450,7 +450,7 @@ -
Libvirt's C source code generally adheres to some basic code-formatting conventions. The existing code base is not totally consistent on this @@ -487,7 +487,7 @@ which will load the .lvimrc only when you edit libvirt code.
-With new code, we can be even more strict. @@ -523,7 +523,7 @@
-
The keywords if
, for
, while
,
@@ -572,7 +572,7 @@
int foo(int wizz); // Good
-
Commas should always be followed by a space or end of line, and @@ -609,7 +609,7 @@ }; -
Semicolons should never have a space beforehand. Inside the @@ -638,7 +638,7 @@ } -
Omit the curly braces around an if
, while
,
@@ -819,7 +819,7 @@
}
-
Macros defined with an ALL_CAPS name should generally be assumed to be unsafe with regards to arguments with side-effects @@ -844,7 +844,7 @@ #endif -
Use the right type. @@ -919,7 +919,7 @@ it points to, or it is aliased to another pointer that is.
-Use of the malloc/free/realloc/calloc APIs is deprecated in the libvirt @@ -1013,7 +1013,7 @@ -
Usage of the fdopen()
, close()
, fclose()
@@ -1059,7 +1059,7 @@
-
Do not use the strcmp, strncmp, etc functions directly. Instead use @@ -1109,7 +1109,7 @@ -
Do not use the strncpy function. According to the man page, it @@ -1169,7 +1169,7 @@ and usually considered a flaw.
-If there is a need for complex string concatenations, avoid using @@ -1202,7 +1202,7 @@ -
There are now quite a large number of include files, both libvirt @@ -1251,7 +1251,7 @@
-Whenever you add a new printf-style function, i.e., one with a format @@ -1280,7 +1280,7 @@ does for snprintf.
-The use of goto is not forbidden, and goto is widely used @@ -1363,7 +1363,7 @@ int foo() -
The AUTHORS files indicates the list of people with commit access right diff --git a/docs/hooks.html.in b/docs/hooks.html.in index 11073cb782..7a04ac198c 100644 --- a/docs/hooks.html.in +++ b/docs/hooks.html.in @@ -6,7 +6,7 @@
Beginning with libvirt 0.8.0, specific events on a host system will trigger custom scripts.
These custom hook scripts are executed when any of the following
@@ -26,7 +26,7 @@
(since 1.2.2)
-
The libvirt hook scripts are located in the directory
$SYSCONFDIR/libvirt/hooks/
.
At present, there are five hook scripts that can be called:
/etc/libvirt/hooks/daemon
The hook scripts are executed using standard Linux process creation functions. Therefore, they must begin with the declaration of the command interpreter to use.
@@ -73,7 +73,7 @@ binary, so you are welcome to use your favourite languages.The hook scripts are called with specific command line arguments, depending upon the script, and the operation being performed.
The guest hook scripts, qemu and lxc, are also given the full @@ -128,10 +128,10 @@ none.
This translates to the following specifics for each hook script:
-/etc/libvirt/hooks/daemon - start - start
Migration of a QEMU guest involves running hook scripts on both the source and destination hosts:
DO NOT DO THIS!
A hook script must not call back into libvirt, as the libvirt daemon is already waiting for the script to exit.
A deadlock is likely to occur.
If a hook script returns with an exit code of 0, the libvirt daemon regards this as successful and performs no logging of it.
However, if a hook script returns with a non zero exit code, the libvirt diff --git a/docs/internals/command.html.in b/docs/internals/command.html.in index 2d8b093083..e21b12e531 100644 --- a/docs/internals/command.html.in +++ b/docs/internals/command.html.in @@ -12,7 +12,7 @@ All code is required to use these APIs
-The POSIX specification includes a number of APIs for @@ -62,7 +62,7 @@ error prone, particularly wrt memory leak / OOM handling.
-
There is now a high level API that provides a safe and
@@ -72,7 +72,7 @@
header which can be imported using #include "vircommand.h"
The first step is to declare what command is to be @@ -92,7 +92,7 @@ virCommandPtr cmd = virCommandNew("/usr/bin/dnsmasq"); reported at a later time.
-There are a number of APIs for adding arguments to a @@ -150,7 +150,7 @@ virCommandPtr cmd2 = virCommandNewArgList("/usr/bin/dnsmasq", "--domain", "localdomain", NULL); -
By default a command will inherit all environment variables @@ -199,7 +199,7 @@ virCommandAddEnvPair(cmd, "TERM", "xterm"); virCommandAddEnvString(cmd, "TERM=xterm"); -
Normally the spawned command will retain the current @@ -229,7 +229,7 @@ virCommandSetPidFile(cmd, "/var/run/dnsmasq.pid"); the intermediate process exits.
-Normally a command will inherit all privileges of @@ -243,7 +243,7 @@ virCommandSetPidFile(cmd, "/var/run/dnsmasq.pid"); virCommandClearCaps(cmd); -
To prevent unintended resource leaks to child processes, the @@ -329,7 +329,7 @@ virCommandSetErrorFD(cmd, &errfd); virCommandNonblockingFDs(cmd); -
Often dealing with file handles for stdin/out/err is @@ -382,7 +382,7 @@ virCommandSetErrorBuffer(cmd, &errors); case the child process interleaves output into a single string.
-Daemonized commands are always run with "/" as the current @@ -395,7 +395,7 @@ virCommandSetErrorBuffer(cmd, &errors); virCommandSetWorkingDirectory(cmd, LOCALSTATEDIR); -
If anything else is needed, it is possible to request a hook @@ -409,7 +409,7 @@ virCommandSetWorkingDirectory(cmd, LOCALSTATEDIR); virCommandSetPreExecHook(cmd, hook, opaque); -
Sometimes, it is desirable to log what command will be run, or @@ -434,7 +434,7 @@ if (virCommandRun(cmd, NULL) < 0) return -1; -
For most commands, the desired behaviour is to spawn @@ -480,7 +480,7 @@ if (WIFEXITED(status) && WEXITSTATUS(status) == 1) { } -
In certain complex scenarios, particularly special @@ -530,7 +530,7 @@ if (WEXITSTATUS(status)...) { virCommandAbort to reap the process.
-Once the command has been executed, or if execution @@ -550,7 +550,7 @@ virCommandFree(cmd); it will be forcibly killed and cleaned up (via waitpid).
-This shows a complete example usage of the APIs roughly diff --git a/docs/internals/eventloop.html.in b/docs/internals/eventloop.html.in index a01e104e8a..fe7bf3aaf8 100644 --- a/docs/internals/eventloop.html.in +++ b/docs/internals/eventloop.html.in @@ -11,7 +11,7 @@ libvirt. Both server and client.
-Traditionally, a program simply ran once, then terminated. This type of program was very common in the early days of @@ -38,7 +38,7 @@ file descriptor which is then watched for incoming events, e.g. messages.
-To work with event loop from our code we have plenty of APIs.
@@ -62,7 +62,7 @@For more information on these APIs continue reading here.
-Looking back at the image above we can see one big limitation. While processing a message event loop is blocked diff --git a/docs/internals/locking.html.in b/docs/internals/locking.html.in index 09cc2ba4af..4222c44d32 100644 --- a/docs/internals/locking.html.in +++ b/docs/internals/locking.html.in @@ -12,7 +12,7 @@ access to content.
-The high level goal is to prevent the same disk image being @@ -36,7 +36,7 @@
The high level goal leads to a set of requirements @@ -67,7 +67,7 @@ -
Within a lock manager the following series of operations @@ -102,7 +102,7 @@
Lock manager implementations are provided as LGPLv2+ @@ -132,7 +132,7 @@ in the previously mentioned header file
-With the QEMU driver, the lock plugin will be set @@ -149,7 +149,7 @@ lockManager="sanlock" for backwards compatibility
-The following pseudo code illustrates the common @@ -157,7 +157,7 @@ lockManager="sanlock" manager plugin callbacks.
-Initial lock acquisition will be performed from the @@ -205,7 +205,7 @@ if (virLockManagerAcquire(lock, NULL, 0) < 0); ...abort... -
The locks are all implicitly released when the process diff --git a/docs/internals/oomtesting.html.in b/docs/internals/oomtesting.html.in index c5edacff6a..aca8fde130 100644 --- a/docs/internals/oomtesting.html.in +++ b/docs/internals/oomtesting.html.in @@ -26,7 +26,7 @@ $ ./configure --enable-test-oom -
The first step in validating OOM usage is to run a test suite @@ -64,7 +64,7 @@ $ VIR_TEST_OOM=1 ./qemuxml2argvtest of memory allocations from that test case.
-The test suite should obviously *not* crash during OOM testing. @@ -88,7 +88,7 @@ $ VIR_TEST_OOM=1 VIR_TEST_RANGE=5 ../run valgrind ./qemuxml2argvtest access.
-With some really difficult bugs valgrind is not sufficient to @@ -191,7 +191,7 @@ _start ??:? -
Not all memory allocation bugs result in code crashing. Sometimes diff --git a/docs/internals/rpc.html.in b/docs/internals/rpc.html.in index 9107b97a2a..98f8be07b3 100644 --- a/docs/internals/rpc.html.in +++ b/docs/internals/rpc.html.in @@ -17,7 +17,7 @@
-libvirt uses a simple, variable length, packet based RPC protocol. @@ -193,14 +193,14 @@ definition for the program+version in question
-The following diagrams illustrate some example packet exchanges between a client and server
-A single method call and successful @@ -219,7 +219,7 @@ C <-- |32| 8 | 1 | 3 | 1 | 1 | 0 | .o.oOo | <-- S (reply) +--+-----------------------+--------+ -
An unsuccessful method call will instead return an error object @@ -235,7 +235,7 @@ C <-- |48| 8 | 1 | 3 | 2 | 1 | 0 | .o.oOo.o.oOo.o.oOo.o.oOo | <-- S (er +--+-----------------------+--------------------------+ -
A method call which also involves uploading some data over @@ -272,7 +272,7 @@ C <-- |24| 8 | 1 | 3 | 3 | 1 | 0 | <-- S (stream finish) +--+-----------------------+ -
A method call which also involves a bi-directional stream will @@ -328,7 +328,7 @@ C <-- |24| 8 | 1 | 3 | 3 | 1 | 0 | <-- S (stream finish) -
+--+-----------------------+-----------+ C --> |38| 8 | 1 | 3 | 0 | 1 | 0 | .o.oOo.o. | --> S (call 1) @@ -356,7 +356,7 @@ C <-- |32| 8 | 1 | 3 | 1 | 4 | 0 | .o.oOo | <-- S (reply 4) +--+-----------------------+--------+-
A single method call with 2 passed file descriptors and successful @@ -378,14 +378,14 @@ C <-- |32| 8 | 1 | 3 | 1 | 1 | 0 | .o.oOo | <-- S (reply) -
There are various things to consider to ensure an implementation of the RPC protocol can be satisfactorily secured
-The basic RPC protocol does not define or require any specific @@ -399,7 +399,7 @@ C <-- |32| 8 | 1 | 3 | 1 | 1 | 0 | .o.oOo | <-- S (reply) stream can of course be tunnelled over transports such as SSH.
-Although the protocol itself defines many arbitrary sized data values in the @@ -411,7 +411,7 @@ C <-- |32| 8 | 1 | 3 | 1 | 1 | 0 | .o.oOo | <-- S (reply) breaking compatibility of the RPC data on the wire.
-It is important that all data be fully validated before performing @@ -427,7 +427,7 @@ C <-- |32| 8 | 1 | 3 | 1 | 1 | 0 | .o.oOo | <-- S (reply) execution API (e.g. corresponding libvirt public API).
-
The generic internal RPC library code lives in the src/rpc/
@@ -436,7 +436,7 @@ C <-- |32| 8 | 1 | 3 | 1 | 1 | 0 | .o.oOo | <-- S (reply)
purposes are:
The following is a high level overview of the role of each @@ -568,7 +568,7 @@ C <-- |32| 8 | 1 | 3 | 1 | 1 | 0 | .o.oOo | <-- S (reply) -
The client RPC code must allow for multiple overlapping RPC method @@ -601,7 +601,7 @@ C <-- |32| 8 | 1 | 3 | 1 | 1 | 0 | .o.oOo | <-- S (reply) grabs the buck, and re-enabled when the buck is released.
-In the first example, a second thread issues an API call @@ -649,7 +649,7 @@ C <-- |32| 8 | 1 | 3 | 1 | 1 | 0 | .o.oOo | <-- S (reply) Return API2() -
In this second example, a second thread issues an API call @@ -699,7 +699,7 @@ C <-- |32| 8 | 1 | 3 | 1 | 1 | 0 | .o.oOo | <-- S (reply) Return API1() -
In this example, only one thread is present and it has to @@ -739,7 +739,7 @@ C <-- |32| 8 | 1 | 3 | 1 | 1 | 0 | .o.oOo | <-- S (reply) ... -
The RPC server code must support receipt of incoming RPC requests from @@ -827,7 +827,7 @@ C <-- |32| 8 | 1 | 3 | 1 | 1 | 0 | .o.oOo | <-- S (reply) queue.
-This example illustrates processing of two incoming methods with @@ -874,7 +874,7 @@ C <-- |32| 8 | 1 | 3 | 1 | 1 | 0 | .o.oOo | <-- S (reply) ... -
This example illustrates processing of stream data diff --git a/docs/locking-lockd.html.in b/docs/locking-lockd.html.in index fe007b1074..42fcf0e686 100644 --- a/docs/locking-lockd.html.in +++ b/docs/locking-lockd.html.in @@ -12,7 +12,7 @@ plugin for virtual machine disk mutual exclusion.
-The virtlockd daemon is a single purpose binary which @@ -26,7 +26,7 @@ commonly used filesystems.
-In most OS, the virtlockd daemon itself will not require @@ -53,7 +53,7 @@ setup at all.
-Once the virtlockd daemon is running, or setup to autostart, @@ -127,7 +127,7 @@ $ su - root the same locking mechanism
-The QEMU driver is capable of using the virtlockd plugin diff --git a/docs/locking-sanlock.html.in b/docs/locking-sanlock.html.in index 12fc3d7247..08182065dc 100644 --- a/docs/locking-sanlock.html.in +++ b/docs/locking-sanlock.html.in @@ -13,7 +13,7 @@ plugin for virtual machine disk mutual exclusion.
-On many operating systems, the sanlock plugin @@ -68,7 +68,7 @@ SANLOCKOPTS="-w 0" steps as necessary.
-Once the sanlock daemon is running, the next step is to @@ -91,7 +91,7 @@ $ su - root unique value for the host.
-The sanlock plugin needs to create leases in a directory @@ -152,7 +152,7 @@ augtool -s set /files/etc/libvirt/qemu-sanlock.conf/group sanlock it should be sufficient to run the cleanup once a week.
-The QEMU/KVM driver is fully integrated with the lock @@ -219,7 +219,7 @@ __LIBVIRT__DISKS__ </pool> -
In case sanlock loses access to disk locks for some reason, it will diff --git a/docs/locking.html.in b/docs/locking.html.in index aca18113dd..f0e0a38687 100644 --- a/docs/locking.html.in +++ b/docs/locking.html.in @@ -15,7 +15,7 @@ aware filesystem.
-The lock manager framework has a pluggable architecture, diff --git a/docs/logging.html.in b/docs/logging.html.in index bcec179405..534afa1cd8 100644 --- a/docs/logging.html.in +++ b/docs/logging.html.in @@ -12,7 +12,7 @@
The logging functionalities in libvirt are based on 3 key concepts, similar to the one present in other generic logging facilities like @@ -40,7 +40,7 @@
The library configuration of logging is through 3 environment variables allowing to control the logging behaviour:
@@ -61,7 +61,7 @@ have an error in a filter or output string, some of the settings may be applied up to the point at which libvirt encountered the error.Similarly the daemon logging behaviour can be tuned using 3 config variables, stored in the configuration file:
@@ -96,7 +96,7 @@ for debugging purposes by sending the daemon a USR2 signal:killall -USR2 libvirtd
The syntax for filters and outputs is the same for both types of variables.
@@ -149,7 +149,7 @@ x:+name (log message + stack trace) but also log all debug and information included in the file/tmp/libvirt.log
- When logging to the systemd journal, the following fields @@ -176,7 +176,7 @@ x:+name (log message + stack trace)
Certain areas of the code will emit log records tagged with well known @@ -221,7 +221,7 @@ $ journalctl MESSAGE_ID=8ae2f3fb-2dbe-498e-8fbd-012d40afa361 --output=json
For example setting up the following:
export LIBVIRT_DEBUG=1 diff --git a/docs/migration.html.in b/docs/migration.html.in index a57f27918e..d82fb54b4b 100644 --- a/docs/migration.html.in +++ b/docs/migration.html.in @@ -13,7 +13,7 @@ libvirt implements several options for migration. --Network data transports
+Network data transports
There are two options for the data transport used during migration, either @@ -21,7 +21,7 @@ over a libvirtd connection.
-Hypervisor native transport
+Hypervisor native transport
Native data transports may or may not support encryption, depending on the hypervisor in question, but will typically have the lowest computational costs @@ -35,7 +35,7 @@
-![]()
libvirt tunnelled transport
+libvirt tunnelled transport
Tunnelled data transports will always be capable of strong encryption since they are able to leverage the capabilities built in to the libvirt RPC protocol. @@ -53,7 +53,7 @@
-![]()
Communication control paths/flows
+Communication control paths/flows
Migration of virtual machines requires close co-ordination of the two @@ -61,7 +61,7 @@ which may be on the source, the destination, or a third host.
-Managed direct migration
+Managed direct migration
With managed direct migration, the libvirt client process @@ -81,7 +81,7 @@
-Managed peer to peer migration
+Managed peer to peer migration
With peer to peer migration, the libvirt client process only @@ -103,7 +103,7 @@
-Unmanaged direct migration
+Unmanaged direct migration
With unmanaged direct migration, neither the libvirt client @@ -119,7 +119,7 @@
-Data security
+Data security
Since the migration data stream includes a complete copy of the guest @@ -138,7 +138,7 @@ facility should be used.
-Offline migration
+Offline migration
Offline migration transfers inactive the definition of a domain @@ -153,7 +153,7 @@ offline migration.
-Migration URIs
+Migration URIs
Initiating a guest migration requires the client application to @@ -203,7 +203,7 @@ to comply with local firewall policies. -
Configuration file handling
+Configuration file handling
There are two types of virtual machine known to libvirt. A transient @@ -446,10 +446,10 @@ -
Migration scenarios
+Migration scenarios
-Native migration, client to two libvirtd servers
+Native migration, client to two libvirtd servers
At an API level this requires use of virDomainMigrate, without the @@ -479,7 +479,7 @@ virsh migrate web1 xen+tcp://desthost/system xenmigr:10.0.0.1/ Supported by Xen, QEMU, VMware and VirtualBox drivers
-Native migration, client to and peer2peer between, two libvirtd servers
+Native migration, client to and peer2peer between, two libvirtd servers
virDomainMigrate, with the VIR_MIGRATE_PEER2PEER flag set, @@ -503,7 +503,7 @@ virsh migrate web1 xen+tcp://desthost/system xenmigr:10.0.0.1/ Supported by QEMU driver
-Tunnelled migration, client and peer2peer between two libvirtd servers
+Tunnelled migration, client and peer2peer between two libvirtd servers
virDomainMigrate, with the VIR_MIGRATE_PEER2PEER & VIR_MIGRATE_TUNNELLED @@ -526,7 +526,7 @@ virsh migrate web1 xen+tcp://desthost/system xenmigr:10.0.0.1/ Supported by QEMU driver
-Native migration, client to one libvirtd server
+Native migration, client to one libvirtd server
virDomainMigrateToURI, without the VIR_MIGRATE_PEER2PEER flag set, @@ -550,7 +550,7 @@ virsh migrate --direct web1 xenmigr://desthost/ Supported by Xen driver
-Native migration, peer2peer between two libvirtd servers
+Native migration, peer2peer between two libvirtd servers
virDomainMigrateToURI, with the VIR_MIGRATE_PEER2PEER flag set, @@ -587,7 +587,7 @@ virsh migrate --p2p web1 qemu+ssh://desthost/system qemu+ssh://10.0.0.1/system Supported by the QEMU driver
-Tunnelled migration, peer2peer between two libvirtd servers
+Tunnelled migration, peer2peer between two libvirtd servers
virDomainMigrateToURI, with the VIR_MIGRATE_PEER2PEER & VIR_MIGRATE_TUNNELLED diff --git a/docs/nss.html.in b/docs/nss.html.in index 2a5a46cd16..369c9ff619 100644 --- a/docs/nss.html.in +++ b/docs/nss.html.in @@ -25,7 +25,7 @@ users. This is where NSS module comes handy.
-Installation
+Installation
Installing the module is really easy: @@ -35,7 +35,7 @@ # yum install libvirt-nss
Enabling the module is really easy. Just add libvirt into @@ -62,7 +62,7 @@ hosts: files libvirt dns lookup given host name.
-
As of v3.0.0
release, libvirt offers two NSS modules
@@ -104,7 +104,7 @@ hosts: files libvirt libvirt_guest dns
resolved).
Whenever an Unix process wants to do a host name translation @@ -139,7 +139,7 @@ hosts: files libvirt libvirt_guest dns should carefully chose the lookup order.
-libvirt
NSS module matches only hostnames provided by guest.
diff --git a/docs/page.xsl b/docs/page.xsl
index 5d8e6e8263..9e7f9a53f5 100644
--- a/docs/page.xsl
+++ b/docs/page.xsl
@@ -27,30 +27,30 @@
On the remote machine, libvirtd
should be running in general.
@@ -50,7 +50,7 @@ relating to failures in the remote transport itself.
Remote libvirt supports a range of transports:
@@ -111,7 +111,7 @@ netcat is required on the remote side.
The default transport, if no other is specified, is tls
.
See also: documentation on ordinary ("local") URIs. @@ -158,7 +158,7 @@ Connect to a remote host using a ssh connection with the libssh driver and use a different known_hosts file.
Extra parameters can be added to remote URIs as part @@ -364,10 +364,10 @@ Note that parameter values must be
If you are unsure how to create TLS certificates, skip to the @@ -472,7 +472,7 @@ next section.
Libvirt supports TLS certificates for verifying the identity @@ -507,7 +507,7 @@ address. You may want to change this to make it less (or more) permissive, depending on your needs.
You will need the GnuTLS @@ -578,7 +578,7 @@ key carefully as you will need it when you come to issue certificates for your clients and servers.
For each server (libvirtd) you need to issue a certificate @@ -661,7 +661,7 @@ which can be installed on the server as
For each client (ie. any program linked with libvirt, such as @@ -714,7 +714,7 @@ cp clientcert.pem /etc/pki/libvirt/clientcert.pem
Libvirtd (the remote daemon) is configured from a file called
@@ -900,7 +900,7 @@ Blank lines and comments beginning with #
are ignored.
The libvirtd service and libvirt remote client driver both use the @@ -913,7 +913,7 @@ connection will be made, otherwise IPv4 will be used. In summary it should just 'do the right thing(tm)'.
Historically there have been multiple flaws in QEMU and most @@ -40,7 +40,7 @@ are accessible to / originate from an untrusted source.
-If a management application allows users to upload pre-created @@ -59,7 +59,7 @@ file set. If a backing file is seen, reject the image.
-If an application allows users to upload pre-created disk @@ -78,7 +78,7 @@ limit.
-If an untrusted disk image is ever mounted on the host OS by @@ -104,7 +104,7 @@ tools and APIs for accessing disks
-Most hypervisors with support for guest migration between hosts @@ -145,7 +145,7 @@ RPC protocol connections.
Virtual disk images will typically contain confidential data diff --git a/docs/securityprocess.html.in b/docs/securityprocess.html.in index bdef1e9d88..d37276d156 100644 --- a/docs/securityprocess.html.in +++ b/docs/securityprocess.html.in @@ -15,7 +15,7 @@ potential security issues.
-In the event that a bug in libvirt is found which is @@ -37,7 +37,7 @@ moderator and the reporter copied on any replies.
-The libvirt security team is made up of a subset of the libvirt @@ -61,7 +61,7 @@ described below.
-The libvirt security team operates a policy of @@ -84,7 +84,7 @@
-The libvirt security team will associate each security issue with @@ -92,7 +92,7 @@ the vendor security engineers on the security team.
-The libvirt community maintains one or more stable release branches @@ -103,7 +103,7 @@ other release branches where applicable.
-When an embargo expires, security issues will be announced on both diff --git a/docs/storage.html.in b/docs/storage.html.in index 89ebb70970..aad5751ef9 100644 --- a/docs/storage.html.in +++ b/docs/storage.html.in @@ -85,7 +85,7 @@
A pool with a type of dir
provides the means to manage
files within a directory. The files can be fully allocated raw files,
@@ -138,7 +138,7 @@
This is a variant of the directory pool. Instead of creating a directory on an existing mounted filesystem though, it expects @@ -212,7 +212,7 @@
-This is a variant of the filesystem pool. Instead of requiring a local block device as the source, it requires the name of a @@ -266,7 +266,7 @@
-This provides a pool based on an LVM volume group. For a pre-defined LVM volume group, simply providing the group @@ -303,7 +303,7 @@
-This provides a pool based on a physical disk. Volumes are created by adding partitions to the disk. Disk pools have constraints @@ -394,7 +394,7 @@ -
This provides a pool based on an iSCSI target. Volumes must be pre-allocated on the iSCSI server, and cannot be created via @@ -433,7 +433,7 @@ The iSCSI volume pool does not use the volume format type element.
-This provides a pool based on a SCSI HBA. Volumes are preexisting SCSI LUNs, and cannot be created via the libvirt APIs. Since /dev/XXX names @@ -465,7 +465,7 @@ The SCSI volume pool does not use the volume format type element.
-This provides a pool that contains all the multipath devices on the host. Therefore, only one Multipath pool may be configured per host. @@ -498,7 +498,7 @@ The Multipath volume pool does not use the volume format type element.
-This storage driver provides a pool which contains all RBD images in a RADOS pool. RBD (RADOS Block Device) is part @@ -571,7 +571,7 @@ The RBD pool does not use the volume format type element.
-This provides a pool based on a Sheepdog Cluster. Sheepdog is a distributed storage system for QEMU/KVM. @@ -630,7 +630,7 @@ The Sheepdog pool does not use the volume format type element.
-This provides a pool based on native Gluster access. Gluster is a distributed file system that can be exposed to the user via @@ -716,7 +716,7 @@ pool type.
-This provides a pool based on the ZFS filesystem. Initially it was developed for FreeBSD, and since 1.3.2 experimental support @@ -754,7 +754,7 @@
The ZFS volume pool does not use the volume format type element.
-This provides a pool based on Virtuozzo storage. Virtuozzo Storage is a highly available distributed software-defined storage with built-in diff --git a/docs/uri.html.in b/docs/uri.html.in index 7702ccc6e6..defb9eec24 100644 --- a/docs/uri.html.in +++ b/docs/uri.html.in @@ -16,7 +16,7 @@ machine over the network. To this end, libvirt uses URIs as used on the Web and as defined in RFC 2396. This page documents libvirt URIs.
-
The URI is passed as the name
parameter to
@@ -33,7 +33,7 @@ documents libvirt URIs.
virConnectPtr conn = virConnectOpenReadOnly ("test:///default");
@@ -61,7 +61,7 @@ uri_aliases = [ set, no alias lookup will be attempted.
-
If the URI passed to virConnectOpen*
is NULL, then libvirt will use the following
@@ -75,7 +75,7 @@ logic to determine what URI to use.
In virsh use the -c
or --connect
option:
@@ -107,7 +107,7 @@ In virt-install use the --connect=
URI option:
virt-install --connect=test:///default [other options]
This section describes a feature which is new in libvirt >
@@ -118,7 +118,7 @@ To access a Xen hypervisor running on the local machine
use the URI xen:///
.
To use QEMU support in libvirt you must be running the @@ -150,7 +150,7 @@ KVM guests in the guest XML as described here.
Remote URIs are formed by taking ordinary local URIs and adding a @@ -213,7 +213,7 @@ remote URI reference and full documentation for libvirt remote support.
The test driver is a dummy hypervisor for test purposes. @@ -227,10 +227,10 @@ a set of host definitions held in the named file.
Libvirt allows you to pass a NULL
pointer to
@@ -254,7 +254,7 @@ application wishes to connect specifically to a Xen hypervisor, then
for future proofing it should choose a full xen:///
URI.
If XenD is running and configured in /etc/xen/xend-config.sxp
:
@@ -271,7 +271,7 @@ using a file URI such as:
virsh -c ///var/run/xend/xend-socket
http://...
(xend-http-server)
+ Legacy: http://...
(xend-http-server)
If XenD is running and configured in /etc/xen/xend-config.sxp
:
@@ -307,7 +307,7 @@ Notes:
documentation as "unix server" or "http server".
"xen"
+ Legacy: "xen"
Another legacy URI is to specify name as the string
@@ -315,7 +315,7 @@ Another legacy URI is to specify name as the string
hypervisor. However you should prefer a full xen:///
URI in all future code.
Libvirt continues to support connections to a separately running Xen diff --git a/docs/virshcmdref.html.in b/docs/virshcmdref.html.in index 5503ca0dad..f7cc5ddae8 100644 --- a/docs/virshcmdref.html.in +++ b/docs/virshcmdref.html.in @@ -6,7 +6,7 @@
The new Virsh Command Reference, for documenting the commands @@ -24,7 +24,7 @@
-
The latest version can be viewed directly online: @@ -41,7 +41,7 @@
-
The latest version of the Virsh Command Reference can be downloaded: @@ -68,7 +68,7 @@ -
The DocBook source is maintained in a git repository available on diff --git a/docs/windows.html.in b/docs/windows.html.in index a0fe533a3d..708bb1b186 100644 --- a/docs/windows.html.in +++ b/docs/windows.html.in @@ -12,7 +12,7 @@ as well but we either haven't tested or received reports for them.
-Users who need pre-built Windows DLLs of libvirt are advised @@ -29,7 +29,7 @@ against libvirt.
-These connection types are known to work: @@ -71,7 +71,7 @@ be used in security sensitive environments.
-Details on the capabilities, certificates, and connection string @@ -81,7 +81,7 @@ http://libvirt.org/drvesx.html -
TLS certificates need to have been created and placed in the correct @@ -141,21 +141,21 @@
Feedback and suggestions on changes to make and what else to include are desired.
-Libvirt can be compiled on Windows using the free MinGW compiler.
-The easiest way is to use the msys_setup script, developed by @@ -165,7 +165,7 @@ https://github.com/photron/msys_setup -
You can also cross-compile to a Windows target from a Fedora machine @@ -174,7 +174,7 @@ (which includes a working libvirt specfile).
-Use these options when following the instructions on the