[Libvir] 1/4 Additions to the public API

Richard W.M. Jones rjones at redhat.com
Fri Feb 22 11:07:15 UTC 2008


On Fri, Feb 22, 2008 at 10:47:44AM +0000, Mark McLoughlin wrote:
> On Fri, 2008-02-22 at 05:16 -0500, Daniel Veillard wrote:
> 
> > I also agree to some extend with Mark, the on disk
> > storage should probably go in the network description. But that's
> > orthogonal to the API side :)
> 
> 	Heh, no it's not orthogonal ... XML *is* the API for this kind of stuff
> across libvirt :-)

Sort of.  XML is used as a way to avoid making any ABI guarantees.

I had a look at the implementation of the network XML.  There are
three calls which matter:

  virNetworkDefineXML

    Define the network from the XML definition, but don't start it up.

    Saves the XML into a private directory so that it will be loaded
    when libvirtd restarts (and depending on the autostart setting may
    also be started up automatically).

    The current implementation always completely recreates the
    internal network definitions from scratch.

  virNetworkCreateXML

    Start up the network from the XML definition.

    As far as I can see, this doesn't persist the XML so the network
    will disappear after libvirtd is restarted.

    The current implementation always completely recreates the
    internal network definitions from scratch.

  virNetworkUndefine

    Stops the network.

    Deletes the config file and autostart setting from the private
    directory.

The first two calls need to be changed to look for incremental changes
in the XML, since its better to avoid fully restarting dnsmasq, and we
certainly don't want to try taking down the bridge.

Rich.

-- 
Emerging Technologies, Red Hat - http://et.redhat.com/~rjones/
Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod
Street, Windsor, Berkshire, SL4 1TE, United Kingdom.  Registered in
England and Wales under Company Registration No. 03798903




More information about the libvir-list mailing list