[Libvir] Virtual networking
Daniel P. Berrange
berrange at redhat.com
Mon Jan 22 16:02:15 UTC 2007
On Mon, Jan 22, 2007 at 02:46:11PM +0000, Mark McLoughlin wrote:
> # Dan's patches
> http://www.gnome.org/~markmc/code/libvirt-networking/libvirt-qemu-daemon.patch
> http://www.gnome.org/~markmc/code/libvirt-networking/libvirt-qemu-driver.patch
I've been very lame in not sending an update to these patches. I've updated them
to support TLS, protocol versioning, fixed size types on the wire & network
byte ordering on the wire. Shouldn't be too difficult to resolve though since I
think it'll only really impact your libvirt-network-qemu-stubs.patch file.
> #
> # Various fixes to Dan's patches
> #
> http://www.gnome.org/~markmc/code/libvirt-networking/libvirt-qemu-no-c99.patch
Based on IRC discussions I think we want to avoid both -std=gnu99 & -std=c99 from
the compiler flags. And just use appropriate feature macros like -D_XOPEN_SOURCE,
-D_SVID_SOURCE=1 as neccessary. In particular I'd like to avoid GNU specific bits
so we don't make life hard for Solaris / BSD guys.
> http://www.gnome.org/~markmc/code/libvirt-networking/libvirt-qemu-no-kqemu.patch
Hmm, yeah I imagine the build patched that flag out because of its license issues.
I gues I'll have to make a 'configure' check to see if -no-kqemu is available on a
particular host or not.
> http://www.gnome.org/~markmc/code/libvirt-networking/libvirt-qemu-transient.patch
That should not be neccessary in my latest patches - I fixed up the transient
domain cleanup stuff in a slightly different way.
> http://www.gnome.org/~markmc/code/libvirt-networking/libvirt-qemu-error-overwrite.patch
Looks good.
> http://www.gnome.org/~markmc/code/libvirt-networking/libvirt-qemu-free-xpath-ctxt.patch
Already fixed in latest code.
> # Some re-factoring for later
> http://www.gnome.org/~markmc/code/libvirt-networking/libvirt-qemud-refactor-exec.patch
Looks good, will merge that in my next QEMU patches.
> http://www.gnome.org/~markmc/code/libvirt-networking/libvirt-qemu-config-refactor.patch
Likewise, looks good.
> #
> # Misc libvirt fixes cleanups
> #
> http://www.gnome.org/~markmc/code/libvirt-networking/libvirt-unused-driver-method.patch
Yep, we've lived with that baggage for too long
> http://www.gnome.org/~markmc/code/libvirt-networking/libvirt-rename-handle-to-id.patch
Seems reasonable.
On the note of cleanup - theres a bucket load of code in xml.c and xend_internal.c
which is never called by anything which we should remove - it constantly confuses
me when i work on these two files to see all this code which turns out to be unused.
> # Add the basic networking API and
> # driver methods to support it
> http://www.gnome.org/~markmc/code/libvirt-networking/libvirt-network-api.patch
Looks sane in principle. Not reviewed the code in detail yet.
> # Add network support to virError
> http://www.gnome.org/~markmc/code/libvirt-networking/libvirt-network-error.patch
This one is troublesome because of the ABI issue. It'll cause issues with the
virResetError, virCopyLastError, virConnCopyLastError functions, if the caller
passes in an object they allocated themselves.
The only way it would not be a problem is if we can ensure that virNetworkErr
never gets set unless the caller has called one of the virNetworkXXX functions,
because by calling those we can know for sure they've been compiled against a
recent set of headers. It'd be a nasty hack though.
> # Add net-* commands to virsh
> http://www.gnome.org/~markmc/code/libvirt-networking/libvirt-network-virsh.patch
Looks sane in principle. Not reviewed the code in detail yet.
> #
> # Hook up to qemud
> #
> http://www.gnome.org/~markmc/code/libvirt-networking/libvirt-network-qemu-stubs.patch
Code looks sane, but will need a fixup to use fixed size types & network byte order.
> # Implement config parsing etc.
> http://www.gnome.org/~markmc/code/libvirt-networking/libvirt-network-config.patch
> # Add support for creating a bridge
> http://www.gnome.org/~markmc/code/libvirt-networking/libvirt-network-bridge.patch
> # Add support for starting dnsmasq
> http://www.gnome.org/~markmc/code/libvirt-networking/libvirt-network-dnsmasq.patch
Looks sane in principle. Not reviewed the code in detail yet.
Dan.
--
|=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=|
|=- Perl modules: http://search.cpan.org/~danberr/ -=|
|=- Projects: http://freshmeat.net/~danielpb/ -=|
|=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=|
More information about the libvir-list
mailing list