[libvirt] how do I stop libvirt futzing with my network configuration?

Daniel P. Berrange berrange at redhat.com
Mon Nov 30 10:02:21 UTC 2009

On Sat, Nov 28, 2009 at 10:41:58PM +0000, Nix wrote:
> On 28 Nov 2009, Ian Woodstock verbalised:
> > I suspect that's why libvirt won't let you connect to it, since
> > libvirt is looking for a "shared physical device" and there's not a
> > device in the bridge.
> Gah. So libvirt won't let me connect a bunch of devices to a bridge
> without that bridge being bridged to something already? So you
> can't have a pile of bridges with VMs on them *routed* to the rest of
> the net?

Please distinguish between libvirt & virt-manager. libvirt allows this
find - it is happy to connect VMs to any bridge device. virt-manager is
providing a higher level UI which only presents a smaller subset of the 
functionality. In this case is only supporting the libvirt managed NAT
mode, and bridging of a physical inteface.

An alternative to using virt-manager is to install your VMs using the
command line 'virt-install' tool which offers a much greater level of
functionality - in this case you'd be able to simply add

  --network bridge:linux-net

to the args when installing a VM to make it use your bridge. The 
virt-install manpage has lots of examples of all the other args.

> >> There's no iptables at all on this particular box (at least not yet,
> >> although it may turn up later on when I put Windows guests on here: I'm
> >> not having *them* running around free).
> >>
> >
> > So it sounds like the root of your issue now is that you're using
> > dummy network device.
> > Is that being done temporarily now because you don't have a network
> > plumbed in or is there some other use case?
> It was an emergency hack when I found virt-manager not noticing bridges
> that had nothing on them (it said 'not bridged'). I stuck the dummy
> device on it and it started working. However, this appears to have
> been transient.
> ... In the code, the only place where it checks if a bridge exists
> is in src/network/bridge_driver.c:networkFindActiveConfigs(), and
> it only bothers to check *that* if there's a config file in the
> NETWORK_STATE_DIR (/var/lib/libvirt/network):

Again the network driver here is libvirt's NAT based networking, not
regular physical device bridging. Yes, its a bad naming convention :-)

The physical interface management APIs are provided by the 'interface'
driver (ie the virsh iface-XXX commands).

|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

More information about the libvir-list mailing list