* qemud/iptables.[ch]: add code for managing iptables
rules.
* qemud/Makefile.am: add iptables.[ch].
* qemud/qemud.c: add and remove iptables rules as
appropriate.
* qemud/conf.c: when starting a guess, add a rule
allowing it to forward packets across the networks
bridge.
* qemud/internal.h: add iptables context ptr
* configure.in: add --with-iptables-dir and
--with-iptables-prefix to allow us to put our rules
in a chain with the given prefix and save the rules
in files in the given dir so as to integrate with
the proposed "service iptables restart" solution
in:
https://bugzilla.redhat.com/227011
* include/libvirt/libvirt.h.in, src/libvirt.c: add
virNetworkGetBridgeName() to allow finding out what
bridge to connect to in order to join a network.
* src/driver.h: add networkGetBridgeName() to vtable.
* qemud/protocol.h: add the request and reply to
the qemud protocol.
* qemud/dispatch.c, qemud/driver.[ch]: handle them
here.
* src/qemu_internal.c: implement GetBridgeName()
in the qemu driver.
* src/libvirt_sym.version: add new symbol.
* src/xend_internal.c, src/xm_internal.c: pass the
connection to virDomainParseXMLDesc()
* src/xml.[ch]: make virDomainParseXMLDesc accept
a virConnectPtr so that we can use it later to
lookup the bridge associated with a network
* tests/xml2sexprtest.c: just pass NULL here, it's
safe
* qemud/conf.c: add support for connecting a qemu
guest to a bridge using a tap device in order to
connect it to a virtual network.
* qemud/internal.h: add <interface type="network">
config and track tapfds so as to not close them
on exec.
* qemud/qemud.c: don't close tapfds on exec and
disconnect the iface when the guest shuts down.
* configure.in: add --disable-bridge-params, check
for libsysfs and various kernel headers
* bridge.[ch]: add code for managing bridges
* qemud/Makefile.am: add bridge.[ch] and link against
libsysfs if enabled.
* qemud/conf.c: add support for bridge config.
* qemud/internal.h: add various bridging bits
* qemud/qemud.c: implement qemudStartNetworkDaemon()
and qemudShutdownNetworkDaemon().
* qemud/conf.[ch]: implement parsing and saving network
configs.
* qemud/driver.c: flesh out the stubs
* qemud/internal.h: add networks list etc. to
struct qemud_server
* qemud/qemud.c: add qemudStartNetworkDaemon() and
qemudShutdownNetworkDaemon() stubs.
* qemud/qemud.c: Re-factor out qemudExec() so that it can
be used to launch dnsmasq.
* qemud/conf.c: don't return argc from qemudBuildCommandLine()
as exec() doesn't need it.
* qemud/conf.c: Re-factor bits of conf.c so that:
- qemudMakeConfigPath() can be re-used given another configDir
- split qemudEnsureConfigDir() out of qemudSaveConfig() so
that it may be re-used to create another configDir
- split qemudScanConfigDir() out so that qemudScanConfigs()
can scan multiple configDirs
* qemud/conf.c: handle an unspecified MAC address,
fix the argv freeing code in qemudBuildCommandLine()
and fix copy and paste error in qemudGenerateXML()
Note: potential ABI break here, but people should
only really be using virError structs returned from
libvirt itself.
* include/libvirt/virterror.h: add virNetwork
to virError
* src/internal.h, src/virterror.c: add network param
to __virRaiseError()
* src/conf.c, src/hash.c, src/libvirt.c, src/proxy_internal.c,
src/qemu_internal.c, src/sexpr.c, src/test.c, src/xen_internal.c,
src/xend_internal.c, src/xm_internal.c, src/xml.c, src/xmlrpc.c,
src/xs_internal.c: update.
* include/libvirt/libvirt.h.in: add the networks APIs
* include/libvirt/virterror.h: add some error codes
* src/driver.h: add network driver vtable
* src/hash.c: add networks hash
* src/internal.h: add virNetwork
* src/libvirt.c: hook up the APIs to the network
driver
* src/libvirt_sym.version: add the new APIs
* src/virterror.c: handle the new error codes
Issues pointed out by Karel Zak <kzak@redhat.com>
* src/virsh.c: fix up some syntax strings, use BUFSIZ
and free names returned from virConnectListDefinedDomains()
* src/internal.h: virDomain.handle refers to the "id"
in the API, so re-name to virDomain.id to avoid
confusion.
* src/hash.c, src/libvirt.c, src/proxy_internal.c, src/test.c,
src/xen_internal.c, src/xend_internal.c, src/xm_internal.c,
src/xml.c, src/xs_internal.c: update for rename.
had changed between version 1 and version 2 too, the leading domain
field disapeared since it goes in the including op. Fixes redhat
bugs #217370 and #217743
Daniel
include/libvirt/libvirt.h: preparing libvirt-0.1.9 release
* po/*.po: more updates and fix all the .po to not barf when msgfmt
tries to process them
Daniel
* include/libvirt/libvirt.h include/libvirt/libvirt.h.in src/driver.h
src/libvirt.c src/proxy_internal.c src/test.c src/virsh.c
src/xen_internal.c src/xend_internal.c src/xm_internal.c
src/xs_internal.c: added support for dumping core of domains
assuming a xend with the latest patch to do so.
Daniel
src/driver.h src/libvirt.c src/libvirt_sym.version
src/proxy_internal.c src/test.c src/xen_internal.c
src/xend_internal.c src/xml.c src/xml.h src/xs_internal.c:
intagrated patch from Michel Ponceau to add hot-plug devices
support to the API, integrated in driver API and fixed
a few small things. Still a TODO in src/xml.c about
moving xenstore direct accesses to a new routine.
Daniel
to the XML description and handle its serialization back and
forth between XML and S-Expr
* tests/sexpr2xmltest.c tests/xml2sexprtest.c
tests/sexpr2xmldata/sexpr2xml-curmem.*
tests/xml2sexprdata/xml2sexpr-curmem.*: added specific regression
tests for this, this didn't disturb any of the other tests.
Daniel