1. 23 11月, 2011 3 次提交
  2. 22 11月, 2011 1 次提交
    • S
      Export KVM Host Power Management capabilities · e352b164
      Srivatsa S. Bhat 提交于
      This patch exports KVM Host Power Management capabilities as XML so that
      higher-level systems management software can make use of these features
      available in the host.
      
      The script "pm-is-supported" (from pm-utils package) is run to discover if
      Suspend-to-RAM (S3) or Suspend-to-Disk (S4) is supported by the host.
      If either of them are supported, then a new tag "<power_management>" is
      introduced in the XML under the <host> tag.
      
      However in case the query to check for power management features succeeded,
      but the host does not support any such feature, then the XML will contain
      an empty <power_management/> tag. In the event that the PM query itself
      failed, the XML will not contain any "power_management" tag.
      
      To use this, new APIs could be implemented in libvirt to exploit power
      management features such as S3/S4.
      e352b164
  3. 19 11月, 2011 6 次提交
    • S
      Add documentation for VLAN filtering support · 83ac1893
      Stefan Berger 提交于
      Add documentation for the VLAN filtering support. Describe the XML attributes
      that are supported.
      Signed-off-by: NStefan Berger <stefanb@linux.vnet.ibm.com>
      83ac1893
    • S
      Add support for VLAN filtering · 8047c4bf
      Stefan Berger 提交于
      This patch adds support for filtering of VLAN (802.1Q) traffic to the
      parser and makes us of the ebtables support for VLAN filtering. This code
      now enables the filtering of traffic in chains with prefix 'vlan'.
      Signed-off-by: NStefan Berger <stefanb@linux.vnet.ibm.com>
      8047c4bf
    • S
      Extend NWFilter parameter parser to cope with lists of values · 89513286
      Stefan Berger 提交于
      This patch modifies the NWFilter parameter parser to support multiple
      elements with the same name and to internally build a list of items.
      An example of the XML looks like this:
      
              <parameter name='TEST' value='10.1.2.3'/>
              <parameter name='TEST' value='10.2.3.4'/>
              <parameter name='TEST' value='10.1.1.1'/>
      
      The list of values is then stored in the newly introduced data type
      virNWFilterVarValue.
      
      The XML formatter is also adapted to print out all items in alphabetical
      order sorted by 'name'.
      
      This patch also fixes a bug in the XML schema on the way.
      Signed-off-by: NStefan Berger <stefanb@linux.vnet.ibm.com>
      89513286
    • S
      Documentation about chains' priorities, lists of elements etc. · 1d8a00cd
      Stefan Berger 提交于
      This patch adds several aspects of documentation about the network filtering
      system:
      
      - chains, chains' priorities and chains' default priorities
      - talks about lists of elements, i.e., a variable assigned multiple values
        (part of already ACK-ed series)
      - already mentions the vlan, stp and mac chains added later on
        (https://www.redhat.com/archives/libvir-list/2011-October/msg01238.html)
      - mentions limitations of vlan filtering (when sent by VM) on Linux systems
       
      1d8a00cd
    • S
      Enable chains with names having a known prefix · ea7c73a7
      Stefan Berger 提交于
      This patch enables chains that have a known prefix in their name.
      Known prefixes are: 'ipv4', 'ipv6', 'arp', 'rarp'. All prefixes
      are also protocols that can be evaluated on the ebtables level.
      
      Following the prefix they will be automatically connected to an interface's
      'root' chain and jumped into following the protocol they evaluate, i.e.,
      a table 'arp-xyz' will be accessed from the root table using
      
      ebtables -t nat -A <iface root table> -p arp -j I-<ifname>-arp-xyz
      
      thus generating a 'root' chain like this one here:
      
      Bridge chain: libvirt-O-vnet0, entries: 5, policy: ACCEPT
      -p IPv4 -j O-vnet0-ipv4
      -p ARP -j O-vnet0-arp
      -p 0x8035 -j O-vnet0-rarp
      -p ARP -j O-vnet0-arp-xyz
      -j DROP 
      
      where the chain 'arp-xyz' is accessed for filtering of ARP packets.
      Signed-off-by: NStefan Berger <stefanb@linux.vnet.ibm.com>
      ea7c73a7
    • S
      Extend the filter XML to support priorities of chains · 2657822e
      Stefan Berger 提交于
      This patch extends the filter XML to support priorities of chains
      in the XML. An example would be:
      
      <filter name='allow-arpxyz' chain='arp-xyz' priority='200'>
      [...]
      </filter>
      
      The permitted values for priorities are [-1000, 1000].
      By setting the priority of a chain the order in which it is accessed
      from the interface root chain can be influenced.
      Signed-off-by: NStefan Berger <stefanb@linux.vnet.ibm.com>
      2657822e
  4. 18 11月, 2011 1 次提交
  5. 08 11月, 2011 1 次提交
    • D
      Release of libvirt-0.9.7 · ab4823a0
      Daniel Veillard 提交于
      * confiure.ac docs/news.html.in libvirt.spec.in: update for release
      * po/*.po*: update localizations and rebuilt
      ab4823a0
  6. 04 11月, 2011 1 次提交
  7. 03 11月, 2011 1 次提交
    • D
      Allow multiple consoles per virtual guest · 0873b688
      Daniel P. Berrange 提交于
      While Xen only has a single paravirt console, UML, and
      QEMU both support multiple paravirt consoles. The LXC
      driver can also be trivially made to support multiple
      consoles. This patch extends the XML to allow multiple
      <console> elements in the XML. It also makes the UML
      and QEMU drivers support this config.
      
      * src/conf/domain_conf.c, src/conf/domain_conf.h: Allow
        multiple <console> devices
      * src/lxc/lxc_driver.c, src/xen/xen_driver.c,
        src/xenxs/xen_sxpr.c, src/xenxs/xen_xm.c: Update for
        internal API changes
      * src/security/security_selinux.c, src/security/virt-aa-helper.c:
        Only label consoles that aren't a copy of the serial device
      * src/qemu/qemu_command.c, src/qemu/qemu_driver.c,
        src/qemu/qemu_process.c, src/uml/uml_conf.c,
        src/uml/uml_driver.c: Support multiple console devices
      * tests/qemuxml2xmltest.c, tests/qemuxml2argvtest.c: Extra
        tests for multiple virtio consoles. Set QEMU_CAPS_CHARDEV
        for all console /channel tests
      * tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-auto.args,
        tests/qemuxml2argvdata/qemuxml2argv-channel-virtio.args
        tests/qemuxml2argvdata/qemuxml2argv-console-virtio.args: Update
        for correct chardev syntax
      * tests/qemuxml2argvdata/qemuxml2argv-console-virtio-many.args,
        tests/qemuxml2argvdata/qemuxml2argv-console-virtio-many.xml: New
        test file
      0873b688
  8. 02 11月, 2011 2 次提交
    • M
      esx: Support folders in the path of vpx:// connection URIs · 23247a1e
      Matthias Bolte 提交于
      Allow the datacenter and compute resource parts of the path
      to be prefixed with folders. Therefore, the way the path is
      parsed has changed. Before, it was split in 2 or 3 items and
      the items' meanings were determined by their positions. Now
      the path can have 2 or more items and the the vCenter server
      is asked whether a folder, datacenter of compute resource
      with the specified name exists at the current hierarchy level.
      
      Before the datacenter and compute resource lookup automatically
      traversed folders during lookup. This is logic got removed
      and folders have to be specified explicitly.
      
      The proper datacenter path including folders is now used when
      accessing a datastore over HTTPS. This makes virsh dumpxml
      and define work for datacenters in folders.
      
      https://bugzilla.redhat.com/show_bug.cgi?id=732676
      23247a1e
    • E
      docs: fix typo in <disk>/<target> example · 20e4e987
      Eric Blake 提交于
      * docs/formatdomain.html.in: Use dev, not def.
      Reported by Alexander Biryukov.
      20e4e987
  9. 30 10月, 2011 1 次提交
  10. 29 10月, 2011 3 次提交
  11. 28 10月, 2011 3 次提交
    • D
      Extend RPC protocol to allow FD passing · b0f996a6
      Daniel P. Berrange 提交于
      Define two new RPC message types VIR_NET_CALL_WITH_FDS and
      VIR_NET_REPLY_WITH_FDS. These message types are equivalent
      to VIR_NET_CALL and VIR_NET_REPLY, except that between the
      message header, and payload there is a 32-bit integer field
      specifying how many file descriptors have been passed.
      
      The actual file descriptors are sent/recv'd out of band.
      
      * src/rpc/virnetmessage.c, src/rpc/virnetmessage.h,
        src/libvirt_private.syms: Add support for handling
        passed file descriptors
      * src/rpc/virnetprotocol.x: Extend protocol for FD
        passing
      b0f996a6
    • D
      Remove trailing whitespace from all xfig files · 5eb3df8b
      Daniel P. Berrange 提交于
      The 5th line of every xfig file has 'Letter   ' which
      annoys GITs trailing-whitespace commit hook. Hand edit
      the files to remove that trailing whitespace
      
      * docs/*.fig: Remove trailing whitespace
      5eb3df8b
    • D
      Add documentation about migration. · a7847844
      Daniel P. Berrange 提交于
      This adds a page documenting many aspects of migration:
      
       - The types of migration (managed direct, p2p, unmanaged direct)
       - Data transports (native, tunnelled)
       - Migration URIs
       - Config file handling
       - Example scenarios
      
      * libvirt.css: Rules for data tables and diagrams
      * Makefile.am: Include extra png/fig files
      * migration-managed-direct.fig, migration-managed-direct.png,
        migration-managed-direct.png, migration-managed-p2p.png,
        migration-native.fig, migration-native.png,
        migration-tunnel.fig, migration-tunnel.png,
        migration-unmanaged-direct.fig, migration-unmanaged-direct.png:
        Diagrams of migration
      * migration.html.in, sitemap.html.in: New migration doc
      a7847844
  12. 25 10月, 2011 2 次提交
  13. 21 10月, 2011 4 次提交
    • R
      docs: Document filesystem type='block' for LXC · 390645b3
      Ryota Ozaki 提交于
      Commit 77791dc0 allows LXC to use a host block device as a guest
      filesystem, but it isn't documented yet.
      390645b3
    • D
      support continue/return targets in nwfilter · a61e9ff6
      David L Stevens 提交于
      	This patch adds support for "continue" and "return" actions
      in filter rules.
      Signed-off-by: NDavid L Stevens <dlstevens@us.ibm.com>
      a61e9ff6
    • L
      docs: fix incorrect info about routed networks · 52e3b3d1
      Laine Stump 提交于
      In a recent expansion of the documentation on network forward modes, I
      incorrectly stated that incoming sessions to guests on routed networks
      were blocked. This is true for guests on NATed networks, but not
      routed. This patch corrects that error, and adds a pointer to the
      nwfilter page for those who do want to restrict incoming sessions to
      hosts on routed networks.
      52e3b3d1
    • E
      docs: document managed=yes of hostdev passthrough · 10d3272e
      Eric Blake 提交于
      Clarify some of the effects of managed passthrough <hostdev> devices;
      with recent changes (commit d0935478), a nodedev-reattach is only needed
      to pair up to an explicit nodedev-dettach (but beware that older
      virt-manager has a bug where it uses explicit nodedev-dettach under the
      hood when using the gui to hotplug a hostdev device).
      
      * docs/formatdomain.html.in: Mention reattach.
      * tools/virsh.pod (nodedev): Mention managed mode.
      10d3272e
  14. 19 10月, 2011 2 次提交
    • P
      documentation: trivial spelling fix · 58d26a8e
      Philipp Hahn 提交于
      Signed-off-by: NPhilipp Hahn <hahn@univention.de>
      58d26a8e
    • D
      Allow for URI aliases when connecting to libvirt · 777ffbd0
      Daniel P. Berrange 提交于
      This adds support for a libvirt client configuration file
      either /etc/libvirt/libvirt.conf for privileged clients,
      or $HOME/.libvirt/libvirt.conf for unprivileged clients.
      
      It allows one parameter
      
       uri_aliases = [
         "hail=qemu+ssh://root@hail.cloud.example.com/system",
         "sleet=qemu+ssh://root@sleet.cloud.example.com/system",
       ]
      
      Any call to virConnectOpen with a non-NULL URI will first
      attempt to match against the uri_aliases list. An application
      can disable this by using VIR_CONNECT_NO_ALIASES
      
      * docs/uri.html.in: Document URI aliases
      * include/libvirt/libvirt.h.in: Add VIR_CONNECT_NO_ALIASES
      * libvirt.spec.in, mingw32-libvirt.spec.in: Add /etc/libvirt/libvirt.conf
      * src/Makefile.am: Install default config file
      * src/libvirt.c: Add support for URI aliases
      * src/remote/remote_driver.c: Don't try to handle URIs
        with no scheme and which clearly are not paths
      * src/util/conf.c: Don't raise error on virConfFree(NULL)
      * src/xen/xen_driver.c: Don't raise error on URIs
        with no scheme
      777ffbd0
  15. 18 10月, 2011 1 次提交
    • J
      Add AHCI support to qemu driver · c1bc3d89
      Jim Fehlig 提交于
      Tested with multiple AHCI controllers and multiple disks attached
      to a controller. E.g.,
      
          <disk type='file' device='disk'>
            <driver name='qemu' type='raw'/>
            <source file='/var/lib/libvirt/images/test/disk0.raw'/>
            <target dev='sda' bus='sata'/>
            <address type='drive' controller='0' bus='0' unit='0'/>
          </disk>
          <disk type='file' device='disk'>
            <driver name='qemu' type='raw'/>
            <source file='/var/lib/libvirt/images/test/disk1.raw'/>
            <target dev='sdb' bus='sata'/>
            <address type='drive' controller='0' bus='0' unit='1'/>
          </disk>
          <disk type='file' device='disk'>
            <driver name='qemu' type='raw'/>
            <source file='/var/lib/libvirt/images/test/disk2.raw'/>
            <target dev='sdc' bus='sata'/>
            <address type='drive' controller='1' bus='0' unit='0'/>
          </disk>
          <controller type='sata' index='0'>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
          </controller>
          <controller type='sata' index='1'>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
          </controller>
      c1bc3d89
  16. 15 10月, 2011 1 次提交
    • L
      docs: fix network XML documentation · 4040ff66
      Laine Stump 提交于
      A few people have attempted to use the new forwarding modes with older
      versions of libvirt. The docs where the modes are described have
      always stated the minimum required libvirt version, but the examples
      at the end didn't, which I believe is what has caused the confusion.
      
      Similarly, the section on portgroups now has a version tag added at
      the beginning.
      
      I also noticed that there was no example of defining a <dns> hostname,
      so I added one, as well as making the domain name example more
      recognizable (by adding ".com" to the domain).
      4040ff66
  17. 13 10月, 2011 1 次提交
  18. 11 10月, 2011 2 次提交
    • E
      docs: fix html bug · de6431a3
      Eric Blake 提交于
      </space> doesn't exist.  Introduced in commit 4bb4109f.
      
      * docs/formatdomain.html.in: Use correct end tag.
      de6431a3
    • E
      maint: typo fixes · dbbe16c2
      Eric Blake 提交于
      I noticed a couple typos in recent commits, and fixed the remaining
      instances of them.
      
      * docs/internals/command.html.in: Fix spelling errors.
      * include/libvirt/libvirt.h.in (virConnectDomainEventCallback):
      Likewise.
      * python/libvirt-override.py (virEventAddHandle): Likewise.
      * src/lxc/lxc_container.c (lxcContainerChild): Likewise.
      * src/util/hash.c (virHashCreateFull): Likewise.
      * src/storage/storage_backend_logical.c
      (virStorageBackendLogicalMakeVol): Likewise.
      * src/esx/esx_driver.c (esxFormatVMXFileName): Likewise.
      * src/vbox/vbox_tmpl.c (vboxIIDIsEqual_v3_x): Likewise.
      dbbe16c2
  19. 07 10月, 2011 1 次提交
    • L
      qemu: add separate rerror_policy for disk errors · 4bb4109f
      Laine Stump 提交于
      Previously libvirt's disk device XML only had a single attribute,
      error_policy, to control both read and write error policy, but qemu
      has separate options for controlling read and write. In one case
      (enospc) a policy is allowed for write errors but not read errors.
      
      This patch adds a separate attribute that sets only the read error
      policy. If just error_policy is set, it will apply to both read and
      write error policy (previous behavior), but if the new rerror_policy
      attribute is set, it will override error_policy for read errors only.
      Possible values for rerror_policy are "stop", "report", and "ignore"
      ("report" is the qemu-controlled default for rerror_policy when
      error_policy isn't specified).
      
      For consistency, the value "report" has been added to the possible
      values for error_policy as well.
      4bb4109f
  20. 06 10月, 2011 1 次提交
  21. 04 10月, 2011 1 次提交
    • D
      Allow passing of command line args to LXC container · 652f8871
      Daniel P. Berrange 提交于
      When booting a virtual machine with a kernel/initrd it is possible
      to pass command line arguments using the <cmdline>...args...</cmdline>
      element in the guest XML. These appear to the kernel / init process
      in /proc/cmdline.
      
      When booting a container we do not have a custom /proc/cmdline,
      but we can easily set an environment variable for it. Ideally
      we could pass individual arguments to the init process as a
      regular set of 'char *argv[]' parameters, but that would involve
      libvirt parsing the <cmdline> XML text. This can easily be added
      later, even if we add the env variable now
      
      * docs/drvlxc.html.in: Document env variables passed to LXC
      * src/conf/domain_conf.c: Add <cmdline> to be parsed for
        guests of type='exe'
      * src/lxc/lxc_container.c: Set LIBVIRT_LXC_CMDLINE env var
      652f8871
  22. 01 10月, 2011 1 次提交
    • L
      qemu: make PCI multifunction support more manual · c329db71
      Laine Stump 提交于
      When support for was added for PCI multifunction cards (in commit
      9f8baf, first included in libvirt 0.9.3), it was done by always
      turning on the multifunction bit for all PCI devices. Since that time
      it has been realized that this is not an ideal solution, and that the
      multifunction bit must be selectively turned on. For example, see
      
        https://bugzilla.redhat.com/show_bug.cgi?id=728174
      
      and the discussion before and after
      
        https://www.redhat.com/archives/libvir-list/2011-September/msg01036.html
      
      This patch modifies multifunction support so that the multifunction=on
      option is only added to the qemu commandline for a device if its PCI
      <address> definition has the attribute "multifunction='on'", e.g.:
      
        <address type='pci' domain='0x0000' bus='0x00'
                 slot='0x04' function='0x0' multifunction='on'/>
      
      In practice, the multifunction bit should only be turned on if
      function='0' AND other functions will be used in the same slot - it
      usually isn't needed for functions 1-7 (although there are apparently
      some exceptions, e.g. the Intel X53 according to the QEMU source
      code), and should never be set if only function 0 will be used in the
      slot. The test cases have been changed accordingly to illustrate.
      
      With this patch in place, if a user attempts to assign multiple
      functions in a slot without setting the multifunction bit for function
      0, libvirt will issue an error when the domain is defined, and the
      define operation will fail. In the future, we may decide to detect
      this situation and automatically add multifunction=on to avoid the
      error; even then it will still be useful to have a manual method of
      turning on multifunction since, as stated above, there are some
      devices that excpect it to be turned on for all functions in a slot.
      
      A side effect of this patch is that attempts to use the same PCI
      address for two different devices will now log an error (previously
      this would cause the domain define operation to fail, but there would
      be no log message generated). Because the function doing this log was
      almost completely rewritten, I didn't think it worthwhile to make a
      separate patch for that fix (the entire patch would immediately be
      obsoleted).
      c329db71