1. 06 11月, 2009 9 次提交
  2. 05 11月, 2009 10 次提交
    • M
      Ensure guestfwd address is IPv4 and various cleanups · 3023ec5e
      Matthew Booth 提交于
      * include/libvirt/virterror.h src/util/virterror.c: add a new error
        VIR_ERR_CONFIG_UNSUPPORTED for valid but unsupported configuration options
      * src/conf/domain_conf.c: Throw an error if guestfwd address isn't IPv4
        and cleanup a number of parsing return error values.
      3023ec5e
    • D
      Forgot test case on previous commit · bea92f96
      Daniel Veillard 提交于
      bea92f96
    • M
      Support for <channel> in domain and QEmu backend · af249ea4
      Matthew Booth 提交于
      allows the following to be specified in a domain:
      <channel type='pipe'>
        <source path='/tmp/guestfwd'/>
        <target type='guestfwd' address='10.0.2.1' port='4600'/>
      </channel>
      
      * proxy/Makefile.am: add network.c as dep of domain_conf.c
      * docs/schemas/domain.rng src/conf/domain_conf.[ch]: extend the domain
        schemas and the parsing/serialization side for the new construct
      
      QEmu support will add the following on the qemu command line:
       -chardev pipe,id=channel0,path=/tmp/guestfwd
       -net user,guestfwd=tcp:10.0.2.1:4600-chardev:channel0
      
      * src/qemu/qemu_conf.c: Add argument output for channel
      * tests/qemuxml2(argv|xml)test.c: Add test for <channel> domain syntax
      af249ea4
    • M
      Detect availability of QEMU -chardev CLI option · 74003968
      Matthew Booth 提交于
      * src/qemu/qemu_conf.h: defines a new QEMUD_CMD_FLAG_CHARDEV flag
      * src/qemu/qemu_conf.c: parse the output for -chardev and set flag
        appropriately
      74003968
    • M
      Allow character devices to have different target types · 89d549c3
      Matthew Booth 提交于
      A character device's target (it's interface in the guest) had only a
      single property: port. This patch is in preparation for adding targets
      which require other properties.
      Since this changes the conf type for character devices this affects
      a number of drivers:
      
      * src/conf/domain_conf.[ch] src/esx/esx_vmx.c src/qemu/qemu_conf.c
        src/qemu/qemu_driver.c src/uml/uml_conf.c src/uml/uml_driver.c
        src/vbox/vbox_tmpl.c src/xen/xend_internal.c src/xen/xm_internal.c:
        target properties are moved into a union in virDomainChrDef, and a
        targetType field is added to identify which union member should be
        used. All current code which touches a virDomainChrDef is updated both
        to use the new union field, and to populate targetType if necessary.
      89d549c3
    • R
      LXC allow container to have ethN interfaces · 8db32571
      Ryota Ozaki 提交于
      Current implementation of lxc driver creates vethN named
      interface(s) in the host and passes as it is to a container.
      The reason why it doesn't use ethN is due to the limitation
      that one namespace cannot have multiple iterfaces that have
      an identical name so that we give up creating ethN named
      interface in the host for the container.
      
      However, we should be able to allow the container to have
      ethN by changing the name after clone(CLONE_NEWNET).
      
      * src/lxc/lxc_container.c src/lxc/veth.c src/lxc/veth.h: do the clone
        and then renames interfaces eth0 ... ethN to keep the interface names
        familiar in the domain
      8db32571
    • R
      LXC cleanup deep indentation in lxcDomainSetAutostart · a9cb3548
      Ryota Ozaki 提交于
      * src/lxc/lxc_driver.c: refactor lxcDomainSetAutostart() to avoid deep
        indentation of the code
      a9cb3548
    • R
      LXC messages cleanup and fix lxcError · 24e3b35c
      Ryota Ozaki 提交于
      * src/lxc/lxc_container.c src/lxc/lxc_controller.c src/lxc/lxc_driver.c
        src/lxc/veth.c: most of cleanups are just capitalizing their messages
        though, some fixes wrong error messages and awkward indentations, and
        improves error messages.
      24e3b35c
    • R
      LXC fix wrong or out-of-date function descriptions · 15941b2b
      Ryota Ozaki 提交于
      * src/lxc/lxc_container.c src/lxc/lxc_controller.c src/lxc/lxc_driver.c
        src/lxc/veth.c: fix broken function comments
      15941b2b
    • C
      docs: <clock> property is 'offset', not 'sync' · 45bd290b
      Cole Robinson 提交于
      45bd290b
  3. 04 11月, 2009 20 次提交
    • G
      add MAC address based port filtering to qemu · 0aa72ac6
      Gerhard Stenzel 提交于
      * src/qemu/qemu.conf src/qemu/qemu_conf.c src/qemu/qemu_conf.h: there is
        a new config type option for mac filtering
      * src/qemu/qemu_bridge_filter.[ch]: new module for the ebtable entry points
      * src/qemu/qemu_driver.c: plug the MAC filtering at the right places
        in the domain life cycle
      * src/Makefile.am po/POTFILES.in: add the new module
      0aa72ac6
    • G
      New ebtables module wrapper · 1fc3816d
      Gerhard Stenzel 提交于
      * configure.in: look for ebtables binary location if present
      * src/Makefile.am: add the new module
      * src/util/ebtables.[ch]: new module and internal APIs around
        the ebtables binary
      * src/libvirt_private.syms: export the symbols only internally
      1fc3816d
    • C
      test: Implement virDomainPinVcpu · 104fdbf0
      Cole Robinson 提交于
      104fdbf0
    • C
      test: Implement virDomainGetVcpus · 07a107f0
      Cole Robinson 提交于
      07a107f0
    • C
      test: Update vcpu runtime info in SetVcpus · 08dce95a
      Cole Robinson 提交于
      08dce95a
    • C
      test: Use privateData to track running VM vcpu state · 667ce289
      Cole Robinson 提交于
      667ce289
    • C
      test: Break out wrapper for setting up started domain state. · 4e40aee2
      Cole Robinson 提交于
      This should be a no op for now, but we will use this function to set up
      transient state in the future.
      4e40aee2
    • C
      test: Fixes for SetVcpus · 7624b47d
      Cole Robinson 提交于
      - Implement DomainGetMaxVCPUs
      - Use GetMaxVCPUs to validate requested CPU amount
      - Deny the 'hotplug' for a running domain.
      7624b47d
    • C
      qemu: Remove compiled out localhost migration support · 2f511562
      Cole Robinson 提交于
      Pretty sure this would deadlock now that we have proper locking, so
      remove the code.
      2f511562
    • C
      storage: conf: Fix memory leak in encryption parsing · 030db0c2
      Cole Robinson 提交于
      030db0c2
    • C
      Various error reporting fixes · 4c44cdcc
      Cole Robinson 提交于
      - Don't duplicate SystemError
      - Use proper error code in domain_conf
      - Fix a broken error call in qemu_conf
      - Don't use VIR_ERR_ERROR in security driver (isn't a valid code in this case)
      4c44cdcc
    • C
      Improve error reporting for virConnectGetHostname calls · 517761fd
      Cole Robinson 提交于
      All drivers have copy + pasted inadequate error reporting which wraps
      util.c:virGetHostname. Move all error reporting to this function, and improve
      what we report.
      
      Changes from v1:
        Drop the driver wrappers around virGetHostname. This means we still need
        to keep the new conn argument to virGetHostname, but I think it's worth
        it.
      517761fd
    • L
      Fix improper error return in virInterfaceDefParseProtoIPvX · af1e2ede
      Laine Stump 提交于
      * src/conf/interface_conf.c: the code was erronously returning -1
        in the two functions if <dhcp> is not provided
      af1e2ede
    • L
      Make monitor type (miimon/arpmon) optional in bond xml · 46843985
      Laine Stump 提交于
      * src/conf/interface_conf.c: lack of one of these in the live xml output
        was causing the parse in virInterfaceDefParseBond() to fail
      46843985
    • L
      Fix virInterfaceIpDefPtr leak during virInterfaceIpDefFree · 23eaae9a
      Laine Stump 提交于
      * src/conf/interface_conf.c: forgot to free the structure itself
      23eaae9a
    • L
      Support for IPv6 / multiple addresses per interfaces · 3d4c1d94
      Laine Stump 提交于
      This patch updates the xml parsing and formatting, and the associated
      virInterfaceDef data structure to support IPv6, along the way adding
      support for multiple protocols per interface, and multiple IP
      addresses per protocol.
      * src/conf/interface_conf.[ch]: update the structures, code for parsing
        and serialization
      3d4c1d94
    • L
      Support reporting live interface IP/netmask · 753c6c9c
      Laine Stump 提交于
      This patch adds the flag VIR_INTERFACE_XML_INACTIVE to
      virInterfaceGetXMLDesc's flags. When it is*not* set (the default), the
      live interface info will be returned in the XML (in particular, the IP
      address(es) and netmask(s) will be retrieved by querying the interface
      directly, rather than  reporting what's in the config file). The
      backend of this is in netcf's ncf_if_xml_state() function.
      
      * configure.in libvirt.spec.in: requires netcf >= 0.1.3
      * include/libvirt/libvirt.h.in: adds flag VIR_INTERFACE_XML_INACTIVE
      * src/conf/interface_conf.c src/interface/netcf_driver.c src/libvirt.c:
        update the parsing and backend routines accordingly
      * tools/virsh.c: change interface edit to inactive definition and
        adds the inactive flag for interface dump
      753c6c9c
    • L
      Make startmode optional in toplevel interface definition · ef591ef7
      Laine Stump 提交于
      The minimal XML returned from ncf_if_xml_state() doesn't contain this
      attribute (which makes no sense in the case of reporting current
      status of the interface), and it was preventing it from passing
      through the parse/format step.
      
      * src/conf/interface_conf.[ch]: add a new virInterfaceStartMode value
        and modify loading/saving accordingly
      ef591ef7
    • D
      Move libvirtd event loop into background thread · 075bb5f1
      Daniel P. Berrange 提交于
      The virStateInitialize() call for starting up stateful drivers
      may require that the event loop is running already. This it is
      neccessary to start the event loop before this call. At the
      same time, network clients must not be processed until afte
      virStateInitialize has completed.
      
      The qemudListenUnix() and remoteListenTCP() methods must
      therefore not register file handle watches, merely open the
      network sockets & listen() on them. This means clients can
      connected and are queued, pending completion of initialization
      
      The qemudRunLoop() method is moved into a background thread
      that is started early to allow access to the event loop during
      driver initialization. The main process thread leader pretty
      much does nothing once the daemon is running, merely waits
      for the event loop thread to quit
      
      * daemon/libvirtd.c, daemon/libvirtd.h: Move event loop into
        a background thread
      * daemon/THREADING.txt: Rewrite docs to better reflect reality
      075bb5f1
    • D
      give up python interpreter lock before calling cb · 9ae8fa58
      Dan Kenigsberg 提交于
      suggested by danpb on irc, patch by danken fixed for proper C syntax
      
      * python/libvirt-override.c: on event callback release the python
        interpreter lock and take it again when coming back so that the
        callback can reinvoke libvirt.
      9ae8fa58
  4. 03 11月, 2009 1 次提交
    • L
      Allow NULL mac address in virGetInterface · 4728bad4
      Laine Stump 提交于
      There are places where an interface will not have a mac address, and netcf
      returns this as a NULL pointer rather than a pointer to an empty string.
      Rather than checking for this all over the place in libvirt, just save it
      in the virInterface object as an empty string.
      
      * src/datatypes.c: allow NULL mac in virGetInterface()
      4728bad4