1. 21 7月, 2009 9 次提交
    • D
      Activate the interface drivers, and cleanups · 909d647a
      Daniel Veillard 提交于
      * src/libvirt.c: activate the interface drivers
      * po/POTFILES.in: add the netcf driver as a source of localization strings
      * src/interface_driver.c: NETCF_ENOMEM -> VIR_ERR_NO_MEMORY mapping was
        breaking syntax checking
      909d647a
    • L
      Netcf based interface driver implementation · da4f146f
      Laine Stump 提交于
      * src/interface_driver.c src/interface_driver.h: the new driver
      * src/Makefile.am qemud/Makefile.am qemud/qemud.c: hook the new driver
        in the build system and get ti activated by the daemon
      * src/libvirt_private.syms: export needed symbols internally
      da4f146f
    • L
      Add a test interface driver · 3edbc2c4
      Laine Stump 提交于
      * test.c: includes an interface driver to the test framework
      3edbc2c4
    • D
      Remove trailing blank lines · d6fa6f3e
      Daniel Veillard 提交于
      d6fa6f3e
    • L
      Add interface object list manipulation functions · 846f6949
      Laine Stump 提交于
      * interface_conf.c interface_conf.h: utilities function usful for
        interface driver like the test interface driver
      846f6949
    • L
      virGetinterface matching of MAC and interface name · 9734c81f
      Laine Stump 提交于
      MAC address of a particular interface may change over time, and the
      reduced virInterface object (which contains just name and mac) needs
      to reflect these changes. Since we can't modify the mac address of an
      existing virInterface (some other thread may currently be using it) we
      just create a new virInterface, and let the old one die a dignified
      death when its refct goes to 0.
      * src/datatypes.c: fix the matching and lifetime of virInterface object
        accordingly
      9734c81f
    • L
      Add an error code for conflicting mac addresses · 6eeca586
      Laine Stump 提交于
      * include/libvirt/virterror.h src/virterror.c: if a driver's
        virInterfaceLookupByMACString() function finds more than one interface
        with the desired MAC Address, this new error is raised.
      6eeca586
    • J
      Fix an uninitialized variable in Unix socket open · b2fd033c
      Jun Koi 提交于
      * src/qemu_driver.c: qemudOpenMonitorUnix() had an uninitialized loop
        counter
      b2fd033c
    • D
      rpm spec cleanup and split off client only package · 7641c3c7
      Daniel Veillard 提交于
      * libvirt.spec.in: make a client rpm with shared libs, client binaries
        and resources needed by those, and a small number of fixes and
        cleanups in the spec file.
      7641c3c7
  2. 17 7月, 2009 19 次提交
  3. 16 7月, 2009 12 次提交
    • L
      Implement the new virinterface functions · d4ad29be
      Laine Stump 提交于
      * src/driver.h: add new driver functions virDrvNumOfDefinedInterfaces
        and virDrvListDefinedInterfaces
      * src/libvirt.c: implements the entry points, calling new driver
        functions
      * qemud/remote.c qemud/remote_dispatch_args.h qemud/remote_protocol.[chx]
        qemud/remote_dispatch_prototypes.h qemud/remote_dispatch_ret.h
        qemud/remote_dispatch_table.h src/remote_internal.c: implement the
        client/server side of the RPC
      d4ad29be
    • L
      Public API for new virInterface functions · 043c954e
      Laine Stump 提交于
      * include/libvirt/libvirt.h[.in]: adds signatures for the new exported
        functions virConnectNumOfDefinedInterfaces and
        virConnectListDefinedInterfaces
      * src/libvirt_public.syms: export the new symbols
      043c954e
    • D
      Fix configure flags in spec file · d3c236f9
      Daniel Veillard 提交于
      * libvirt.spec.in: we were still using deprecated configure switches
      d3c236f9
    • D
      Rename a bunch of internal methods to clarify their meaning · 5dd21f2a
      Daniel P. Berrange 提交于
      This renames a lot of the methods in the remote driver client
      to more accurately reflect their responsibility of IO handling
      vs message handling.
      5dd21f2a
    • D
      Simplify remote driver error reporting · d65707a5
      Daniel P. Berrange 提交于
      Remove redundant error reporting functions which obscured the
      filename/line number reporting. Removed code which created a
      virDomain/virNetwork object, since those are silently dropped
      in error reporting functions now
      
      * src/remote_internal.c: Remove error() and errorf() in favour of
       macros, and remove server_error in favour of direct call
      d65707a5
    • D
      Refactor message sending to allow code reuse for data streams · 9c9ed0f3
      Daniel P. Berrange 提交于
      Splits up the 'call' method moving generic IO code out into
      separate method to allow it to be easily reused for sending
      data streams
      
      * src/remote_internal.c: Split 'call' into two methods, the first
        with same name serializes a set of method arguments into a
        message, the second 'remoteIO' takes a pre-serialized messages,
        sends it and awaits a reply
      9c9ed0f3
    • D
      Refactor incoming message handling to prepare for data stream support · 7a61c138
      Daniel P. Berrange 提交于
      * src/remote_internal.c: Rename processCallRecvMsg to
        processCallDispatch, and move code specific to method replies
        into processCallDispatchReply, and rename processCallAsyncEvent
        to processCallDispatchMessage
      7a61c138
    • D
      Rename 'direction' to 'type' in remote_message_header · 27944fac
      Daniel P. Berrange 提交于
      The 'remote_message_header' struct has a mis-leadingly named
      field 'direction'. It is really a reflection of the type of
      message, and some types can be sent in either direction. Thus
      the field is more accurately named 'type'. No function change.
      
      * qemud/remote_protocol.x: Rename 'direction' to 'type' in
        'remote_message_header. Write better docs describing the
        message header field semantics & usage
      * qemud/remote_protocol.c, qemud/remote_protocol.h: Regenerate
      * qemud/remote.c, qemud/dispatch.c, src/remote_internal.c
        Update to reflect rename of 'direction' to 'type'
      27944fac
    • D
      Define an API for registering incoming message dispatch filters · caaa1b8f
      Daniel P. Berrange 提交于
      All incoming messages currently get routed to the generic method
      remoteDispatchClientRequest() for processing. To allow incoming
      data stream messages to bypass this and be routed to a specific
      location, a concept of dispatch filters is introduced.
      
      * qemud/qemud.h: Add a qemud_client_filter struct and a callback
        qemud_client_filter_func. Maintain a list of filters on every
        struct qemud_client
      * qemud/qemud.c: Move remoteDecodeClientMessageHeader() out of
        qemudWorker() into qemudDispatchClientRead(). Check registered
        message filters in qemudDispatchClientRead() to decide where
        to send incoming messages for dispatch.
      caaa1b8f
    • D
      Split out code for handling incoming method call messages · 47cab734
      Daniel P. Berrange 提交于
      The remoteDispatchClientRequest() method is currently hardwired to
      assume there is only one type of incoming message, a method call.
      To allow for alternate types of incoming messags, the code that is
      specific to method calls is being split into a separate method
      remoteDispatchClientCall
      
      * qemud/dispatch.c: Move method call specific code out into
        remoteDispatchClientCall. Add a helper remoteSerializeError
        for returning error messages to client
      47cab734
    • D
      Change the way client event loop watches are managed · af4dad0f
      Daniel P. Berrange 提交于
      The current qemudRegisterClientEvent() code is used both for
      registering the initial socket watch, and updating the already
      registered watch. This causes unneccessary complexity in alot
      of code which only cares about updating existing watches. The
      updating of a watch cannot ever fail, nor is a reference to the
      'qemud_server' object required.
      
      This introduces a new qemudUpdateClientEvent() method for that
      case, allowing the elimination of unneccessary error checking
      and removal of the server back-reference in struct qemud_client.
      
      * qemud/qemud.h: Remove 'server' field from struct qemud_client.
        Add qemudUpdateClientEvent() method. Remove 'update' param
        from qemudRegisterClientEvent method
      * qemud/dispatch.c, qemud/qemud.c, qemud/remote.c: Update alot
        of code to use qemudUpdateClientEvent() instead of
        qemudRegisterClientEvent(). Move more logic from remoteRelayDomainEvent
        into remoteDispatchDomainEventSend.
      af4dad0f
    • D
      Move queuing of RPC replies into dispatch code · c40e14b4
      Daniel P. Berrange 提交于
      This removes an assumption from qemudWorker() code that every
      incoming message will generate a reply.
      
      * qemud/dispatch.c: remoteDispatchClientRequest now has responsibility
        for queuing the reply message to the RPC call
      * qemud/qemud.c: Do not queue the RPC call reply in qemudWorker(),
        allowing remoteDispatchClientRequest() to take care of it
      c40e14b4