On Tue, Sep 30, 2014 at 04:44:05PM +0100, Richard W.M. Jones wrote:
When using the libvirt backend, don't use the SLIRP. Use
qemu-bridge-helper via libvirt to give us a full network connection.
One consequence of this is that 'ping' works in virt-builder
--run-command.
Note unfortunately this does not fix virt-rescue (since it overrides
the default backend and uses 'direct' for various reasons).
---
src/launch-libvirt.c | 34 +++++++++++++---------------------
1 file changed, 13 insertions(+), 21 deletions(-)
diff --git a/src/launch-libvirt.c b/src/launch-libvirt.c
index 706ae38..50c3f9d 100644
--- a/src/launch-libvirt.c
+++ b/src/launch-libvirt.c
@@ -1236,6 +1236,19 @@ construct_libvirt_xml_devices (guestfs_h *g,
} end_element ();
} end_element ();
+ /* Connect to libvirt bridge virbr0 (see: RHBZ#1148012). */
+ if (g->enable_network) {
+ start_element ("interface") {
+ attribute ("type", "bridge");
+ start_element ("source") {
+ attribute ("bridge", "virbr0");
+ } end_element ();
+ start_element ("model") {
+ attribute ("type", "virtio");
+ } end_element ();
+ } end_element ();
+ }
+
} end_element (); /* </devices> */
Looks fine for a default config. I wonder if there's mileage in having
a LIBGUESTFS_LIBVIRT_BRIDGE env variable to override virbr0 ?
Regards,
Daniel
--
|:
http://berrange.com -o-
http://www.flickr.com/photos/dberrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|:
http://entangle-photo.org -o-
http://live.gnome.org/gtk-vnc :|