2011-05-04 22:18:06 +08:00
|
|
|
gnulib/lib/gai_strerror.c
|
2016-06-09 08:50:35 +08:00
|
|
|
gnulib/lib/getopt.c
|
2012-04-04 18:56:04 +08:00
|
|
|
gnulib/lib/regcomp.c
|
2012-01-23 23:12:57 +08:00
|
|
|
src/access/viraccessdriverpolkit.c
|
2012-01-21 02:02:55 +08:00
|
|
|
src/access/viraccessmanager.c
|
2018-01-19 19:30:31 +08:00
|
|
|
src/admin/admin_server.c
|
|
|
|
src/admin/admin_server_dispatch.c
|
|
|
|
src/admin/admin_server_dispatch_stubs.h
|
2016-07-17 05:03:33 +08:00
|
|
|
src/bhyve/bhyve_capabilities.c
|
2014-02-18 18:08:10 +08:00
|
|
|
src/bhyve/bhyve_command.c
|
2014-04-13 03:37:53 +08:00
|
|
|
src/bhyve/bhyve_device.c
|
bhyve: fix SATA address allocation
As bhyve for a long time didn't have a notion of the explicit SATA
controller and created a controller for each drive, the bhyve driver
in libvirt acted in a similar way and didn't care about the SATA
controllers and assigned PCI addresses to drives directly, as
the generated command will look like this anyway:
2:0,ahci-hd,somedisk.img
This no longer makes sense because:
1. After commit c07d1c1c4f it's not possible to assign
PCI addresses to disks
2. Bhyve now supports multiple disk drives for a controller,
so it's going away from 1:1 controller:disk mapping, so
the controller object starts to make more sense now
So, this patch does the following:
- Assign PCI address to SATA controllers (previously we didn't do this)
- Assign disk addresses instead of PCI addresses for disks. Now, when
building a bhyve command, we take PCI address not from the disk
itself but from its controller
- Assign addresses at XML parsing time using the
assignAddressesCallback. This is done mainly for being able to
verify address allocation via xml2xml tests
- Adjust existing bhyvexml2{xml,argv} tests to chase the new
address allocation
This patch is largely based on work of Fabian Freyer.
2017-01-05 20:51:25 +08:00
|
|
|
src/bhyve/bhyve_domain.c
|
2014-02-18 18:08:10 +08:00
|
|
|
src/bhyve/bhyve_driver.c
|
2014-11-15 00:03:30 +08:00
|
|
|
src/bhyve/bhyve_monitor.c
|
2016-06-01 15:57:43 +08:00
|
|
|
src/bhyve/bhyve_parse_command.c
|
2014-02-18 18:08:10 +08:00
|
|
|
src/bhyve/bhyve_process.c
|
2013-07-18 17:21:48 +08:00
|
|
|
src/conf/capabilities.c
|
backup: Parse and output checkpoint XML
Add a new file checkpoint_conf.c that performs the translation to and
from new XML describing a checkpoint. The code shares a common base
class with snapshots, since a checkpoint similarly represents the
domain state at a moment in time. Add some basic testing of round trip
XML handling through the new code.
Of note - this code intentionally differs from snapshots in that XML
schema validation is unconditional, rather than based on a public API
flag. We have many existing interfaces that still need to add a flag
for opt-in schema validation, but those interfaces have existing
clients that may not have been producing strictly-compliant XML, or we
may still uncover bugs where our RNG grammar is inconsistent with our
code (where omitting the opt-in flag allows existing apps to keep
working while waiting for an RNG patch). But since checkpoints are
brand-new, it's easier to ensure the code matches the schema by always
using the schema. If needed, a later patch could extend the API and
add a flag to turn on to request schema validation, rather than having
it forced (possibly just the validation of the <domain> sub-element
during REDEFINE) - but if a user encounters XML that looks like it
should be good but fails to validate with our RNG schema, they would
either have to upgrade to a new libvirt that adds the new flag, or
upgrade to a new libvirt that fixes the RNG schema, which implies
adding such a flag won't help much.
Also, the redefine flag requires the <domain> sub-element to be
present, rather than catering to historical back-compat to older
versions.
Signed-off-by: Eric Blake <eblake@redhat.com>
2018-07-08 10:01:14 +08:00
|
|
|
src/conf/checkpoint_conf.c
|
2009-12-18 21:50:04 +08:00
|
|
|
src/conf/cpu_conf.c
|
2012-08-16 23:41:06 +08:00
|
|
|
src/conf/device_conf.c
|
2014-05-14 00:10:40 +08:00
|
|
|
src/conf/domain_addr.c
|
2014-06-25 19:24:53 +08:00
|
|
|
src/conf/domain_capabilities.c
|
2009-09-17 00:26:27 +08:00
|
|
|
src/conf/domain_conf.c
|
2010-01-14 02:11:33 +08:00
|
|
|
src/conf/domain_event.c
|
2009-09-17 00:26:27 +08:00
|
|
|
src/conf/interface_conf.c
|
Split src/util/network.{c,h} into 5 pieces
The src/util/network.c file is a dumping ground for many different
APIs. Split it up into 5 pieces, along functional lines
- src/util/virnetdevbandwidth.c: virNetDevBandwidth type & helper APIs
- src/util/virnetdevvportprofile.c: virNetDevVPortProfile type & helper APIs
- src/util/virsocketaddr.c: virSocketAddr and APIs
- src/conf/netdev_bandwidth_conf.c: XML parsing / formatting
for virNetDevBandwidth
- src/conf/netdev_vport_profile_conf.c: XML parsing / formatting
for virNetDevVPortProfile
* src/util/network.c, src/util/network.h: Split into 5 pieces
* src/conf/netdev_bandwidth_conf.c, src/conf/netdev_bandwidth_conf.h,
src/conf/netdev_vport_profile_conf.c, src/conf/netdev_vport_profile_conf.h,
src/util/virnetdevbandwidth.c, src/util/virnetdevbandwidth.h,
src/util/virnetdevvportprofile.c, src/util/virnetdevvportprofile.h,
src/util/virsocketaddr.c, src/util/virsocketaddr.h: New pieces
* daemon/libvirtd.h, daemon/remote.c, src/conf/domain_conf.c,
src/conf/domain_conf.h, src/conf/network_conf.c,
src/conf/network_conf.h, src/conf/nwfilter_conf.h,
src/esx/esx_util.h, src/network/bridge_driver.c,
src/qemu/qemu_conf.c, src/rpc/virnetsocket.c,
src/rpc/virnetsocket.h, src/util/dnsmasq.h, src/util/interface.h,
src/util/iptables.h, src/util/macvtap.c, src/util/macvtap.h,
src/util/virnetdev.h, src/util/virnetdevtap.c,
tools/virsh.c: Update include files
2011-11-02 23:40:08 +08:00
|
|
|
src/conf/netdev_bandwidth_conf.c
|
2012-08-12 15:51:30 +08:00
|
|
|
src/conf/netdev_vlan_conf.c
|
Split src/util/network.{c,h} into 5 pieces
The src/util/network.c file is a dumping ground for many different
APIs. Split it up into 5 pieces, along functional lines
- src/util/virnetdevbandwidth.c: virNetDevBandwidth type & helper APIs
- src/util/virnetdevvportprofile.c: virNetDevVPortProfile type & helper APIs
- src/util/virsocketaddr.c: virSocketAddr and APIs
- src/conf/netdev_bandwidth_conf.c: XML parsing / formatting
for virNetDevBandwidth
- src/conf/netdev_vport_profile_conf.c: XML parsing / formatting
for virNetDevVPortProfile
* src/util/network.c, src/util/network.h: Split into 5 pieces
* src/conf/netdev_bandwidth_conf.c, src/conf/netdev_bandwidth_conf.h,
src/conf/netdev_vport_profile_conf.c, src/conf/netdev_vport_profile_conf.h,
src/util/virnetdevbandwidth.c, src/util/virnetdevbandwidth.h,
src/util/virnetdevvportprofile.c, src/util/virnetdevvportprofile.h,
src/util/virsocketaddr.c, src/util/virsocketaddr.h: New pieces
* daemon/libvirtd.h, daemon/remote.c, src/conf/domain_conf.c,
src/conf/domain_conf.h, src/conf/network_conf.c,
src/conf/network_conf.h, src/conf/nwfilter_conf.h,
src/esx/esx_util.h, src/network/bridge_driver.c,
src/qemu/qemu_conf.c, src/rpc/virnetsocket.c,
src/rpc/virnetsocket.h, src/util/dnsmasq.h, src/util/interface.h,
src/util/iptables.h, src/util/macvtap.c, src/util/macvtap.h,
src/util/virnetdev.h, src/util/virnetdevtap.c,
tools/virsh.c: Update include files
2011-11-02 23:40:08 +08:00
|
|
|
src/conf/netdev_vport_profile_conf.c
|
2016-04-10 02:02:49 +08:00
|
|
|
src/conf/network_conf.c
|
2016-04-11 00:58:53 +08:00
|
|
|
src/conf/networkcommon_conf.c
|
2009-09-17 00:26:27 +08:00
|
|
|
src/conf/node_device_conf.c
|
2015-02-11 17:08:35 +08:00
|
|
|
src/conf/numa_conf.c
|
2010-03-26 01:46:07 +08:00
|
|
|
src/conf/nwfilter_conf.c
|
|
|
|
src/conf/nwfilter_params.c
|
2013-11-26 22:10:15 +08:00
|
|
|
src/conf/object_event.c
|
2009-09-17 00:26:27 +08:00
|
|
|
src/conf/secret_conf.c
|
2012-08-14 08:09:12 +08:00
|
|
|
src/conf/snapshot_conf.c
|
2017-03-10 20:32:46 +08:00
|
|
|
src/conf/storage_adapter_conf.c
|
2009-09-17 00:26:27 +08:00
|
|
|
src/conf/storage_conf.c
|
2013-01-02 23:38:51 +08:00
|
|
|
src/conf/virchrdev.c
|
2015-07-17 17:11:23 +08:00
|
|
|
src/conf/virdomainobjlist.c
|
2017-03-08 23:25:24 +08:00
|
|
|
src/conf/virnetworkobj.c
|
2017-03-01 02:24:26 +08:00
|
|
|
src/conf/virnodedeviceobj.c
|
2017-03-01 06:37:15 +08:00
|
|
|
src/conf/virnwfilterobj.c
|
2017-06-02 06:44:06 +08:00
|
|
|
src/conf/virsavecookie.c
|
2016-04-20 04:05:38 +08:00
|
|
|
src/conf/virsecretobj.c
|
2017-03-08 04:18:01 +08:00
|
|
|
src/conf/virstorageobj.c
|
Adds CPU selection infrastructure
Each driver supporting CPU selection must fill in host CPU capabilities.
When filling them, drivers for hypervisors running on the same node as
libvirtd can use cpuNodeData() to obtain raw CPU data. Other drivers,
such as VMware, need to implement their own way of getting such data.
Raw data can be decoded into virCPUDefPtr using cpuDecode() function.
When implementing virConnectCompareCPU(), a hypervisor driver can just
call cpuCompareXML() function with host CPU capabilities.
For each guest for which a driver supports selecting CPU models, it must
set the appropriate feature in guest's capabilities:
virCapabilitiesAddGuestFeature(guest, "cpuselection", 1, 0)
Actions needed when a domain is being created depend on whether the
hypervisor understands raw CPU data (currently CPUID for i686, x86_64
architectures) or symbolic names has to be used.
Typical use by hypervisors which prefer CPUID (such as VMware and Xen):
- convert guest CPU configuration from domain's XML into a set of raw
data structures each representing one of the feature policies:
cpuEncode(conn, architecture, guest_cpu_config,
&forced_data, &required_data, &optional_data,
&disabled_data, &forbidden_data)
- create a mask or whatever the hypervisor expects to see and pass it
to the hypervisor
Typical use by hypervisors with symbolic model names (such as QEMU):
- get raw CPU data for a computed guest CPU:
cpuGuestData(conn, host_cpu, guest_cpu_config, &data)
- decode raw data into virCPUDefPtr with a possible restriction on
allowed model names:
cpuDecode(conn, guest, data, n_allowed_models, allowed_models)
- pass guest->model and guest->features to the hypervisor
* src/cpu/cpu.c src/cpu/cpu.h src/cpu/cpu_generic.c
src/cpu/cpu_generic.h src/cpu/cpu_map.c src/cpu/cpu_map.h
src/cpu/cpu_x86.c src/cpu/cpu_x86.h src/cpu/cpu_x86_data.h
* configure.in: check for CPUID instruction
* src/Makefile.am: glue the new files in
* src/libvirt_private.syms: add new private symbols
* po/POTFILES.in: add new cpu files containing translatable strings
2009-12-18 23:02:11 +08:00
|
|
|
src/cpu/cpu.c
|
2016-06-23 21:27:07 +08:00
|
|
|
src/cpu/cpu_arm.c
|
Adds CPU selection infrastructure
Each driver supporting CPU selection must fill in host CPU capabilities.
When filling them, drivers for hypervisors running on the same node as
libvirtd can use cpuNodeData() to obtain raw CPU data. Other drivers,
such as VMware, need to implement their own way of getting such data.
Raw data can be decoded into virCPUDefPtr using cpuDecode() function.
When implementing virConnectCompareCPU(), a hypervisor driver can just
call cpuCompareXML() function with host CPU capabilities.
For each guest for which a driver supports selecting CPU models, it must
set the appropriate feature in guest's capabilities:
virCapabilitiesAddGuestFeature(guest, "cpuselection", 1, 0)
Actions needed when a domain is being created depend on whether the
hypervisor understands raw CPU data (currently CPUID for i686, x86_64
architectures) or symbolic names has to be used.
Typical use by hypervisors which prefer CPUID (such as VMware and Xen):
- convert guest CPU configuration from domain's XML into a set of raw
data structures each representing one of the feature policies:
cpuEncode(conn, architecture, guest_cpu_config,
&forced_data, &required_data, &optional_data,
&disabled_data, &forbidden_data)
- create a mask or whatever the hypervisor expects to see and pass it
to the hypervisor
Typical use by hypervisors with symbolic model names (such as QEMU):
- get raw CPU data for a computed guest CPU:
cpuGuestData(conn, host_cpu, guest_cpu_config, &data)
- decode raw data into virCPUDefPtr with a possible restriction on
allowed model names:
cpuDecode(conn, guest, data, n_allowed_models, allowed_models)
- pass guest->model and guest->features to the hypervisor
* src/cpu/cpu.c src/cpu/cpu.h src/cpu/cpu_generic.c
src/cpu/cpu_generic.h src/cpu/cpu_map.c src/cpu/cpu_map.h
src/cpu/cpu_x86.c src/cpu/cpu_x86.h src/cpu/cpu_x86_data.h
* configure.in: check for CPUID instruction
* src/Makefile.am: glue the new files in
* src/libvirt_private.syms: add new private symbols
* po/POTFILES.in: add new cpu files containing translatable strings
2009-12-18 23:02:11 +08:00
|
|
|
src/cpu/cpu_map.c
|
2015-07-20 20:17:52 +08:00
|
|
|
src/cpu/cpu_ppc64.c
|
2016-12-19 03:22:21 +08:00
|
|
|
src/cpu/cpu_s390.c
|
Adds CPU selection infrastructure
Each driver supporting CPU selection must fill in host CPU capabilities.
When filling them, drivers for hypervisors running on the same node as
libvirtd can use cpuNodeData() to obtain raw CPU data. Other drivers,
such as VMware, need to implement their own way of getting such data.
Raw data can be decoded into virCPUDefPtr using cpuDecode() function.
When implementing virConnectCompareCPU(), a hypervisor driver can just
call cpuCompareXML() function with host CPU capabilities.
For each guest for which a driver supports selecting CPU models, it must
set the appropriate feature in guest's capabilities:
virCapabilitiesAddGuestFeature(guest, "cpuselection", 1, 0)
Actions needed when a domain is being created depend on whether the
hypervisor understands raw CPU data (currently CPUID for i686, x86_64
architectures) or symbolic names has to be used.
Typical use by hypervisors which prefer CPUID (such as VMware and Xen):
- convert guest CPU configuration from domain's XML into a set of raw
data structures each representing one of the feature policies:
cpuEncode(conn, architecture, guest_cpu_config,
&forced_data, &required_data, &optional_data,
&disabled_data, &forbidden_data)
- create a mask or whatever the hypervisor expects to see and pass it
to the hypervisor
Typical use by hypervisors with symbolic model names (such as QEMU):
- get raw CPU data for a computed guest CPU:
cpuGuestData(conn, host_cpu, guest_cpu_config, &data)
- decode raw data into virCPUDefPtr with a possible restriction on
allowed model names:
cpuDecode(conn, guest, data, n_allowed_models, allowed_models)
- pass guest->model and guest->features to the hypervisor
* src/cpu/cpu.c src/cpu/cpu.h src/cpu/cpu_generic.c
src/cpu/cpu_generic.h src/cpu/cpu_map.c src/cpu/cpu_map.h
src/cpu/cpu_x86.c src/cpu/cpu_x86.h src/cpu/cpu_x86_data.h
* configure.in: check for CPUID instruction
* src/Makefile.am: glue the new files in
* src/libvirt_private.syms: add new private symbols
* po/POTFILES.in: add new cpu files containing translatable strings
2009-12-18 23:02:11 +08:00
|
|
|
src/cpu/cpu_x86.c
|
2016-11-10 20:20:26 +08:00
|
|
|
src/datatypes.c
|
2010-05-20 14:59:01 +08:00
|
|
|
src/driver.c
|
2010-04-03 03:34:31 +08:00
|
|
|
src/esx/esx_driver.c
|
2012-08-06 04:11:50 +08:00
|
|
|
src/esx/esx_network_driver.c
|
2012-11-10 15:18:08 +08:00
|
|
|
src/esx/esx_storage_backend_iscsi.c
|
2012-11-10 15:18:07 +08:00
|
|
|
src/esx/esx_storage_backend_vmfs.c
|
2010-05-19 00:11:59 +08:00
|
|
|
src/esx/esx_storage_driver.c
|
2014-03-31 02:37:00 +08:00
|
|
|
src/esx/esx_stream.c
|
2010-04-03 03:34:31 +08:00
|
|
|
src/esx/esx_util.c
|
|
|
|
src/esx/esx_vi.c
|
|
|
|
src/esx/esx_vi_methods.c
|
|
|
|
src/esx/esx_vi_types.c
|
2011-07-13 22:47:01 +08:00
|
|
|
src/hyperv/hyperv_driver.c
|
2011-07-13 23:16:47 +08:00
|
|
|
src/hyperv/hyperv_util.c
|
2011-07-13 23:05:19 +08:00
|
|
|
src/hyperv/hyperv_wmi.c
|
2012-09-18 09:27:06 +08:00
|
|
|
src/interface/interface_backend_netcf.c
|
2012-10-07 03:20:25 +08:00
|
|
|
src/interface/interface_backend_udev.c
|
2010-04-17 01:21:10 +08:00
|
|
|
src/internal.h
|
2015-04-15 22:16:24 +08:00
|
|
|
src/libvirt-admin.c
|
backup: Introduce virDomainCheckpoint APIs
Introduce a bunch of new public APIs related to backup checkpoints.
Checkpoints are modeled heavily after virDomainSnapshotPtr (both
represent a point in time of the guest), although a snapshot exists
with the intent of rolling back to that state, while a checkpoint
exists to make it possible to create an incremental backup at a later
time. We may have a future hypervisor that can completely manage
checkpoints without libvirt metadata, but the first two planned
hypervisors (qemu and test) both always use libvirt for tracking
metadata relations between checkpoints, so for now, I've deferred
the counterpart of virDomainSnapshotHasMetadata for a separate
API addition at a later date if there is ever a need for it.
Note that until we allow snapshots and checkpoints to exist
simultaneously on the same domain (although the actual prevention of
this will be in a separate patch for the sake of an easier revert down
the road), that it is not possible to branch out to create more than
one checkpoint child to a given parent, although it may become
possible later when we revert to a snapshot that coincides with a
checkpoint. This also means that for now, the decision of which
checkpoint becomes the parent of a newly created one is the only
checkpoint with no child (so while there are APIs for dealing with a
current snapshot, we do not need those for checkpoints). We may end
up exposing a notion of a current checkpoint later, but it's easier to
add stuff when proven needed than to blindly support it now and wish
we hadn't exposed it.
The following map shows the API relations to snapshots, with new APIs
on the right:
Operate on a domain object to create/redefine a child:
virDomainSnapshotCreateXML virDomainCheckpointCreateXML
Operate on a child object for lifetime management:
virDomainSnapshotDelete virDomainCheckpointDelete
virDomainSnapshotFree virDomainCheckpointFree
virDomainSnapshotRef virDomainCheckpointRef
Operate on a child object to learn more about it:
virDomainSnapshotGetXMLDesc virDomainCheckpointGetXMLDesc
virDomainSnapshotGetConnect virDomainCheckpointGetConnect
virDomainSnapshotGetDomain virDomainCheckpointGetDomain
virDomainSnapshotGetName virDomainCheckpiontGetName
virDomainSnapshotGetParent virDomainCheckpiontGetParent
virDomainSnapshotHasMetadata (deferred for later)
virDomainSnapshotIsCurrent (no counterpart, see note above)
Operate on a domain object to list all children:
virDomainSnapshotNum (no counterparts, these are the old
virDomainSnapshotListNames racy interfaces)
virDomainSnapshotListAllSnapshots virDomainListAllCheckpoints
Operate on a child object to list descendents:
virDomainSnapshotNumChildren (no counterparts, these are the old
virDomainSnapshotListChildrenNames racy interfaces)
virDomainSnapshotListAllChildren virDomainCheckpointListAllChildren
Operate on a domain to locate a particular child:
virDomainSnapshotLookupByName virDomainCheckpointLookupByName
virDomainSnapshotCurrent (no counterpart, see note above)
virDomainHasCurrentSnapshot (no counterpart, old racy interface)
Operate on a snapshot to roll back to earlier state:
virDomainSnapshotRevert (no counterpart, instead checkpoints
are used in incremental backups via
XML to virDomainBackupBegin)
Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
2019-03-14 03:35:26 +08:00
|
|
|
src/libvirt-domain-checkpoint.c
|
2014-10-22 23:29:09 +08:00
|
|
|
src/libvirt-domain-snapshot.c
|
2016-04-11 00:58:53 +08:00
|
|
|
src/libvirt-domain.c
|
2014-10-22 23:29:09 +08:00
|
|
|
src/libvirt-host.c
|
2013-03-13 01:24:01 +08:00
|
|
|
src/libvirt-lxc.c
|
2014-10-22 23:29:09 +08:00
|
|
|
src/libvirt-network.c
|
2016-07-28 20:02:50 +08:00
|
|
|
src/libvirt-nodedev.c
|
2014-10-22 23:29:09 +08:00
|
|
|
src/libvirt-nwfilter.c
|
2016-04-10 02:02:49 +08:00
|
|
|
src/libvirt-qemu.c
|
2014-10-22 23:29:09 +08:00
|
|
|
src/libvirt-secret.c
|
2014-10-22 23:29:09 +08:00
|
|
|
src/libvirt-storage.c
|
2014-10-22 23:29:09 +08:00
|
|
|
src/libvirt-stream.c
|
2016-04-11 00:58:53 +08:00
|
|
|
src/libvirt.c
|
2016-03-05 02:35:20 +08:00
|
|
|
src/libxl/libxl_capabilities.c
|
2016-04-10 02:02:49 +08:00
|
|
|
src/libxl/libxl_conf.c
|
|
|
|
src/libxl/libxl_domain.c
|
|
|
|
src/libxl/libxl_driver.c
|
|
|
|
src/libxl/libxl_migration.c
|
2012-08-03 03:06:50 +08:00
|
|
|
src/locking/lock_daemon.c
|
2012-08-03 17:27:07 +08:00
|
|
|
src/locking/lock_daemon_dispatch.c
|
2011-07-07 00:30:08 +08:00
|
|
|
src/locking/lock_driver_lockd.c
|
2011-01-19 02:37:45 +08:00
|
|
|
src/locking/lock_driver_sanlock.c
|
2010-09-13 21:02:58 +08:00
|
|
|
src/locking/lock_manager.c
|
2012-09-18 19:41:26 +08:00
|
|
|
src/locking/sanlock_helper.c
|
2015-02-10 00:35:05 +08:00
|
|
|
src/logging/log_daemon.c
|
2015-11-03 19:01:21 +08:00
|
|
|
src/logging/log_daemon_dispatch.c
|
|
|
|
src/logging/log_handler.c
|
2015-11-03 19:09:25 +08:00
|
|
|
src/logging/log_manager.c
|
2012-07-13 19:21:27 +08:00
|
|
|
src/lxc/lxc_cgroup.c
|
2010-05-25 22:33:51 +08:00
|
|
|
src/lxc/lxc_conf.c
|
2016-04-10 02:02:49 +08:00
|
|
|
src/lxc/lxc_container.c
|
2009-09-17 00:26:27 +08:00
|
|
|
src/lxc/lxc_controller.c
|
2015-08-20 21:46:17 +08:00
|
|
|
src/lxc/lxc_domain.c
|
2009-09-17 00:26:27 +08:00
|
|
|
src/lxc/lxc_driver.c
|
2016-04-10 02:02:49 +08:00
|
|
|
src/lxc/lxc_fuse.c
|
|
|
|
src/lxc/lxc_hostdev.c
|
|
|
|
src/lxc/lxc_native.c
|
2012-07-13 19:39:29 +08:00
|
|
|
src/lxc/lxc_process.c
|
2009-09-17 00:26:27 +08:00
|
|
|
src/network/bridge_driver.c
|
2013-07-24 20:22:54 +08:00
|
|
|
src/network/bridge_driver_linux.c
|
Add helper program to create custom leases
Introduce helper program to catch events from dnsmasq and maintain a custom
lease file per network. It supports dhcpv4 and dhcpv6. The file is saved as
"<interface-name>.status".
Each lease contains the following info:
<expiry-time (epoch time)> <mac> <iaid> <ip-address> <hostname> <clientid>
Example of custom leases file content:
[
{
"iaid": "1221229",
"ip-address": "2001:db8:ca2:2:1::95",
"mac-address": "52:54:00:12:a2:6d",
"hostname": "Fedora20",
"client-id": "00:04:1a:c1:d9:6b:5a:0a:e2:bc:f8:4b:1e:37:2e:38:22:55",
"expiry-time": 1393244216
},
{
"ip-address": "192.168.150.208",
"mac-address": "52:54:00:11:56:b3",
"hostname": "Wani-PC",
"client-id": "01:52:54:00:11:56:b3",
"expiry-time": 1393244248
}
]
src/Makefile.am:
* Add options to compile the helper program
src/network/bridge_driver.c:
* Introduce networkDnsmasqLeaseFileNameCustom()
* Invoke helper program along with dnsmasq
* Delete the .status file when corresponding n/w is destroyed.
src/network/leaseshelper.c
* Helper program to create the custom lease file
2014-06-02 18:19:26 +08:00
|
|
|
src/network/leaseshelper.c
|
2009-09-17 00:26:27 +08:00
|
|
|
src/node_device/node_device_driver.c
|
2010-05-20 14:59:01 +08:00
|
|
|
src/node_device/node_device_hal.c
|
2009-11-13 05:48:24 +08:00
|
|
|
src/node_device/node_device_udev.c
|
2012-06-02 07:32:06 +08:00
|
|
|
src/nwfilter/nwfilter_dhcpsnoop.c
|
2010-03-26 01:46:09 +08:00
|
|
|
src/nwfilter/nwfilter_driver.c
|
|
|
|
src/nwfilter/nwfilter_ebiptables_driver.c
|
|
|
|
src/nwfilter/nwfilter_gentech_driver.c
|
2010-04-08 19:01:00 +08:00
|
|
|
src/nwfilter/nwfilter_learnipaddr.c
|
2009-09-17 00:26:27 +08:00
|
|
|
src/openvz/openvz_conf.c
|
|
|
|
src/openvz/openvz_driver.c
|
2012-05-15 23:27:08 +08:00
|
|
|
src/openvz/openvz_util.c
|
2009-07-27 05:53:34 +08:00
|
|
|
src/phyp/phyp_driver.c
|
2011-10-06 01:31:54 +08:00
|
|
|
src/qemu/qemu_agent.c
|
2016-02-16 23:24:35 +08:00
|
|
|
src/qemu/qemu_alias.c
|
2017-07-07 22:29:01 +08:00
|
|
|
src/qemu/qemu_block.c
|
2010-12-16 23:07:07 +08:00
|
|
|
src/qemu/qemu_capabilities.c
|
2010-12-17 00:10:54 +08:00
|
|
|
src/qemu/qemu_cgroup.c
|
2010-12-16 23:07:07 +08:00
|
|
|
src/qemu/qemu_command.c
|
2009-09-17 00:26:27 +08:00
|
|
|
src/qemu/qemu_conf.c
|
2016-04-10 02:02:49 +08:00
|
|
|
src/qemu/qemu_domain.c
|
2016-04-11 00:58:53 +08:00
|
|
|
src/qemu/qemu_domain_address.c
|
2009-09-17 00:26:27 +08:00
|
|
|
src/qemu/qemu_driver.c
|
2010-12-17 00:10:54 +08:00
|
|
|
src/qemu/qemu_hostdev.c
|
2010-12-17 00:10:54 +08:00
|
|
|
src/qemu/qemu_hotplug.c
|
2016-02-15 23:52:50 +08:00
|
|
|
src/qemu/qemu_interface.c
|
2011-01-31 18:47:03 +08:00
|
|
|
src/qemu/qemu_migration.c
|
2017-03-28 02:50:44 +08:00
|
|
|
src/qemu/qemu_migration_cookie.c
|
2018-02-21 21:18:03 +08:00
|
|
|
src/qemu/qemu_migration_params.c
|
2009-10-10 02:07:55 +08:00
|
|
|
src/qemu/qemu_monitor.c
|
2009-11-04 02:59:18 +08:00
|
|
|
src/qemu/qemu_monitor_json.c
|
2009-09-23 01:48:40 +08:00
|
|
|
src/qemu/qemu_monitor_text.c
|
2011-02-15 00:09:39 +08:00
|
|
|
src/qemu/qemu_process.c
|
2018-03-20 15:44:11 +08:00
|
|
|
src/qemu/qemu_qapi.c
|
2011-05-04 22:18:06 +08:00
|
|
|
src/remote/remote_client_bodies.h
|
2018-02-20 21:16:28 +08:00
|
|
|
src/remote/remote_daemon.c
|
|
|
|
src/remote/remote_daemon_config.c
|
|
|
|
src/remote/remote_daemon_dispatch.c
|
|
|
|
src/remote/remote_daemon_dispatch_stubs.h
|
|
|
|
src/remote/remote_daemon_dispatch_qemu_stubs.h
|
|
|
|
src/remote/remote_daemon_stream.c
|
2009-09-17 00:26:27 +08:00
|
|
|
src/remote/remote_driver.c
|
2011-09-22 19:40:00 +08:00
|
|
|
src/rpc/virkeepalive.c
|
2010-12-02 00:35:50 +08:00
|
|
|
src/rpc/virnetclient.c
|
|
|
|
src/rpc/virnetclientprogram.c
|
|
|
|
src/rpc/virnetclientstream.c
|
2015-03-16 22:02:41 +08:00
|
|
|
src/rpc/virnetdaemon.c
|
2016-11-09 22:28:35 +08:00
|
|
|
src/rpc/virnetlibsshsession.c
|
2010-12-07 01:03:22 +08:00
|
|
|
src/rpc/virnetmessage.c
|
2010-12-10 20:21:18 +08:00
|
|
|
src/rpc/virnetsaslcontext.c
|
2010-12-02 00:36:40 +08:00
|
|
|
src/rpc/virnetserver.c
|
|
|
|
src/rpc/virnetserverclient.c
|
|
|
|
src/rpc/virnetserverprogram.c
|
2012-08-09 19:54:54 +08:00
|
|
|
src/rpc/virnetserverservice.c
|
2016-04-10 02:02:49 +08:00
|
|
|
src/rpc/virnetsocket.c
|
2011-11-14 22:30:23 +08:00
|
|
|
src/rpc/virnetsshsession.c
|
2010-11-24 04:17:41 +08:00
|
|
|
src/rpc/virnettlscontext.c
|
2009-09-17 00:26:27 +08:00
|
|
|
src/secret/secret_driver.c
|
2009-10-08 22:34:22 +08:00
|
|
|
src/security/security_apparmor.c
|
Refactor the security drivers to simplify usage
The current security driver usage requires horrible code like
if (driver->securityDriver &&
driver->securityDriver->domainSetSecurityHostdevLabel &&
driver->securityDriver->domainSetSecurityHostdevLabel(driver->securityDriver,
vm, hostdev) < 0)
This pair of checks for NULL clutters up the code, making the driver
calls 2 lines longer than they really need to be. The goal of the
patchset is to change the calling convention to simply
if (virSecurityManagerSetHostdevLabel(driver->securityDriver,
vm, hostdev) < 0)
The first check for 'driver->securityDriver' being NULL is removed
by introducing a 'no op' security driver that will always be present
if no real driver is enabled. This guarentees driver->securityDriver
!= NULL.
The second check for 'driver->securityDriver->domainSetSecurityHostdevLabel'
being non-NULL is hidden in a new abstraction called virSecurityManager.
This separates the driver callbacks, from main internal API. The addition
of a virSecurityManager object, that is separate from the virSecurityDriver
struct also allows for security drivers to carry state / configuration
information directly. Thus the DAC/Stack drivers from src/qemu which
used to pull config from 'struct qemud_driver' can now be moved into
the 'src/security' directory and store their config directly.
* src/qemu/qemu_conf.h, src/qemu/qemu_driver.c: Update to
use new virSecurityManager APIs
* src/qemu/qemu_security_dac.c, src/qemu/qemu_security_dac.h
src/qemu/qemu_security_stacked.c, src/qemu/qemu_security_stacked.h:
Move into src/security directory
* src/security/security_stack.c, src/security/security_stack.h,
src/security/security_dac.c, src/security/security_dac.h: Generic
versions of previous QEMU specific drivers
* src/security/security_apparmor.c, src/security/security_apparmor.h,
src/security/security_driver.c, src/security/security_driver.h,
src/security/security_selinux.c, src/security/security_selinux.h:
Update to take virSecurityManagerPtr object as the first param
in all callbacks
* src/security/security_nop.c, src/security/security_nop.h: Stub
implementation of all security driver APIs.
* src/security/security_manager.h, src/security/security_manager.c:
New internal API for invoking security drivers
* src/libvirt.c: Add missing debug for security APIs
2010-11-18 04:26:30 +08:00
|
|
|
src/security/security_dac.c
|
2010-05-20 14:59:01 +08:00
|
|
|
src/security/security_driver.c
|
Add two new security label types
Curently security labels can be of type 'dynamic' or 'static'.
If no security label is given, then 'dynamic' is assumed. The
current code takes advantage of this default, and avoids even
saving <seclabel> elements with type='dynamic' to disk. This
means if you temporarily change security driver, the guests
can all still start.
With the introduction of sVirt to LXC though, there needs to be
a new default of 'none' to allow unconfined LXC containers.
This patch introduces two new security label types
- default: the host configuration decides whether to run the
guest with type 'none' or 'dynamic' at guest start
- none: the guest will run unconfined by security policy
The 'none' label type will obviously be undesirable for some
deployments, so a new qemu.conf option allows a host admin to
mandate confined guests. It is also possible to turn off default
confinement
security_default_confined = 1|0 (default == 1)
security_require_confined = 1|0 (default == 0)
* src/conf/domain_conf.c, src/conf/domain_conf.h: Add new
seclabel types
* src/security/security_manager.c, src/security/security_manager.h:
Set default sec label types
* src/security/security_selinux.c: Handle 'none' seclabel type
* src/qemu/qemu.conf, src/qemu/qemu_conf.c, src/qemu/qemu_conf.h,
src/qemu/libvirtd_qemu.aug: New security config options
* src/qemu/qemu_driver.c: Tell security driver about default
config
2012-01-25 22:12:52 +08:00
|
|
|
src/security/security_manager.c
|
2009-09-17 00:26:27 +08:00
|
|
|
src/security/security_selinux.c
|
2009-10-08 22:34:22 +08:00
|
|
|
src/security/virt-aa-helper.c
|
2010-11-17 03:01:37 +08:00
|
|
|
src/storage/parthelper.c
|
2009-09-17 00:26:27 +08:00
|
|
|
src/storage/storage_backend.c
|
|
|
|
src/storage/storage_backend_disk.c
|
|
|
|
src/storage/storage_backend_fs.c
|
2013-11-20 07:26:05 +08:00
|
|
|
src/storage/storage_backend_gluster.c
|
2009-09-17 00:26:27 +08:00
|
|
|
src/storage/storage_backend_iscsi.c
|
|
|
|
src/storage/storage_backend_logical.c
|
|
|
|
src/storage/storage_backend_mpath.c
|
2012-05-14 17:06:42 +08:00
|
|
|
src/storage/storage_backend_rbd.c
|
2009-09-17 00:26:27 +08:00
|
|
|
src/storage/storage_backend_scsi.c
|
2012-07-19 03:06:58 +08:00
|
|
|
src/storage/storage_backend_sheepdog.c
|
2017-01-17 22:10:57 +08:00
|
|
|
src/storage/storage_backend_vstorage.c
|
2014-07-21 22:38:42 +08:00
|
|
|
src/storage/storage_backend_zfs.c
|
2009-09-17 00:26:27 +08:00
|
|
|
src/storage/storage_driver.c
|
2017-01-12 01:04:15 +08:00
|
|
|
src/storage/storage_util.c
|
2009-09-17 00:26:27 +08:00
|
|
|
src/test/test_driver.c
|
2011-02-22 20:05:20 +08:00
|
|
|
src/util/iohelper.c
|
2013-06-07 16:37:25 +08:00
|
|
|
src/util/viralloc.c
|
2018-03-08 15:11:56 +08:00
|
|
|
src/util/virarptable.c
|
2011-07-12 03:42:15 +08:00
|
|
|
src/util/viraudit.c
|
2012-03-20 00:21:12 +08:00
|
|
|
src/util/virauth.c
|
2012-03-20 23:40:05 +08:00
|
|
|
src/util/virauthconfig.c
|
2013-08-19 22:08:24 +08:00
|
|
|
src/util/virbitmap.c
|
2014-06-27 15:23:13 +08:00
|
|
|
src/util/virbuffer.c
|
2012-12-03 23:03:47 +08:00
|
|
|
src/util/vircgroup.c
|
2013-07-15 22:53:13 +08:00
|
|
|
src/util/virclosecallbacks.c
|
2012-12-13 00:27:01 +08:00
|
|
|
src/util/vircommand.c
|
2012-12-13 00:35:35 +08:00
|
|
|
src/util/virconf.c
|
2014-03-05 20:34:10 +08:00
|
|
|
src/util/vircrypto.c
|
2012-04-19 22:34:35 +08:00
|
|
|
src/util/virdbus.c
|
2012-12-13 00:43:54 +08:00
|
|
|
src/util/virdnsmasq.c
|
2015-03-11 17:24:09 +08:00
|
|
|
src/util/virerror.c
|
|
|
|
src/util/virerror.h
|
2012-12-13 00:54:55 +08:00
|
|
|
src/util/vireventpoll.c
|
2017-05-22 14:38:24 +08:00
|
|
|
src/util/virfcp.c
|
2017-03-07 17:34:47 +08:00
|
|
|
src/util/virfdstream.c
|
2011-07-12 05:26:33 +08:00
|
|
|
src/util/virfile.c
|
2017-04-07 23:34:53 +08:00
|
|
|
src/util/virfilecache.c
|
2013-03-05 00:30:40 +08:00
|
|
|
src/util/virfirewall.c
|
2016-05-18 06:45:27 +08:00
|
|
|
src/util/virfirmware.c
|
2012-01-26 00:13:59 +08:00
|
|
|
src/util/virhash.c
|
2012-12-13 01:00:34 +08:00
|
|
|
src/util/virhook.c
|
2016-04-14 01:53:02 +08:00
|
|
|
src/util/virhostcpu.c
|
2014-03-01 14:28:59 +08:00
|
|
|
src/util/virhostdev.c
|
2016-04-14 01:53:02 +08:00
|
|
|
src/util/virhostmem.c
|
2012-01-21 01:49:32 +08:00
|
|
|
src/util/viridentity.c
|
2012-11-28 20:17:31 +08:00
|
|
|
src/util/virinitctl.c
|
2012-12-13 01:42:44 +08:00
|
|
|
src/util/viriptables.c
|
2014-03-19 23:03:11 +08:00
|
|
|
src/util/viriscsi.c
|
2012-12-13 01:53:50 +08:00
|
|
|
src/util/virjson.c
|
2012-03-17 00:29:49 +08:00
|
|
|
src/util/virkeyfile.c
|
2016-02-14 14:50:12 +08:00
|
|
|
src/util/virlease.c
|
Introduce an internal API for handling file based lockspaces
The previously introduced virFile{Lock,Unlock} APIs provide a
way to acquire/release fcntl() locks on individual files. For
unknown reason though, the POSIX spec says that fcntl() locks
are released when *any* file handle referring to the same path
is closed. In the following sequence
threadA: fd1 = open("foo")
threadB: fd2 = open("foo")
threadA: virFileLock(fd1)
threadB: virFileLock(fd2)
threadB: close(fd2)
you'd expect threadA to come out holding a lock on 'foo', and
indeed it does hold a lock for a very short time. Unfortunately
when threadB does close(fd2) this releases the lock associated
with fd1. For the current libvirt use case for virFileLock -
pidfiles - this doesn't matter since the lock is acquired
at startup while single threaded an never released until
exit.
To provide a more generally useful API though, it is necessary
to introduce a slightly higher level abstraction, which is to
be referred to as a "lockspace". This is to be provided by
a virLockSpacePtr object in src/util/virlockspace.{c,h}. The
core idea is that the lockspace keeps track of what files are
already open+locked. This means that when a 2nd thread comes
along and tries to acquire a lock, it doesn't end up opening
and closing a new FD. The lockspace just checks the current
list of held locks and immediately returns VIR_ERR_RESOURCE_BUSY.
NB, the API as it stands is designed on the basis that the
files being locked are not being otherwise opened and used
by the application code. One approach to using this API is to
acquire locks based on a hash of the filepath.
eg to lock /var/lib/libvirt/images/foo.img the application
might do
virLockSpacePtr lockspace = virLockSpaceNew("/var/lib/libvirt/imagelocks");
lockname = md5sum("/var/lib/libvirt/images/foo.img");
virLockSpaceAcquireLock(lockspace, lockname);
NB, in this example, the caller should ensure that the path
is canonicalized before calculating the checksum.
It is also possible to do locks directly on resources by
using a NULL lockspace directory and then using the file
path as the lock name eg
virLockSpacePtr lockspace = virLockSpaceNew(NULL);
virLockSpaceAcquireLock(lockspace, "/var/lib/libvirt/images/foo.img");
This is only safe to do though if no other part of the process
will be opening the files. This will be the case when this
code is used inside the soon-to-be-reposted virlockd daemon
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
2012-08-03 00:02:40 +08:00
|
|
|
src/util/virlockspace.c
|
2016-03-16 05:15:02 +08:00
|
|
|
src/util/virlog.c
|
2016-11-25 14:30:30 +08:00
|
|
|
src/util/virmacmap.c
|
2017-03-22 22:50:33 +08:00
|
|
|
src/util/virmdev.c
|
2016-04-11 00:58:53 +08:00
|
|
|
src/util/virnetdev.c
|
2012-11-16 19:37:51 +08:00
|
|
|
src/util/virnetdevbandwidth.c
|
Split bridge.h into three separate files
Following the renaming of the bridge management APIs, we can now
split the source file into 3 corresponding pieces
* src/util/virnetdev.c: APIs for any type of network interface
* src/util/virnetdevbridge.c: APIs for bridge interfaces
* src/util/virnetdevtap.c: APIs for TAP interfaces
* src/util/virnetdev.c, src/util/virnetdev.h,
src/util/virnetdevbridge.c, src/util/virnetdevbridge.h,
src/util/virnetdevtap.c, src/util/virnetdevtap.h: Copied
from bridge.{c,h}
* src/util/bridge.c, src/util/bridge.h: Split into 3 pieces
* src/lxc/lxc_driver.c, src/network/bridge_driver.c,
src/openvz/openvz_driver.c, src/qemu/qemu_command.c,
src/qemu/qemu_conf.h, src/uml/uml_conf.c, src/uml/uml_conf.h,
src/uml/uml_driver.c: Update #include directives
2011-11-02 21:41:58 +08:00
|
|
|
src/util/virnetdevbridge.c
|
2016-06-14 05:01:27 +08:00
|
|
|
src/util/virnetdevip.c
|
2011-11-03 01:11:02 +08:00
|
|
|
src/util/virnetdevmacvlan.c
|
2015-02-24 04:54:54 +08:00
|
|
|
src/util/virnetdevmidonet.c
|
2012-02-11 05:09:00 +08:00
|
|
|
src/util/virnetdevopenvswitch.c
|
Split bridge.h into three separate files
Following the renaming of the bridge management APIs, we can now
split the source file into 3 corresponding pieces
* src/util/virnetdev.c: APIs for any type of network interface
* src/util/virnetdevbridge.c: APIs for bridge interfaces
* src/util/virnetdevtap.c: APIs for TAP interfaces
* src/util/virnetdev.c, src/util/virnetdev.h,
src/util/virnetdevbridge.c, src/util/virnetdevbridge.h,
src/util/virnetdevtap.c, src/util/virnetdevtap.h: Copied
from bridge.{c,h}
* src/util/bridge.c, src/util/bridge.h: Split into 3 pieces
* src/lxc/lxc_driver.c, src/network/bridge_driver.c,
src/openvz/openvz_driver.c, src/qemu/qemu_command.c,
src/qemu/qemu_conf.h, src/uml/uml_conf.c, src/uml/uml_conf.h,
src/uml/uml_driver.c: Update #include directives
2011-11-02 21:41:58 +08:00
|
|
|
src/util/virnetdevtap.c
|
2013-10-02 18:16:14 +08:00
|
|
|
src/util/virnetdevveth.c
|
2011-11-03 01:11:02 +08:00
|
|
|
src/util/virnetdevvportprofile.c
|
2012-02-03 22:13:19 +08:00
|
|
|
src/util/virnetlink.c
|
Implement the core API to suspend/resume the host
Add the core functions that implement the functionality of the API.
Suspend is done by using an asynchronous mechanism so that we can return
the status to the caller before the host gets suspended. This asynchronous
operation is achieved by suspending the host in a separate thread of
execution. However, returning the status to the caller is only best-effort,
but not guaranteed.
To resume the host, an RTC alarm is set up (based on how long we want to
suspend) before suspending the host. When this alarm fires, the host
gets woken up.
Suspend-to-RAM operation on a host running Linux can take upto more than 20
seconds, depending on the load of the system. (Freezing of tasks, an operation
preceding any suspend operation, is given up after a 20 second timeout).
And Suspend-to-Disk can take even more time, considering the time required
for compaction, creating the memory image and writing it to disk etc.
So, we do not allow the user to specify a suspend duration of less than 60
seconds, to be on the safer side, since we don't want to prematurely declare
failure when we only had to wait for some more time.
2011-11-29 17:07:38 +08:00
|
|
|
src/util/virnodesuspend.c
|
2013-03-18 17:04:01 +08:00
|
|
|
src/util/virnuma.c
|
2013-01-10 01:37:27 +08:00
|
|
|
src/util/virobject.c
|
2012-12-13 22:52:25 +08:00
|
|
|
src/util/virpci.c
|
2016-03-28 21:30:28 +08:00
|
|
|
src/util/virperf.c
|
2011-07-07 00:12:26 +08:00
|
|
|
src/util/virpidfile.c
|
2013-08-22 21:27:19 +08:00
|
|
|
src/util/virpolkit.c
|
2013-01-09 23:11:50 +08:00
|
|
|
src/util/virportallocator.c
|
2012-09-25 01:10:37 +08:00
|
|
|
src/util/virprocess.c
|
2016-06-01 05:35:14 +08:00
|
|
|
src/util/virqemu.c
|
2012-02-10 12:51:47 +08:00
|
|
|
src/util/virrandom.c
|
2017-11-20 18:12:06 +08:00
|
|
|
src/util/virresctrl.c
|
2015-11-06 22:25:48 +08:00
|
|
|
src/util/virrotatingfile.c
|
2013-05-04 02:07:22 +08:00
|
|
|
src/util/virscsi.c
|
2017-01-24 03:48:12 +08:00
|
|
|
src/util/virscsihost.c
|
2016-11-22 11:58:17 +08:00
|
|
|
src/util/virscsivhost.c
|
2016-06-14 04:23:42 +08:00
|
|
|
src/util/virsecret.c
|
Split src/util/network.{c,h} into 5 pieces
The src/util/network.c file is a dumping ground for many different
APIs. Split it up into 5 pieces, along functional lines
- src/util/virnetdevbandwidth.c: virNetDevBandwidth type & helper APIs
- src/util/virnetdevvportprofile.c: virNetDevVPortProfile type & helper APIs
- src/util/virsocketaddr.c: virSocketAddr and APIs
- src/conf/netdev_bandwidth_conf.c: XML parsing / formatting
for virNetDevBandwidth
- src/conf/netdev_vport_profile_conf.c: XML parsing / formatting
for virNetDevVPortProfile
* src/util/network.c, src/util/network.h: Split into 5 pieces
* src/conf/netdev_bandwidth_conf.c, src/conf/netdev_bandwidth_conf.h,
src/conf/netdev_vport_profile_conf.c, src/conf/netdev_vport_profile_conf.h,
src/util/virnetdevbandwidth.c, src/util/virnetdevbandwidth.h,
src/util/virnetdevvportprofile.c, src/util/virnetdevvportprofile.h,
src/util/virsocketaddr.c, src/util/virsocketaddr.h: New pieces
* daemon/libvirtd.h, daemon/remote.c, src/conf/domain_conf.c,
src/conf/domain_conf.h, src/conf/network_conf.c,
src/conf/network_conf.h, src/conf/nwfilter_conf.h,
src/esx/esx_util.h, src/network/bridge_driver.c,
src/qemu/qemu_conf.c, src/rpc/virnetsocket.c,
src/rpc/virnetsocket.h, src/util/dnsmasq.h, src/util/interface.h,
src/util/iptables.h, src/util/macvtap.c, src/util/macvtap.h,
src/util/virnetdev.h, src/util/virnetdevtap.c,
tools/virsh.c: Update include files
2011-11-02 23:40:08 +08:00
|
|
|
src/util/virsocketaddr.c
|
2014-03-28 11:26:44 +08:00
|
|
|
src/util/virstorageencryption.c
|
2012-12-13 23:25:48 +08:00
|
|
|
src/util/virstoragefile.c
|
2018-01-25 17:35:46 +08:00
|
|
|
src/util/virstoragefilebackend.c
|
2014-01-23 17:28:29 +08:00
|
|
|
src/util/virstring.c
|
2012-12-13 23:31:53 +08:00
|
|
|
src/util/virsysinfo.c
|
2013-07-08 18:27:34 +08:00
|
|
|
src/util/virthreadjob.c
|
2016-02-27 00:48:03 +08:00
|
|
|
src/util/virthreadpool.c
|
2011-11-29 20:11:01 +08:00
|
|
|
src/util/virtime.c
|
2013-04-13 04:55:45 +08:00
|
|
|
src/util/virtpm.c
|
2012-01-03 06:03:19 +08:00
|
|
|
src/util/virtypedparam.c
|
2012-07-18 18:44:24 +08:00
|
|
|
src/util/viruri.c
|
2012-12-13 01:04:51 +08:00
|
|
|
src/util/virusb.c
|
2012-12-14 01:44:57 +08:00
|
|
|
src/util/virutil.c
|
2017-01-24 01:54:42 +08:00
|
|
|
src/util/virvhba.c
|
2012-12-14 02:13:21 +08:00
|
|
|
src/util/virxml.c
|
2016-04-11 00:58:53 +08:00
|
|
|
src/vbox/vbox_MSCOMGlue.c
|
|
|
|
src/vbox/vbox_XPCOMCGlue.c
|
2014-08-11 18:06:04 +08:00
|
|
|
src/vbox/vbox_common.c
|
2016-04-10 02:02:49 +08:00
|
|
|
src/vbox/vbox_driver.c
|
2014-10-02 11:30:35 +08:00
|
|
|
src/vbox/vbox_network.c
|
2014-05-19 20:47:31 +08:00
|
|
|
src/vbox/vbox_snapshot_conf.c
|
2016-04-10 02:02:49 +08:00
|
|
|
src/vbox/vbox_storage.c
|
2009-04-22 03:13:23 +08:00
|
|
|
src/vbox/vbox_tmpl.c
|
2010-12-17 18:28:20 +08:00
|
|
|
src/vmware/vmware_conf.c
|
|
|
|
src/vmware/vmware_driver.c
|
2010-12-22 05:39:55 +08:00
|
|
|
src/vmx/vmx.c
|
2016-04-10 02:02:49 +08:00
|
|
|
src/vz/vz_driver.c
|
|
|
|
src/vz/vz_sdk.c
|
|
|
|
src/vz/vz_utils.c
|
|
|
|
src/vz/vz_utils.h
|
2016-04-11 00:58:53 +08:00
|
|
|
src/xenapi/xenapi_driver.c
|
|
|
|
src/xenapi/xenapi_utils.c
|
|
|
|
src/xenconfig/xen_common.c
|
|
|
|
src/xenconfig/xen_xl.c
|
|
|
|
src/xenconfig/xen_xm.c
|
2014-09-10 21:52:48 +08:00
|
|
|
tests/virpolkittest.c
|
2012-10-21 10:29:51 +08:00
|
|
|
tools/libvirt-guests.sh.in
|
2019-03-14 05:04:51 +08:00
|
|
|
tools/virsh-checkpoint.c
|
2013-08-26 17:53:43 +08:00
|
|
|
tools/virsh-console.c
|
2016-04-10 02:02:49 +08:00
|
|
|
tools/virsh-domain-monitor.c
|
2016-04-11 00:58:53 +08:00
|
|
|
tools/virsh-domain.c
|
2012-05-17 23:08:53 +08:00
|
|
|
tools/virsh-edit.c
|
2012-07-23 14:37:50 +08:00
|
|
|
tools/virsh-host.c
|
2012-07-24 16:56:49 +08:00
|
|
|
tools/virsh-interface.c
|
2012-07-23 14:02:14 +08:00
|
|
|
tools/virsh-network.c
|
2012-07-23 15:08:39 +08:00
|
|
|
tools/virsh-nodedev.c
|
2012-07-23 14:15:55 +08:00
|
|
|
tools/virsh-nwfilter.c
|
2012-07-24 16:49:27 +08:00
|
|
|
tools/virsh-pool.c
|
2012-07-23 14:18:51 +08:00
|
|
|
tools/virsh-secret.c
|
2012-07-23 14:23:00 +08:00
|
|
|
tools/virsh-snapshot.c
|
2017-04-11 16:18:06 +08:00
|
|
|
tools/virsh-util.c
|
2012-07-24 16:44:49 +08:00
|
|
|
tools/virsh-volume.c
|
2016-04-11 00:58:53 +08:00
|
|
|
tools/virsh.c
|
2015-10-12 23:07:21 +08:00
|
|
|
tools/virt-admin.c
|
2017-02-25 00:27:56 +08:00
|
|
|
tools/virt-host-validate-bhyve.c
|
2012-01-11 01:31:21 +08:00
|
|
|
tools/virt-host-validate-common.c
|
|
|
|
tools/virt-host-validate-lxc.c
|
|
|
|
tools/virt-host-validate-qemu.c
|
2016-04-11 00:58:53 +08:00
|
|
|
tools/virt-host-validate.c
|
2013-08-08 23:36:31 +08:00
|
|
|
tools/virt-login-shell.c
|
2015-06-16 00:53:58 +08:00
|
|
|
tools/vsh.c
|
|
|
|
tools/vsh.h
|